<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Diary on Ben&#39;s Blog</title>
    <link>https://jinpeng.cv/en/categories/diary/</link>
    <description>Recent content in Diary on Ben&#39;s Blog</description>
    <generator>Hugo -- 0.154.0</generator>
    <language>en</language>
    <copyright>©️ 2025 Ben</copyright>
    <lastBuildDate>Mon, 30 Mar 2026 23:43:53 -0600</lastBuildDate>
    <atom:link href="https://jinpeng.cv/en/categories/diary/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>2026-03-30</title>
      <link>https://jinpeng.cv/en/diary/2026/march/2026-03-30/</link>
      <pubDate>Mon, 30 Mar 2026 21:30:19 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/march/2026-03-30/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s been a long time since I last wrote a diary. I feel like what I write each day is rather trivial and hasn&amp;rsquo;t led to much improvement in my writing. I still need to read and imitate more to make progress.&lt;/p&gt;
&lt;p&gt;Through setting up AI tools, I got to know Opencode and then discovered Oh-my-opencode. I’ve started to truly understand and experience the pace of AI development today. It feels like someone living in the desert catching a glimpse of a forest. For someone like me who enjoys tinkering with tools, it&amp;rsquo;s incredibly friendly—I can ask Sisyphus and his partners to keep experimenting endlessly for me, freeing up time so I can focus on things that truly matter: doing homework, writing my diary.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It&rsquo;s been a long time since I last wrote a diary. I feel like what I write each day is rather trivial and hasn&rsquo;t led to much improvement in my writing. I still need to read and imitate more to make progress.</p>
<p>Through setting up AI tools, I got to know Opencode and then discovered Oh-my-opencode. I’ve started to truly understand and experience the pace of AI development today. It feels like someone living in the desert catching a glimpse of a forest. For someone like me who enjoys tinkering with tools, it&rsquo;s incredibly friendly—I can ask Sisyphus and his partners to keep experimenting endlessly for me, freeing up time so I can focus on things that truly matter: doing homework, writing my diary.</p>
<p>Learning to spend appropriately on AI is a very important investment. It can tirelessly help you experiment and explore.</p>
<p>I’m trying to start keeping my diary again, hoping to write some longer entries with more depth.</p>
<hr>
<p>Original (Chinese):</p>
<div class="encrypted-content" data-cipher="K645rKh5pyJ5YaZ5pel6K6w5LqG77yM6KeJ5b6X6Ieq5bex5q&#43;P5aSp5YaZ55qE6YO95piv5Lqb5pyJ55qE576O5rKh55qE77yM5YaZ5L2c5Lmf5rKh5pyJ5aSa5aSn55qE6L&#43;b5q2l44CC6L&#43;Y5piv5b6X5aSa5LiA5Lqb6L6T5YWl5ZKM5qih5Lu/5omN6KGM44CCPC9wPgo8cD7lm6DkuLrphY3nva4gQUkg5bel5YW36K6k6K&#43;G5LqGIE9wZW5jb2RlIOeEtuWQjuiupOivhuS6hiBPaC1teS1vcGVuY29kZS4g5byA5aeL55yf5q2j6K6k6K&#43;G5ZKM5o6l6Kem546w5ZyoIEFJIOeahOWPkeWxleiKguWlj&#43;&#43;8jOacieS4gOenjeaymea8oOS6uueqpeingeajruael&#43;eahOaEn&#43;inieOAguWvueS6juaIkeWWnOasouS4jeaWreaKmOiFvuW3peWFt&#43;i/meS4gOeZluWlveWunuWcqOWkquWPi&#43;WlveS6hu&#43;8jOaIkeWPr&#43;S7peWPq&#43;ilv&#43;ilv&#43;W8l&#43;aWr&#43;WSjOS7lueahOS8meS8tOWOu&#43;W4ruaIkeS4jeWBnOeahOaKmOiFvu&#43;8jOiAjOaIkeiHquW3seWImeWPr&#43;S7peiFvuWHuuaXtumXtOadpeWBmuS6m&#43;WvueiHquW3seecn&#43;ato&#43;acieeUqOeahOS6i&#43;aDhe&#43;8jOWGmeWGmeS9nOS4mu&#43;8jOWGmeWGmeaXpeiusOOAgjwvcD4KPHA&#43;5a2m5Lya6YCC5b2T55qE5ZyoIEFJIOS4iuiKsemSseaYr&#43;S4gOmhuemdnuW4uOmHjeimgeeahOaKlei1hOOAguS7luWPr&#43;S7peS4jeWOjOWFtueDpuWcsOW4ruS9oOaKmOiFvuOAgjwvcD4KPHA&#43;5bCd6K&#43;V5byA5aeL57un57ut5YaZ5pel6K6w5LqG77yM5biM5pyb5Y&#43;v5Lul5YaZ5LiA5Lqb5pu05pyJ5rex5bqm55qE6ZW/5paH44CCPC9wPgo=PHA&#43;65LmF" data-hint="中文版本" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 中文版本</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2026-03-18</title>
      <link>https://jinpeng.cv/en/diary/2026/march/2026-03-18/</link>
      <pubDate>Wed, 18 Mar 2026 22:55:49 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/march/2026-03-18/</guid>
      <description>&lt;p&gt;I went to the gym to exercise alone. Using the elliptical machine, I sweated a lot.&lt;/p&gt;
&lt;p&gt;I finished two assignments today: one is the FEM and the other is MINE 630.&lt;/p&gt;
&lt;p&gt;#Shiva came back for the convocation ceremony. We took some photos, like Jian did before. I gradually found some negative aspects in those who seem very good. Some people are easy to figure out; others take time.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Original (Chinese):&lt;br&gt;
&lt;div class=&#34;encrypted-content&#34; data-cipher=&#34;oiR6Ieq5Y675YGl6Lqr5oi/6ZS754K844CC5L2/55So5qSt5ZyG5py65pe277yM5oiR5Ye65LqG5b6I5aSa5rGX44CCPC9wPgo8cD7ku4rlpKnlrozmiJDkuobkuKTpobnkvZzkuJrvvJrkuIDkuKrmmK9GRU3vvIzlj6bkuIDkuKrmmK9NSU5FIDYzMOOAgjwvcD4KPGgxIGlkPSJzaGl2YeWbnuadpeWPguWKoOavleS4muWFuOekvOS6huaIkeS7rOaLjeS6huS4gOS6m&amp;#43;eFp&amp;#43;eJh&amp;#43;WwseWDj&amp;#43;S5i&amp;#43;WJjWppYW7kuIDmoLfmiJHpgJDmuJDlj5HnjrDpgqPkupvnnIvotbfmnaXlvojlpb3nmoTkurrkuZ/mnInkuIDkupvotJ/pnaLnmoTkuIDpnaLmnInkupvkurrlvojlrrnmmJPnnIvpgI/mnInkupvkurrliJnpnIDopoHml7bpl7QiPlNoaXZh5Zue5p2l5Y&amp;#43;C5Yqg5q&amp;#43;V5Lia5YW456S85LqG44CC5oiR5Lus5ouN5LqG5LiA5Lqb54Wn54mH77yM5bCx5YOP5LmL5YmNSmlhbuS4gOagt&amp;#43;OAguaIkemAkOa4kOWPkeeOsOmCo&amp;#43;S6m&amp;#43;eci&amp;#43;i1t&amp;#43;adpeW&amp;#43;iOWlveeahOS6uuS5n&amp;#43;acieS4gOS6m&amp;#43;i0n&amp;#43;mdoueahOS4gOmdouOAguacieS6m&amp;#43;S6uuW&amp;#43;iOWuueaYk&amp;#43;eci&amp;#43;mAj&amp;#43;&amp;#43;8m&amp;#43;acieS6m&amp;#43;S6uuWImemcgOimgeaXtumXtOOAgjwvaDE&amp;#43;Cg==PHA&amp;#43;554us&#34; data-hint=&#34;Content Here is Encrypted&#34; data-error=&#34;Password Error&#34;&gt;
  &lt;div class=&#34;locked-state&#34;&gt;
    &lt;p&gt;🔒 Content Here is Encrypted&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I went to the gym to exercise alone. Using the elliptical machine, I sweated a lot.</p>
<p>I finished two assignments today: one is the FEM and the other is MINE 630.</p>
<p>#Shiva came back for the convocation ceremony. We took some photos, like Jian did before. I gradually found some negative aspects in those who seem very good. Some people are easy to figure out; others take time.</p>
<hr>
<p>Original (Chinese):<br>
<div class="encrypted-content" data-cipher="oiR6Ieq5Y675YGl6Lqr5oi/6ZS754K844CC5L2/55So5qSt5ZyG5py65pe277yM5oiR5Ye65LqG5b6I5aSa5rGX44CCPC9wPgo8cD7ku4rlpKnlrozmiJDkuobkuKTpobnkvZzkuJrvvJrkuIDkuKrmmK9GRU3vvIzlj6bkuIDkuKrmmK9NSU5FIDYzMOOAgjwvcD4KPGgxIGlkPSJzaGl2YeWbnuadpeWPguWKoOavleS4muWFuOekvOS6huaIkeS7rOaLjeS6huS4gOS6m&#43;eFp&#43;eJh&#43;WwseWDj&#43;S5i&#43;WJjWppYW7kuIDmoLfmiJHpgJDmuJDlj5HnjrDpgqPkupvnnIvotbfmnaXlvojlpb3nmoTkurrkuZ/mnInkuIDkupvotJ/pnaLnmoTkuIDpnaLmnInkupvkurrlvojlrrnmmJPnnIvpgI/mnInkupvkurrliJnpnIDopoHml7bpl7QiPlNoaXZh5Zue5p2l5Y&#43;C5Yqg5q&#43;V5Lia5YW456S85LqG44CC5oiR5Lus5ouN5LqG5LiA5Lqb54Wn54mH77yM5bCx5YOP5LmL5YmNSmlhbuS4gOagt&#43;OAguaIkemAkOa4kOWPkeeOsOmCo&#43;S6m&#43;eci&#43;i1t&#43;adpeW&#43;iOWlveeahOS6uuS5n&#43;acieS4gOS6m&#43;i0n&#43;mdoueahOS4gOmdouOAguacieS6m&#43;S6uuW&#43;iOWuueaYk&#43;eci&#43;mAj&#43;&#43;8m&#43;acieS6m&#43;S6uuWImemcgOimgeaXtumXtOOAgjwvaDE&#43;Cg==PHA&#43;554us" data-hint="Content Here is Encrypted" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Content Here is Encrypted</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>
</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-03-11</title>
      <link>https://jinpeng.cv/en/diary/2026/march/2026-03-11/</link>
      <pubDate>Sun, 15 Mar 2026 22:50:05 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/march/2026-03-11/</guid>
      <description>&lt;p&gt;今天没课，写作业，写论文。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天没课，写作业，写论文。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-03-12</title>
      <link>https://jinpeng.cv/en/diary/2026/march/2026-03-12/</link>
      <pubDate>Sun, 15 Mar 2026 22:48:37 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/march/2026-03-12/</guid>
      <description>&lt;p&gt;今天只有一节课，因为另外两节课都因为他们去矿上参观取消了。&lt;/p&gt;
&lt;p&gt;今天做了佛手瓜炒肉，他们居然都没吃过这东西。这在我们哪儿可是叫洋瓜的。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天只有一节课，因为另外两节课都因为他们去矿上参观取消了。</p>
<p>今天做了佛手瓜炒肉，他们居然都没吃过这东西。这在我们哪儿可是叫洋瓜的。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-03-13</title>
      <link>https://jinpeng.cv/en/diary/2026/march/2026-03-13/</link>
      <pubDate>Sun, 15 Mar 2026 22:38:37 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/march/2026-03-13/</guid>
      <description>&lt;p&gt;今天没课，写了一整天的课程论文，最近作业好多啊。&lt;/p&gt;
&lt;p&gt;中午 Luis 叫我去参加一个活动，本来不想去的。但是看到刚好是 James 组织的活动，之前胡老师一直叫我去蹭饭学英语。一向拒绝的我便答应了 Luis。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天没课，写了一整天的课程论文，最近作业好多啊。</p>
<p>中午 Luis 叫我去参加一个活动，本来不想去的。但是看到刚好是 James 组织的活动，之前胡老师一直叫我去蹭饭学英语。一向拒绝的我便答应了 Luis。</p>
<p>一到 James 家我就后悔了，可多人了，一共有快四五十人，鞋子堆满了门口。大家都非常热情和友善，可我面对这种场合就会感觉有些难受。和几个人聊了一会之后，开始吃饭了。吃的非常丰富，也不难吃，意面，汉堡， 水果，沙拉，凉拌粉丝。吃完去楼下参加活动，参加完活动说不祈祷的可以上二楼去了。我坚持要求 Luis 留下，因为我想了解不同的文化。</p>
<p>他们先是一起唱了两首歌，这是我最平静和舒适的环节了。然后有人做演讲，中间一直穿插着一些浅显讨论，我最讨厌的环节。最后分享了几句圣经中的语录就结束了。然后开始上楼吃冰激凌和点心。</p>
<p>吃完就已经非常晚了，我们不得不回家了。Luis 和一个女孩聊着忘记了走，我直接给他把所有的东西拿好带他走了。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-03-15</title>
      <link>https://jinpeng.cv/en/diary/2026/march/2026-03-15/</link>
      <pubDate>Sun, 15 Mar 2026 22:30:39 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/march/2026-03-15/</guid>
      <description>&lt;p&gt;今天啥都没干，中午做了辣卤猪大骨，吃多了，给我吃腻了。&lt;/p&gt;
&lt;p&gt;下午的时候出去想换套餐，结果说没有 50 的 credit 了。然后作罢，去 1 元店买了一个漏勺。&lt;/p&gt;
&lt;p&gt;回来吃了炒饭和小蛋糕。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天啥都没干，中午做了辣卤猪大骨，吃多了，给我吃腻了。</p>
<p>下午的时候出去想换套餐，结果说没有 50 的 credit 了。然后作罢，去 1 元店买了一个漏勺。</p>
<p>回来吃了炒饭和小蛋糕。</p>
<p>最近实在太堕落了。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-03-14</title>
      <link>https://jinpeng.cv/en/diary/2026/march/2026-03-14/</link>
      <pubDate>Sat, 14 Mar 2026 22:34:12 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/march/2026-03-14/</guid>
      <description>&lt;p&gt;今天师兄约我出去大统华买菜。&lt;/p&gt;
&lt;p&gt;我们去了 winners 逛，师兄啥都没买，我买了一条 19.99 的短裤，和一个 19.99 健身包。这价格要啥自行车。&lt;/p&gt;
&lt;p&gt;然后我们去 Trip O&amp;rsquo;s 吃了好吃但是很贵的汉堡，这是一家加拿大本土的品牌。师兄说很少能在快餐店看到白人服务员。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天师兄约我出去大统华买菜。</p>
<p>我们去了 winners 逛，师兄啥都没买，我买了一条 19.99 的短裤，和一个 19.99 健身包。这价格要啥自行车。</p>
<p>然后我们去 Trip O&rsquo;s 吃了好吃但是很贵的汉堡，这是一家加拿大本土的品牌。师兄说很少能在快餐店看到白人服务员。</p>
<p>然后去大统华买了超级多的菜，师兄买啥我买啥。回来晚上吃了可多零食，又煮了泡面吃。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-03-10</title>
      <link>https://jinpeng.cv/en/diary/2026/march/2026-03-10/</link>
      <pubDate>Tue, 10 Mar 2026 21:35:23 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/march/2026-03-10/</guid>
      <description>&lt;p&gt;I didn&amp;rsquo;t sleep well last night. I wanted to send a message to Chathuranga talking him I wanna sleep, but I didn&amp;rsquo;t.&lt;/p&gt;
&lt;p&gt;I quickly got up and then went to the gym.&lt;/p&gt;
&lt;p&gt;Today&amp;rsquo;s Rock Mechanics class was funny, Derek taught us how to High-density electrical method to measure the conductivity of the shallow ground.&lt;/p&gt;
&lt;p&gt;Oh, right. I came to Luis&amp;rsquo; seat to disturb him, another guy who sits in front of Luis scold us keep silence, a little embarrassment.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I didn&rsquo;t sleep well last night. I wanted to send a message to Chathuranga talking him I wanna sleep, but I didn&rsquo;t.</p>
<p>I quickly got up and then went to the gym.</p>
<p>Today&rsquo;s Rock Mechanics class was funny, Derek taught us how to High-density electrical method to measure the conductivity of the shallow ground.</p>
<p>Oh, right. I came to Luis&rsquo; seat to disturb him, another guy who sits in front of Luis scold us keep silence, a little embarrassment.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-03-09</title>
      <link>https://jinpeng.cv/en/diary/2026/march/2026-03-09/</link>
      <pubDate>Mon, 09 Mar 2026 22:17:11 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/march/2026-03-09/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s hard to get up this morning, and it was still dark 7 am.&lt;/p&gt;
&lt;p&gt;Chathuranga said his wife didn&amp;rsquo;t feel well, so he needed to take care of his wife. Therefore, I went to the gym alone, and this is the first time I went to gym alone.&lt;/p&gt;
&lt;p&gt;After that, I did the homework 3 of Rock Mechanics and assignment 7 of FEM. They are really time-consuming.&lt;/p&gt;
&lt;p&gt;I played the game for about 1 hour tonight, it&amp;rsquo;s boring but I didn&amp;rsquo;t have any energy to do anything else.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It&rsquo;s hard to get up this morning, and it was still dark 7 am.</p>
<p>Chathuranga said his wife didn&rsquo;t feel well, so he needed to take care of his wife. Therefore, I went to the gym alone, and this is the first time I went to gym alone.</p>
<p>After that, I did the homework 3 of Rock Mechanics and assignment 7 of FEM. They are really time-consuming.</p>
<p>I played the game for about 1 hour tonight, it&rsquo;s boring but I didn&rsquo;t have any energy to do anything else.</p>
<p>By the way, I forgot to update my task items, and I just copied from Amir and pasted on my sheet. However, I didn&rsquo;t agree with his tasks, so I had to admit I copied from him.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-03-08</title>
      <link>https://jinpeng.cv/en/diary/2026/march/2026-03-08/</link>
      <pubDate>Sun, 08 Mar 2026 23:17:58 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/march/2026-03-08/</guid>
      <description>&lt;p&gt;The time was quietly adjusted to daylight saving time (summer time), so I lost 1 hour sleep time today. However, I slept a lot today.&lt;/p&gt;
&lt;p&gt;I took a shower and bought some groceries today, I also washed my dirty clothes.&lt;/p&gt;
&lt;p&gt;I tried the vibe coding on my personal navigation page I did before. I should spend some money and time to catch up with the popular #AI trend.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The time was quietly adjusted to daylight saving time (summer time), so I lost 1 hour sleep time today. However, I slept a lot today.</p>
<p>I took a shower and bought some groceries today, I also washed my dirty clothes.</p>
<p>I tried the vibe coding on my personal navigation page I did before. I should spend some money and time to catch up with the popular #AI trend.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-03-07</title>
      <link>https://jinpeng.cv/en/diary/2026/march/2026-03-07/</link>
      <pubDate>Sat, 07 Mar 2026 18:16:11 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/march/2026-03-07/</guid>
      <description>&lt;p&gt;Huan and I had a self-pleasure this morning.&lt;/p&gt;
&lt;p&gt;After that, I slept and scrolled on my phone all day.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Huan and I had a self-pleasure this morning.</p>
<p>After that, I slept and scrolled on my phone all day.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-03-06</title>
      <link>https://jinpeng.cv/en/diary/2026/march/2026-03-06/</link>
      <pubDate>Fri, 06 Mar 2026 23:00:21 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/march/2026-03-06/</guid>
      <description>&lt;p&gt;Today no class and didn&amp;rsquo;t do too much things.&lt;/p&gt;
&lt;p&gt;I had a meeting with Victor regarding my term paper, and I really appreciate his concepts. He gave me enough freedom and confidence to do what I want to do.&lt;/p&gt;
&lt;p&gt;Sometime I care too much what other people think. Today I told to Chathuranga, Luis, Amir that I picked up a apple pencil on square ground last term. Amir asked me that didn&amp;rsquo;t you post a lost and found? I thought how can I find and make sure who does this pencil belong to? And nobody is in near there at that time.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today no class and didn&rsquo;t do too much things.</p>
<p>I had a meeting with Victor regarding my term paper, and I really appreciate his concepts. He gave me enough freedom and confidence to do what I want to do.</p>
<p>Sometime I care too much what other people think. Today I told to Chathuranga, Luis, Amir that I picked up a apple pencil on square ground last term. Amir asked me that didn&rsquo;t you post a lost and found? I thought how can I find and make sure who does this pencil belong to? And nobody is in near there at that time.</p>
<p>And then I started thinking, am I a greedy person? Or I care that others think I am a greedy person?</p>
<p>I know the answer, I&rsquo;m more generous than most people.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-03-05</title>
      <link>https://jinpeng.cv/en/diary/2026/march/2026-03-05/</link>
      <pubDate>Thu, 05 Mar 2026 20:42:02 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/march/2026-03-05/</guid>
      <description>&lt;p&gt;I got up at 7 a.m. and went to the gym to exercise. After that, I quickly took a shower and went to the FEM class. Then I received a message from Chathuranga inviting us to go to the concrete lab for a UCS test.&lt;/p&gt;
&lt;p&gt;After quickly having lunch, I rushed to the Rock Mechanics class, and then later attended the MINE 630 class.&lt;/p&gt;
&lt;p&gt;Finally, I was able to go home and relax.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I got up at 7 a.m. and went to the gym to exercise. After that, I quickly took a shower and went to the FEM class. Then I received a message from Chathuranga inviting us to go to the concrete lab for a UCS test.</p>
<p>After quickly having lunch, I rushed to the Rock Mechanics class, and then later attended the MINE 630 class.</p>
<p>Finally, I was able to go home and relax.</p>
<div class="encrypted-content" data-cipher="Glkb2N1cy1vbi1teXNlbGYiPkZvY3VzIG9uIG15c2VsZjwvaDI&#43;CjxwPk5vdywgI0FtaXIgYW5kIEkgYXJlIHRvdGFsbHkgdHdvIGRpZmZlcmVudCB0eXBlcyBvZiBwZW9wbGUuIEhlIGNoZXJpc2hlcyBldmVyeSBldmVudCByZWdhcmRpbmcgdGhlIGZ1dHVyZSBjYXJyaWVyIG9yIHRoZSBiZW5lZml0cy4gSSBvbmx5IGNhcmUgYWJvdXQgbXkgc3R1ZHksIGhvdyB0byBpbXByb3ZlIG15IGRyYXdiYWNrcywgYW5kIGhvdyB0byBoYW5kbGUgZXZlcnkgb25lIHdobyBtaWdodCBnaXZlcyBtZSBtb3JlIGhlbHAgb24gbXkgc3R1ZHksIGFuZCBiZWNvbWUgYmV0dGVyIGxpa2UgI01vaGFtbWFkIGFuZCAjdmljdG9yLjwvcD4KPHA&#43;SGUgdXN1YWxseSBkb2VzbiZyc3F1bzt0IHVuZGVyc3RhbmQgd2hhdCBJIGFtIGRvaW5nIG9yIHdoYXQgSSBhbSB0aGlua2luZy4gSSBkb24mcnNxdW87dCBjYXJlLCBJIGtub3cgd2hhdCBJIHdhbnQsIGFuZCB3aGF0IEkgd2FudCB0byBkby48L3A&#43;CjxwPkFuZCBJIGtub3cgaGlzIGV2ZXJ5IGxpdHRsZSB0aG91Z2h0cyBhcyB3ZWxsLCBzb21ldGltZXMgSSBkb24mcnNxdW87dCBsaWtlLCBidXQgSSBkb24mcnNxdW87dCBjYXJlIGVpdGhlci4gSSBrZWVwIG15IGp1ZGdlIGluIG15IGhlYXJ0LiBIZSBiZWNvbWVzIG1vcmUgYW5kIG1vcmUgYm9sZCBhcyBiZWZvcmUsIEkgYWxzbyBrbm93IG90aGVyIHBlb3BsZSBpbmNsdWRpbmcgQ2hhdGh1cmFuZ2EgYW5kIFZpY3RvciBrbmV3IGhvdyBpdCBpcyBnb2luZywgYnV0IHRoZXkgY2hvb3NlIHRoZSBzYW1lIHN0cmF0ZWd5IGFzIG1lLjwvcD4KPHA&#43;V2hhdCBJIG5lZWQgdG8gZG8gbm93LCBqdXN0IGZsb3dpbmcgdGhlIGVsZGVyIG1lbWJlciBhbmQgVmljdG9yLCBsZWFybmluZyBhcyBtdWNoIGtub3dsZWRnZSBhcyBwb3NzaWJsZSwgQmVjb21pbmcgbW9yZSBjb25maWRlbnQgYW5kIGNhbiBoYW5kbGUgbW9yZSB0aGluZ3MuPC9wPgo=PGgyIPSJm" data-hint="Content Here is Encrypted" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Content Here is Encrypted</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2026-03-04</title>
      <link>https://jinpeng.cv/en/diary/2026/march/2026-03-04/</link>
      <pubDate>Wed, 04 Mar 2026 22:08:02 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/march/2026-03-04/</guid>
      <description>&lt;p&gt;This morning I didn&amp;rsquo;t go to gym because I received Chathuranga message that he was feeling not good and wanted have more sleep. I also need more sleep.&lt;/p&gt;
&lt;p&gt;I came the office around 10 am, spent some time on my term paper, only doing a little.&lt;/p&gt;
&lt;p&gt;I need send email to Victor booking a meeting with him about my term paper.&lt;/p&gt;
&lt;div class=&#34;encrypted-content&#34; data-cipher=&#34;SB3c28gc2Vuc2l0aXZlIGFib3V0IHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBvdGhlcnMuIFRvZGF5IFpoaXFpYW5nIHdhbnRlZCBtZSB0byBvcmRlciBhIGN1cCBvZiBjb2ZmZWUgZm9yIGhpbSwgYW5kIHNhaWQgd2lsbCBFLXRyYW5zZmVyIG1lLiBJIGRpZG4mcnNxdW87dCBzYXkgYW55dGhpbmcganVzdCBnYXZlIG15IHBob25lIG9uIGhpcyBoYW5kcywgYW5kIHRoZW4gSmlhbiBhbmQgQ2hhdGh1cmFuZ2Egc2FpZCB0aGV5IGNhbiBvcmRlciBmb3IgaGltLiBJIHRob3VnaHQgdGhhdCBkaWQgSSBleHByZXNzIEkgd2FzbiZyc3F1bzt0IHdpbGxpbmcgdG8gb3JkZXIgZm9yIGhpbT88L3A&amp;#43;CjxwPk5vIGF2YWlsYWJsZSB0YWJsZSBhdCBsdW5jaHRpbWUsIHNvIHdlIHdlbnQgdG8gSmlhbiZyc3F1bztzIG9mZmljZSB0byBoYXZlIGx1bmNoLiBKaWFuIHRvbGQgbWUgZG9uJnJzcXVvO3QgdGhyb3cgdGhlIGZvb2QgaW50byB0aGUgZ2FyYmFnZSBiaW4gd2hpbGUgSSB3YXMgdGhyb3cgdGhlIHNocmltcCBzaGVsbC4gSSBzYWlkIHRoYXQgd2FzIGFscmVhZHkgbm90IGZvb2QsIGp1c3QgZ2FyYmFnZS4gJmxkcXVvO3Rocm93IGl0IGludG8gb3V0c2lkZSBnYXJiYWdlIGJpbi4mcmRxdW87IGhlIHNhaWQuIEkgaGFkIGEgbGl0dGxlIGNvbmZ1c2VkIGFib3V0IGhpcyB0b25lLCBJIHRoaW5rIEkgYW0gc28gc2Vuc2l0aXZlLjwvcD4KPHA&amp;#43;SYXMg&#34; data-hint=&#34;Content Here is Encrypted&#34; data-error=&#34;Password Error&#34;&gt;
  &lt;div class=&#34;locked-state&#34;&gt;
    &lt;p&gt;🔒 Content Here is Encrypted&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This morning I didn&rsquo;t go to gym because I received Chathuranga message that he was feeling not good and wanted have more sleep. I also need more sleep.</p>
<p>I came the office around 10 am, spent some time on my term paper, only doing a little.</p>
<p>I need send email to Victor booking a meeting with him about my term paper.</p>
<div class="encrypted-content" data-cipher="SB3c28gc2Vuc2l0aXZlIGFib3V0IHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBvdGhlcnMuIFRvZGF5IFpoaXFpYW5nIHdhbnRlZCBtZSB0byBvcmRlciBhIGN1cCBvZiBjb2ZmZWUgZm9yIGhpbSwgYW5kIHNhaWQgd2lsbCBFLXRyYW5zZmVyIG1lLiBJIGRpZG4mcnNxdW87dCBzYXkgYW55dGhpbmcganVzdCBnYXZlIG15IHBob25lIG9uIGhpcyBoYW5kcywgYW5kIHRoZW4gSmlhbiBhbmQgQ2hhdGh1cmFuZ2Egc2FpZCB0aGV5IGNhbiBvcmRlciBmb3IgaGltLiBJIHRob3VnaHQgdGhhdCBkaWQgSSBleHByZXNzIEkgd2FzbiZyc3F1bzt0IHdpbGxpbmcgdG8gb3JkZXIgZm9yIGhpbT88L3A&#43;CjxwPk5vIGF2YWlsYWJsZSB0YWJsZSBhdCBsdW5jaHRpbWUsIHNvIHdlIHdlbnQgdG8gSmlhbiZyc3F1bztzIG9mZmljZSB0byBoYXZlIGx1bmNoLiBKaWFuIHRvbGQgbWUgZG9uJnJzcXVvO3QgdGhyb3cgdGhlIGZvb2QgaW50byB0aGUgZ2FyYmFnZSBiaW4gd2hpbGUgSSB3YXMgdGhyb3cgdGhlIHNocmltcCBzaGVsbC4gSSBzYWlkIHRoYXQgd2FzIGFscmVhZHkgbm90IGZvb2QsIGp1c3QgZ2FyYmFnZS4gJmxkcXVvO3Rocm93IGl0IGludG8gb3V0c2lkZSBnYXJiYWdlIGJpbi4mcmRxdW87IGhlIHNhaWQuIEkgaGFkIGEgbGl0dGxlIGNvbmZ1c2VkIGFib3V0IGhpcyB0b25lLCBJIHRoaW5rIEkgYW0gc28gc2Vuc2l0aXZlLjwvcD4KPHA&#43;SYXMg" data-hint="Content Here is Encrypted" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Content Here is Encrypted</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2026-03-03</title>
      <link>https://jinpeng.cv/en/diary/2026/march/2026-03-03/</link>
      <pubDate>Tue, 03 Mar 2026 22:30:36 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/march/2026-03-03/</guid>
      <description>&lt;p&gt;I had two classes today.&lt;/p&gt;
&lt;p&gt;It was a busy day. I went to the gym in the morning and then attended the FEM class, but the projector was broken, so we had to come back to the office. Later, Derek taught us how to use the Dips and Unwedge applications.&lt;/p&gt;
&lt;p&gt;In the evening, Jian, Kun, Hongtao, Bingzi, and I went out for Japanese ramen together. After dinner, we watched Pegasus 3.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I had two classes today.</p>
<p>It was a busy day. I went to the gym in the morning and then attended the FEM class, but the projector was broken, so we had to come back to the office. Later, Derek taught us how to use the Dips and Unwedge applications.</p>
<p>In the evening, Jian, Kun, Hongtao, Bingzi, and I went out for Japanese ramen together. After dinner, we watched Pegasus 3.</p>
<p>After that, they drove me home. I felt a little guilty, though I’m not sure why. I don’t know why I often have these kinds of thoughts.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-03-02</title>
      <link>https://jinpeng.cv/en/diary/2026/march/2026-03-02/</link>
      <pubDate>Mon, 02 Mar 2026 20:32:11 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/march/2026-03-02/</guid>
      <description>&lt;p&gt;I thought I had gotten enough sleep and slept well last night, but I still felt very sleepy today. I even developed some small blisters on my eyelid. They were painful. I went to the restroom and tried to squeeze one with my finger twice, but it didn’t help.&lt;/p&gt;
&lt;p&gt;I got up early again to go to the gym with Chathuranga and then spent the whole day working on my term paper.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I thought I had gotten enough sleep and slept well last night, but I still felt very sleepy today. I even developed some small blisters on my eyelid. They were painful. I went to the restroom and tried to squeeze one with my finger twice, but it didn’t help.</p>
<p>I got up early again to go to the gym with Chathuranga and then spent the whole day working on my term paper.</p>
<p>At night, I spent hours tinkering with the outline style. I’m a madman.</p>
<div class="encrypted-content" data-cipher="SB0Z2h0IEkgZ290IGVub3VnaCBzbGVlcCBhbmQgc2xlcHQgd2VsbCBsYXN0IG5pZ2h0LCBidXQgSSBmZWx0IHNvIHNsZWVweSB0b2RheSwgYW5kIGV2ZW4gdGhlcmUgd2VyZSBzb21lIGJsaXN0ZXJzIG9uIG15IGV5ZWxpcC4gSXQgbWFkZSBtZSBwYWluZnVsLCBJIHdlbnQgdG8gd2FzaHJvb20gdXNpbmcgbXkgZmluZ2VyIHRvIHNxdWVlbnplIGl0LiBIb3dldmVyLCBpdCBkb2VzbiZyc3F1bzt0IHdvcmsuPC9wPgo8cD5JIGFsc28gZ290IHVwIGVhcmx5IHRvIGdvIHRvIHRoZSBneW0gd2l0aCBDaGF0aHVyYW5nYSB0b2RheSwgYW5kIHNwZW50IHdob2xlIGRheSBvbiBteSB0ZXJtIHBhcGVyLjwvcD4KPHA&#43;QW5kIHNwZW50IHdob2xlIG5pZ2h0IG9uIHRpbmtlcmluZyB0aGUgb3V0bGluZSBzdHlsZSwgSSBhbSBhIG1hZG1hbi48L3A&#43;Cg==PHA&#43;SaG91" data-hint="Original Draft" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Original Draft</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2026-03-01</title>
      <link>https://jinpeng.cv/en/diary/2026/march/2026-03-01/</link>
      <pubDate>Sun, 01 Mar 2026 22:05:16 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/march/2026-03-01/</guid>
      <description>&lt;p&gt;Luis and I had a promise to buy some groceries at T&amp;amp;T. We bought a lot of snacks and groceries. I also treated him to try Zongzi and steam buns, he liked these. It was fun to hangout with him, because he knows how to respect each other and he is inocence.&lt;/p&gt;
&lt;p&gt;I went to Safeway for buying some food, but got nothing due to no properly discount.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Luis and I had a promise to buy some groceries at T&amp;T. We bought a lot of snacks and groceries. I also treated him to try Zongzi and steam buns, he liked these. It was fun to hangout with him, because he knows how to respect each other and he is inocence.</p>
<p>I went to Safeway for buying some food, but got nothing due to no properly discount.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-02-28</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-28/</link>
      <pubDate>Sat, 28 Feb 2026 00:05:49 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-28/</guid>
      <description>&lt;p&gt;I didn&amp;rsquo;t do too much today, just tinkered LazyVim for a while.&lt;/p&gt;
&lt;p&gt;Jian and Kun would come to my apartment for picking up the mattress which I bought before but didn&amp;rsquo;t use it. Jian and #Kun cooked some delicious food, we had a happy dinner, and I ate a lot.&lt;/p&gt;
&lt;p&gt;We play #Mahjong till 1:30 am, after that, #Hongtao and Jian drove me back last night.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I didn&rsquo;t do too much today, just tinkered LazyVim for a while.</p>
<p>Jian and Kun would come to my apartment for picking up the mattress which I bought before but didn&rsquo;t use it. Jian and #Kun cooked some delicious food, we had a happy dinner, and I ate a lot.</p>
<p>We play #Mahjong till 1:30 am, after that, #Hongtao and Jian drove me back last night.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-02-26</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-26/</link>
      <pubDate>Thu, 26 Feb 2026 21:51:42 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-26/</guid>
      <description>&lt;p&gt;I think I’m gradually getting used to working out now. I don’t feel much soreness after exercising anymore.&lt;/p&gt;
&lt;p&gt;Crazy Thursday again, but I felt much better than before because I slept well last night. I fell asleep easily and didn’t wake up at all until my alarm pulled me out of my dream. The small size #coffee is helpful and no much more effects on sleep.&lt;/p&gt;
&lt;p&gt;So overall, it was a good day.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I think I’m gradually getting used to working out now. I don’t feel much soreness after exercising anymore.</p>
<p>Crazy Thursday again, but I felt much better than before because I slept well last night. I fell asleep easily and didn’t wake up at all until my alarm pulled me out of my dream. The small size #coffee is helpful and no much more effects on sleep.</p>
<p>So overall, it was a good day.</p>
<p>I like Apel Derek’s class. He always gives us technical demonstrations or practical examples so we can connect with real-world applications. The class is very engaging. Recently, I’ve also learned a lot from Victor’s class, although I can still feel that he has been quite tired.</p>
<p>Today I attended a Canadian Institute of Mining event that cost 10 dollars. It was really helpful and meaningful. It helped me understand what people in the industry are actually doing. I also felt more confident — I realized that I can do this too, maybe even better.</p>
<p>There was a funny moment. I noticed a guy standing in front of a poster about IoT in mining transportation, so I asked him a few questions. He told me the project was done by his colleague and then he left. Soon after, some other people came over and started asking questions, and somehow I ended up becoming the #presenter.</p>
<p>Chathuranga and Amir found it hilarious. Otherwise, they would probably have been bored at the event.</p>
<p>I also took a box of food to go, and later I gave it to #Zhiqiang when I met him at the university train station.</p>
<div class="encrypted-content" data-cipher="SB0ayBJIGFtIGdyYWR1YWxseSB1c2VkIHRvIGRvIHRoZSB3b3Jrb3V0IG5vdy4gSSBkb24mcnNxdW87dCBmZWVsIG11Y2ggcGFpbmZ1bCBhZnRlciBleGVyY2lzZS48L3A&#43;CjxwPkNyYXp5IFRodXJzZGF5IGFnYWluLCBJIGZlbGwgbW9yZSBiZXR0ZXIgdGhhbiBiZWZvcmUsIGJlY2F1c2UgdGhlIHNsZWVwIHF1YWxpdHkgbGFzdCBuaWdodCB3YXMgbm90IGJhZC4gSSBlYXNpbHkgZmVsbCBhc2xlZXAgYW5kIGRpZG4mcnNxdW87dCB3YWtlIHVwIGR1cmluZyB0aGUgd2hvbGUgbmlnaHQgdGlsbCBteSBhbGFybSBkaXN0dXJiIG1lIGZyb20gdGhlIGRyZWFtLjwvcD4KPHA&#43;U28sIGl0JnJzcXVvO3MgYSBnb29kIGRheSEgSSBsaWtlIHRoZSBBcGVsIERlcmVrJnJzcXVvO3MgY2xhc3MsIGhlIGFsd2F5cyBnYXZlIHVzIHNvbWUgdGVjaG5pY2FsIGRlbW8gb3Igc2FtcGxlIHRvIGxldCB1cyBjb250YWN0IHRoZSByZWFsIHRoaW5ncy4gV2Ugd2VyZSBzbyBpbnRlcmVzdGluZyBpbiBoaXMgY2xhc3MuIEFuZCByZWNlbnRseSwgSSBhbHNvIGxlYXJuZWQgYSBsb3QgZm9ybSBWaWN0b3ImcnNxdW87cyBjbGFzcywgdGhvdWdoIEkgY2FuIHN0aWxsIGZlZWwgaGUgaGF2ZSBiZWVuIGJlaW5nIHRpcmVkLjwvcD4KPHA&#43;SSBhdHRlbmRlZCB0aGUgQ2FuYWRpYW4gSW5zdGl0dXRpb24gb2YgTWluaW5nIGV2ZW50IHRvZGF5IGZvciAxMCBkb2xsYXJzLiBJdCZyc3F1bztzIHJlYWxseSBoZWxwZnVsIGFuZCBtZWFuaW5nZnVsLiBMZXQgbWUga25ldyB3aGF0IGFyZSB0aGV5IGRvaW5nPyBJIGZvdW5kIG1vcmUgY29uZmlkZW5jZSwgSSBzdGlsbCBjYW4gZG8gdGhhdCwgZXZlbiBiZXR0ZXIgdGhhbiB0aGVtLiBUaGVyZSB3YXMgYSBmdW5ueSB0aGluZywgSSBub3RpY2VkIHRoYXQgYSBndXksIHdobyBzdGFuZCBpbiBmcm9udCBvZiBhIHBvc3RlciBhYm91dCBJb1QgaW4gbWluaW5nIHRyYW5zcG9ydGF0aW9uLiBJIGFza2VkIHNvbWUgcXVlc3Rpb24gdG8gdGhhdCBndXksIGFuZCBoZSBzYWlkIHRoaXMgd2FzIG1hZGUgYnkgaGlzIGNvbGxlYWd1ZSwgdGhlbiBoZSBsZWZ0LiBOZXh0IHRvLCB0aGVyZSB3ZXJlIHNvbWUgcGVvcGxlIGFwcHJvYWNoZWQgbWUsIGFuZCB0aGVuIEkgYmVjb21lIHRoZSBwcmVzZW50ZXIuPC9wPgo8cD5UaGlzIHRoaW5nIGdhdmUgQ2hhdGh1cmFuZ2EgYW5kIEFtaXIgYSBsb3Qgb2YgZnVuLCBvdGhlcndpc2UgdGhleSBmZWx0IHNvIGJvcmluZyB0aGVyZS48L3A&#43;CjxwPkkgYWxzbyB0b29rIGEgYm94IG9mIGZvb2QgdG8gZ28sIGFuZCBJIGdhdmUgaXQgdG8gWmhpcWlhbmcgd2hlbiBJIG1ldCBoaW0gYXQgdGhlIHVuaXZlcnNpdHkgdHJhaW4gc3RhdGlvbi48L3A&#43;Cg==PHA&#43;SaGlu" data-hint="Original Draft" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Original Draft</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2026-02-25</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-25/</link>
      <pubDate>Wed, 25 Feb 2026 23:15:09 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-25/</guid>
      <description>&lt;p&gt;Today I woke up to my alarm — that’s a good start. However, Chathuranga messaged me saying he wanted to take the day off for a sports competition. I didn’t really want to go the gym either since I stayed up late last night. I tried to fall back asleep but couldn’t. Around 8 a.m., I decided to just get up.&lt;/p&gt;
&lt;p&gt;Recently, the trains have been consistently late — and today was even worse, about 30 minutes delayed. That really annoyed me.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today I woke up to my alarm — that’s a good start. However, Chathuranga messaged me saying he wanted to take the day off for a sports competition. I didn’t really want to go the gym either since I stayed up late last night. I tried to fall back asleep but couldn’t. Around 8 a.m., I decided to just get up.</p>
<p>Recently, the trains have been consistently late — and today was even worse, about 30 minutes delayed. That really annoyed me.</p>
<p>I accidentally discovered that I can easily toggle a word into a task list when the cursor is on it.</p>
<p>I spent the whole day writing the proposal and submitted it at 3:30. After that, I started reading some literature for the MINE 630 term paper.</p>
<p>Tonight, I spent quite a bit of time tinkering with snippet completion in LazyVim. Fortunately, the results are better than yesterday.</p>
<p>We should always use the most powerful AI available to help us; otherwise, we might end up wasting more valuable time.</p>
<div class="encrypted-content" data-cipher="G9kd29rZSB1cCBieSBteSBhbGFybSwgaXQmcnNxdW87cyBnb29kLiBIb3dldmVyLCBDaGF0aHVyYW5nYSBtZXNzYWdlZCBtZSB0aGF0IGhlIHdhbnRlZCB0byBoYXZlIGEgZGF5IG9mZiBmb3IgYSBzcG9ydHMgY29tcGV0aXRpb24uIEkgZGlkbiZyc3F1bzt0IHdhbm5hIGdvIGVpdGhlciwgYmVjYXVzZSBJIHN0YXllZCB1cCBsYXRlIGxhc3QgbmlnaHQuIEJ1dCBJIGNvdWxkbiZyc3F1bzt0IGZhbGwgYXNsZWVwIGNvbnRpbnVvdXNseSwgbmVhciBhdCA4IGFtLCBJIGRlY2lkZWQgdG8gZ2V0IHVwLjwvcD4KPHA&#43;UmVjZW50bHksIHRoZSB0cmFpbnMgYXJlIGFsd2F5cyBsYXRlLCB3b3JzZSwgdG9kYXkgbGF0ZSBmb3IgYXJvdW5kIDMwIG1pbnV0ZXMuIEFuZ3J5ITwvcD4KPHA&#43;SSBmb3VuZCBJIGNhbiBlYXNpbHkgdG9nZ2xlIGEgd29yZCBpbnRvIGEgdGFzayBsaXN0IHdoZW4gdGhlIGN1cnNvciBvbiBhbnkgd29yZHMsIGFjY2lkZW50bHkuPC9wPgo8cD5JIHNwZW50IHdob2xlIGRheSB0byB3cml0ZSB0aGUgcHJvcG9zYWwsIGFuZCBJIHN1Ym1pdHRlZCBpdCBhdCAzOjMwLCB0aGVuIEkgc3RhcnRlZCB0byByZWFkIHNvbWUgbGl0ZXJhdHVyZSBmb3IgdGhlIHRlcm0gcGFwZXIgb2YgTUlORSA2MzAuPC9wPgo8cD5Ub25pZ2h0LCBJIHNwZW50IGEgbG90IG9mIHRpbWUgb24gdGlua2VyaW5nIHRoZSBzbmlwcGV0cyBjb21wbGV0aW9uIGluIExhenlWaW0uIEx1Y2tpbHksIHRoZSByZXN1bHRzIGlzIGJldHRlciB0aGFuIHllc3RlcmRheS48L3A&#43;CjxwPldlIHNob3VsZCBhbHdheXMgdXNlIHRoZSBtb3N0IHBvd2VyZnVsIEFJIHRvIGhlbHAgdXMsIG90aGVyd2lzZSBpdCBtaWdodCBzcGVuZCBtb3JlIHZhbHVhYmxlIHRpbWUuPC9wPgo=PHA&#43;VYXkg" data-hint="Original Draft" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Original Draft</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2026-02-24</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-24/</link>
      <pubDate>Tue, 24 Feb 2026 23:15:23 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-24/</guid>
      <description>&lt;p&gt;I had two classes and received the results of the Rock Mechanics midterm. I got 100. #Amir got 95 and told me about his score, but I didn’t really respond. I don’t care much about these results — as long as I pass, that’s enough for me.&lt;/p&gt;
&lt;p&gt;I’ve been working on the proposal for the FEM term paper. Sometimes I wonder whether constantly tinkering with these tools is a good thing. But I think I genuinely enjoy it. If I have the time, I’m willing to keep doing it.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I had two classes and received the results of the Rock Mechanics midterm. I got 100. #Amir got 95 and told me about his score, but I didn’t really respond. I don’t care much about these results — as long as I pass, that’s enough for me.</p>
<p>I’ve been working on the proposal for the FEM term paper. Sometimes I wonder whether constantly tinkering with these tools is a good thing. But I think I genuinely enjoy it. If I have the time, I’m willing to keep doing it.</p>
<div class="encrypted-content" data-cipher="mVjZSBJIHRpbmtlcmVkIHRoZSBjb21wbGV0aW9uIGZvciBsaXRlcmF0dXJlIGluIExhenlWaW0sIEkgc3RheWVkIHVwIHRvbyBsYXRlIGxhc3QgbmlnaHQsIGFuZCBJIGRpZG4mcnNxdW87dCB3cml0ZSB0b2RheSZyc3F1bztzIGpvdXJuYWwuPC9wPgo8cD5GZWIgMjQsIEkgZ290IHR3byBjbGFzc2VzIGFuZCByZWNlaWV2ZWQgdGhlIHJlc3VsdHMgb2YgbWlkLXRlcm0gb2YgUm9jayBNZWNoYW5pY3MuIEkgZ290IDEwMCBtYXJrcywgYnV0IEkgZGlkbiZyc3F1bzt0IHRhbGsgdG8gQW1pciwgZXZlbiBoZSBnb3QgOTUgbWFya3MgYW5kIHRvbGQgdG8gbWUuIEkgZG9uJnJzcXVvO3QgY2FyZSBhYm91dCB0aGVzZSByZXN1bHRzLCBqdXN0IHBhc3NpbmcgaXMgb2suPC9wPgo8cD5JIGhhdmUgYmVlbiB3cml0aW5nIGEgcHJvcG9zYWwgZm9yIHRlcm0gcGFwZXIgb2YgRkVNLiBJIGRvbiZyc3F1bzt0IGtub3cgY29udGludW91c2x5IHRpbmtlcmluZyB0aGVzZSB0b29sIGlzIGdvb2Qgb3Igbm90PyBCdXQgSSB0aGluayBJIGxpa2UgaXQsIGlmIEkgaGF2ZSB0aW1lLCBJJnJzcXVvO20gd2lsbGluZyB0byBkbyBpdC48L3A&#43;Cg==PHA&#43;QYXVz" data-hint="Original Draft" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Original Draft</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2026-02-23</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-23/</link>
      <pubDate>Mon, 23 Feb 2026 19:41:33 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-23/</guid>
      <description>&lt;p&gt;I also went to the gym with #Chathuranga this morning. It’s already our second week, and I hope we can keep it up. I feel refreshed after working out, and it really helps me maintain a regular daily routine.&lt;/p&gt;
&lt;p&gt;Tinkering with tools is incredibly time-consuming. This morning, I spent about an hour and a half adjusting my #LazyVim configuration.&lt;/p&gt;
&lt;p&gt;During today’s group meeting, I felt more confident. I was able to talk fluently about some of my recent experiences. Next week, Amir and I should schedule a meeting with Victor.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I also went to the gym with #Chathuranga this morning. It’s already our second week, and I hope we can keep it up. I feel refreshed after working out, and it really helps me maintain a regular daily routine.</p>
<p>Tinkering with tools is incredibly time-consuming. This morning, I spent about an hour and a half adjusting my #LazyVim configuration.</p>
<p>During today’s group meeting, I felt more confident. I was able to talk fluently about some of my recent experiences. Next week, Amir and I should schedule a meeting with Victor.</p>
<p>In the afternoon, I spent some time working on the FEM term paper. Daytime never seems to be enough, and my work efficiency has been quite low. Perhaps I need to extend my working hours.</p>
<div class="encrypted-content" data-cipher="SBhIHdlbnQgdG8gdGhlIGd5bSBmb3Igd29ya291dCB3aXRoIENoYXRodXJhbmdhIHRoaXMgbW9ybmluZy4gSXQmcnNxdW87cyBhbHJlYWR5IHRoZSBzZWNvbmQgd2VlaywgSSBob3BlIHdlIGNhbiBpbnNpc3QgdG8gZG8gaXQuIEkgZmVlbCBzb21lIHJlZnJlc2ggYWZ0ZXIgZml0bmVzcywgYW5kIGl0IGlzIGFsc28gZ29vZCBmb3Iga2VlcGluZyBhIHJlZ3VsYXIgZGFpbHkgcm91dGluZS48L3A&#43;CjxwPlRpbmtlcmluZyB0b29sIHdhcyByZWFsbHkgdGltZS1jb25zdW1pbmcuIFRoaXMgbW9ybmluZyBJIGFsc28gc3BlbmQgYXJvdW5kIG9uZSBhbmQgYSBoYWxmIGhvdXIgZm9yIHR1bmluZyBteSBMYXp5dmltIGNvbmZpZ3VyYXRpb24uPC9wPgo8cD5Ub2RheSZyc3F1bztzIGdyb3VwIG1lZXRpbmcsIEkgZmVsdCBtb3JlIGNvbmZpZGVudCwgSSBjYW4gdGFsayBzb21lIHRoaW5ncyB3aGF0IEkgZXhwZXJpZW5jZWQgdG8gb3RoZXJzIGZsdWVudGx5LiBOZXh0IHdlZWsgd2Ugc2hvdWxkIHJlcXVlc3QgYSBtZWV0aW5nIHdpdGggVmljdG9yIG5leHQgd2Vlay48L3A&#43;CjxwPlNwZW5kaW5nIHNvbWUgdGltZSBvbiB0ZXJtIHBhcGVyIG9mIEZFTSBhZnRlcm5vb24uIFRoZSBkYXl0aW1lIGlzIG5vdCBlbm91Z2ggZm9yIG1lIGFuZCBteSB3b3JrIGVmZmljaWVuY2UgaXMgcmVhbGx5IGxvdy4gUGVyaGFwcyBJIG5lZWQgdG8gZXh0ZW5kIHRoZSB3b3JrIHRpbWUuPC9wPgo=PHA&#43;SbHNv" data-hint="draft" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 draft</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2026-02-22</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-22/</link>
      <pubDate>Sun, 22 Feb 2026 21:35:40 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-22/</guid>
      <description>&lt;p&gt;It’s a quiet day.&lt;/p&gt;
&lt;p&gt;Lying on my bed and scrolling on my phone gave me some relaxation this morning after hanging up with Huan.&lt;/p&gt;
&lt;p&gt;Around 2:30 in the afternoon, I tried to work in my bedroom, but I realized my chair was uncomfortable. So I washed up, took a shower, and then went to the office to work for a while. I really need to spend more time on research.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It’s a quiet day.</p>
<p>Lying on my bed and scrolling on my phone gave me some relaxation this morning after hanging up with Huan.</p>
<p>Around 2:30 in the afternoon, I tried to work in my bedroom, but I realized my chair was uncomfortable. So I washed up, took a shower, and then went to the office to work for a while. I really need to spend more time on research.</p>
<p>I built a heat transfer model in #Abaqus by following a YouTube tutorial and fixed the issue with blink completion not auto-disabling.</p>
<p>Around 6:40, I decided to head home and buy some groceries. There are so many unstable people on the train or near the stations late at night.</p>
<p>I encountered a woman, probably in her forties, wearing what looked like pajama pants on the outside. For some reason her face was flushed red, and she was muttering unfriendly things — I could clearly understand that much. She scared away a tall Black guy standing across from her. While talking, she would occasionally lift her shirt, exposing her sagging breasts and wrinkled belly.</p>
<p>Because there are no ticket checks or visible security, the subway doesn’t feel very safe at night. I should really try to avoid going home too late in the future.</p>
<div class="encrypted-content" data-cipher="XQmdW87cyBhIHF1aWV0IGRheS48L3A&#43;CjxwPkx5aW5nIG9uIG15IGJlZCBhbmQgc2Nyb2xsaW5nIG9uIG15IHBob25lIGdhdmUgbWUgc29tZSByZWxheGF0aW9uIHRoaXMgbW9ybmluZyBhZnRlciBoYW5naW5nIHVwIHdpdGggSHVhbi48L3A&#43;CjxwPkFmdGVybm9vbiBhcm91bmQgMjozMCwgSSB0cmllZCB0byB3b3JrIGluIG15IGJlZHJvb20sIGJ1dCBJIGZvdW5kIG15IGNoYWlyIGlzIG5vdCBjb21mb3J0YWJsZS4gVGhlcmVmb3JlLCBJIHdhc2hlZCB1cCBhbmQgdG9vayBhIHNob3dlciBhbmQgdGhlbiB3ZW50IHRvIHRoZSBvZmZpY2UgdG8gd29yayBmb3IgYSB3aGlsZS4gSSBuZWVkIHRvIHNwZW5kIG1vcmUgdGltZSBvbiByZXNlYXJjaC48L3A&#43;CjxwPkkgZGlkIGEgaGVhdCB0cmFuc2ZlciBtb2RlbCBvbiBBYmFxdXMgYnkgZm9sbG93aW5nIGEgdmlkZW8gdHV0b3JpYWwgb24gWW91VHViZSwgYW5kIGZpeCB0aGUgZnVuY3Rpb24gb2YgYXV0by1kaXNhYmxpbmcgYmxpbmsgY29tcGxldGlvbi48L3A&#43;CjxwPkFyb3VuZCA2OjQwLCBJIGRlY2lkZWQgdG8gZ28gaG9tZSBhbmQgYnV5IHNvbWUgZ3JvY2VyaWVzLiBUaGVyZSBhcmUgc28gbWFueSBhYm5vcm1hbCBwZW9wbGUgb24gdGhlIHRyYWluIG9yIG5lYXIgdGhlIHN0YXRpb24gYXQgZGVlcCBuaWdodC48L3A&#43;CjxwPuaIkeeisOWIsOS4gOS4quaKiuWuieedoeijpOWkluepv&#43;eahOWmh&#43;Wls&#43;&#43;8jDQw5p2l5bKB55qE5qih5qC377yM5LiN55&#43;l5Li65ZWl6IS46JuL6YCa57qi77yM5Zi06YeM6IOh5ZKn5ZKn552A5LiA5Lqb5LiN5aSn5Y&#43;L5aW955qE6K&#43;d77yM5oiR6IO95ZCs5oeC56Gu5a6a5bCx5piv44CC5oqK5a&#43;56Z2i55qE5LiA5Liq6buR5Lq66auY5Liq55S35a2p5ZCT6LWw5LqG44CC6K&#43;06K&#43;d6Ze05LiN5pe25o6A6LW36Ieq5bex55qE6KGj5pyN77yM6Zyy5Ye65bmy55iq55qE5Lmz5oi/5ZKM6KS255qx5Ly06ZqP552A6ISC6IKq55qE6IKa5a2Q44CCPC9wPgo8cD7lm6DkuLrmsqHmnInmo4Dnpajlkozkv53ljavnmoTljp/lm6DvvIzmmZrkuIrlubbkuI3mmK/lvojlronlhajjgILku6XlkI7ov5jmmK/lsL3ph4/pgb/lhY3lpKrmmZrlm57lrrbjgII8L3A&#43;Cg==PHA&#43;ScnNx" data-hint="Content Here is Encrypted" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Content Here is Encrypted</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2026-02-21</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-21/</link>
      <pubDate>Sat, 21 Feb 2026 13:14:06 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-21/</guid>
      <description>&lt;p&gt;今天的日记想骂两个今天晚上在地铁上遇到的一对狗男女。滑雪结束人直接累摊了，一点能量都没有。地铁对面坐了一男一女，两个人似是流浪汉的打扮，男的是个金毛，满是泥垢的破洞裤子和像是穿了半年的蓝灰格子衬衣，女的要稍微干净些，没大注意穿搭细节，只注意到打着鼻环，皮衣皮裤还是啥的。我坐在对面望着窗子发呆。突然那个金毛问我在看啥，说我在瞪人，意图想要撵我走开。可我没有理他们，继续坐在那儿，玩着我的手机。不几秒钟，他们就开始做着苟且事情，亲起嘴来了。晚上牛鬼蛇神实在是多，以后晚上还是尽量避免出来和陌生人打交道了。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天的日记想骂两个今天晚上在地铁上遇到的一对狗男女。滑雪结束人直接累摊了，一点能量都没有。地铁对面坐了一男一女，两个人似是流浪汉的打扮，男的是个金毛，满是泥垢的破洞裤子和像是穿了半年的蓝灰格子衬衣，女的要稍微干净些，没大注意穿搭细节，只注意到打着鼻环，皮衣皮裤还是啥的。我坐在对面望着窗子发呆。突然那个金毛问我在看啥，说我在瞪人，意图想要撵我走开。可我没有理他们，继续坐在那儿，玩着我的手机。不几秒钟，他们就开始做着苟且事情，亲起嘴来了。晚上牛鬼蛇神实在是多，以后晚上还是尽量避免出来和陌生人打交道了。</p>
<p>内心想了很多报复的计划，如果我有枪？如果我骂回去？如果警察过来举报他们逃票？这些都没有达成，纠缠于他们只会惹得一身骚。异国他乡的，还是平安就好。</p>
<p>今天滑雪实在是累，加上昨天健身练了上半身的缘故。结束的时候没有一点点能量了，浑身痛得要命。Luis他们都很开心，还想下周六继续来，可是我的屁股不允许了。</p>
<p>昨天又让小欢欢熬夜没睡好了，因为质疑她有事情瞒着我。谎言在爱情中像会蔓延的毒药一样，有些时候得刮骨剃肉才能重新好起来。</p>
<hr>
<p>Today’s diary entry is just to vent about a disgusting couple I ran into on the subway tonight.</p>
<p>After skiing, I was completely drained — absolutely no energy left. Sitting across from me on the train was a man and a woman who looked almost like they were homeless. The guy was blond, wearing filthy ripped jeans and a blue-gray plaid shirt that looked like he had been wearing it for half a year straight. The woman was slightly cleaner. I didn’t pay much attention to her outfit, only noticed she had a nose ring and was dressed in what seemed like leather.</p>
<p>I was sitting there staring blankly at the window. Suddenly the blond guy asked what I was looking at and said I was staring at them, clearly trying to intimidate me and make me move away. I ignored them and kept sitting there, scrolling on my phone.</p>
<p>Within seconds, they started making out right there.</p>
<p>At night, all kinds of strange people seem to come out. I should really try to avoid going out late and interacting with strangers in the future.</p>
<p>I had all kinds of revenge fantasies running through my head — what if I had a gun? What if I yelled back at them? What if I reported them for fare evasion and the police showed up? None of that happened. Getting entangled with people like that would only drag me into trouble. In a foreign country, staying safe is what matters most.</p>
<p>Skiing today was exhausting, especially since I trained upper body at the gym yesterday. By the end, I had absolutely nothing left in me. My whole body aches. Luis and the others were all very happy and already want to go again next Saturday — but my butt definitely does not approve.</p>
<p>Yesterday I also made Xiaohuan stay up late again because I suspected she was hiding something from me. Lies in a relationship spread like poison; sometimes it feels like you have to cut deep to heal properly.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-02-20</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-20/</link>
      <pubDate>Fri, 20 Feb 2026 20:20:37 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-20/</guid>
      <description>&lt;p&gt;I used that damn promotion on &lt;a href=&#34;https://jinpeng.cv/en/diary/2026/february/2026-02-19/&#34;&gt;yesterday&lt;/a&gt;! I got an iced tea from KFC, but it gave me #insomnia and I couldn&amp;rsquo;t sleep until midnight. To make things worse, I woke up at 5:30 am, which is really bad for me.&lt;/p&gt;
&lt;p&gt;Despite feeling tired, I still decided to go to the #gym with Chathuranga this morning. After the gym, Jian, Chathuranga, and I grabbed some coffee from Tim Hortons. I was feeling energyless today and didn&amp;rsquo;t accomplish much at the office.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I used that damn promotion on <a href="/en/diary/2026/february/2026-02-19/">yesterday</a>! I got an iced tea from KFC, but it gave me #insomnia and I couldn&rsquo;t sleep until midnight. To make things worse, I woke up at 5:30 am, which is really bad for me.</p>
<p>Despite feeling tired, I still decided to go to the #gym with Chathuranga this morning. After the gym, Jian, Chathuranga, and I grabbed some coffee from Tim Hortons. I was feeling energyless today and didn&rsquo;t accomplish much at the office.</p>
<p>I continued to configure my #Lazyvim for the whole evening after I got back home. It&rsquo;s really good now. I configured a writing mode for creating long texts or documents.</p>
<p>I&rsquo;m always so excited to tinker with these things, otherwise I&rsquo;d be asleep by now. But I need to control myself to avoid sleep too early or too late, otherwise I&rsquo;ll wake up too early and feel tired the next day.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-02-19</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-19/</link>
      <pubDate>Thu, 19 Feb 2026 19:22:57 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-19/</guid>
      <description>&lt;p&gt;&lt;strong&gt;keyword&lt;/strong&gt;: gym, Abaqus, sleepy, promotion, burger&lt;/p&gt;
&lt;p&gt;I got up early today because I needed to go to the #gym to exercise with Chathuranga.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s a good way for me to get more time from a busy day by getting up early. After a few days of exercise, I realize that my muscles are weaker than others. They start trembling even when I only lift an empty steel bar without any weights.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><strong>keyword</strong>: gym, Abaqus, sleepy, promotion, burger</p>
<p>I got up early today because I needed to go to the #gym to exercise with Chathuranga.</p>
<p>It&rsquo;s a good way for me to get more time from a busy day by getting up early. After a few days of exercise, I realize that my muscles are weaker than others. They start trembling even when I only lift an empty steel bar without any weights.</p>
<p>I need to learn #Abaqus to finish the term paper for FEM, so I spent the whole day on it.</p>
<p>Due to lack of sleep, I was feeling so sleepy and tired after 5 pm. I didn&rsquo;t want to cook anymore, and I remembered that I had a 75% off #promotion on Uber Eats for my first 3 orders. I wanted to use it, otherwise I felt like I was losing something, but it notified me that it wasn&rsquo;t available after I confirmed the checkout. I tried KFC and A&amp;W, and they both failed. Then, I wanted to try the last one on Thai Express. So excited! It worked!</p>
<p>Unfortunately, when I clicked the order details, I found that I didn&rsquo;t apply the promotion. I spent $20 CAD on rice noodles, damn it!</p>
<p>I still wanted to try that 75% promotion again after finishing the rice noodles. I ordered a combo which included double sliders, an iced tea, a side, and a small bag of fries. Surprisingly, it worked! So I ordered 7 burgers from A&amp;W with that promotion, and I felt a little bit better.</p>
<p>I put them in the fridge when I got home. So tired today, I almost fell asleep in the food court.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-02-18</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-18/</link>
      <pubDate>Wed, 18 Feb 2026 21:19:14 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-18/</guid>
      <description>&lt;p&gt;Woke up so early again. I woke up at 5 am and had a pee this morning. And then I couldn&amp;rsquo;t fall asleep any more, as usual.&lt;/p&gt;
&lt;p&gt;Quickly washing up and preparing lunch. I arrived at the office at 8 pm, and searched some bears. I met Bonnie when I was searching the bears. She told me have a fun.&lt;/p&gt;
&lt;p&gt;After that, I went to go the gym for #fitness with Chathuranga. Workout is hard for me, and I even couldn&amp;rsquo;t control my muscles, especially the muscles on my leg.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Woke up so early again. I woke up at 5 am and had a pee this morning. And then I couldn&rsquo;t fall asleep any more, as usual.</p>
<p>Quickly washing up and preparing lunch. I arrived at the office at 8 pm, and searched some bears. I met Bonnie when I was searching the bears. She told me have a fun.</p>
<p>After that, I went to go the gym for #fitness with Chathuranga. Workout is hard for me, and I even couldn&rsquo;t control my muscles, especially the muscles on my leg.</p>
<p>I really like the reading week, no class. I can focus on what I want to do.</p>
<p>Huan came to my home, I hope she can get some fun and relaxing.</p>
<p>I can use #Neovim to finish a lots of things now.</p>
<p>Oh, right, today Riz gave Amir and me a concrete lab training again.</p>
<p>#ChatGPT helped me to write a shortcut for converting the current word to a #hashtag. So convenient now.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-lua" data-lang="lua"><span class="line"><span class="cl"><span class="n">vim.keymap</span><span class="p">.</span><span class="n">set</span><span class="p">(</span><span class="s2">&#34;n&#34;</span><span class="p">,</span> <span class="s2">&#34;&lt;leader&gt;h&#34;</span><span class="p">,</span> <span class="kr">function</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">  <span class="kd">local</span> <span class="n">row</span><span class="p">,</span> <span class="n">col</span> <span class="o">=</span> <span class="n">unpack</span><span class="p">(</span><span class="n">vim.api</span><span class="p">.</span><span class="n">nvim_win_get_cursor</span><span class="p">(</span><span class="mi">0</span><span class="p">))</span>
</span></span><span class="line"><span class="cl">  <span class="kd">local</span> <span class="n">line</span> <span class="o">=</span> <span class="n">vim.api</span><span class="p">.</span><span class="n">nvim_get_current_line</span><span class="p">()</span>
</span></span><span class="line"><span class="cl">  <span class="kd">local</span> <span class="n">start_col</span> <span class="o">=</span> <span class="n">vim.fn</span><span class="p">.</span><span class="n">match</span><span class="p">(</span><span class="n">line</span><span class="p">:</span><span class="n">sub</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">col</span> <span class="o">+</span> <span class="mi">1</span><span class="p">),</span> <span class="s2">&#34;</span><span class="se">\\</span><span class="s2">k*$&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">  <span class="n">vim.api</span><span class="p">.</span><span class="n">nvim_buf_set_text</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">row</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">start_col</span><span class="p">,</span> <span class="n">row</span> <span class="o">-</span> <span class="mi">1</span><span class="p">,</span> <span class="n">start_col</span><span class="p">,</span> <span class="p">{</span> <span class="s2">&#34;#&#34;</span> <span class="p">})</span>
</span></span><span class="line"><span class="cl"><span class="kr">end</span><span class="p">,</span> <span class="p">{</span> <span class="n">desc</span> <span class="o">=</span> <span class="s2">&#34;Add hashtag before current word&#34;</span> <span class="p">})</span>
</span></span></code></pre></td></tr></table>
</div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>2026-02-17</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-17/</link>
      <pubDate>Tue, 17 Feb 2026 22:11:02 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-17/</guid>
      <description>&lt;p&gt;I forgot today is still holiday for me, because Victor said we can have a day off for Chinese New Year.&lt;/p&gt;
&lt;p&gt;When Chathuranga messaged me,&amp;ldquo;Are you coming to campus today? No right?&amp;rdquo; I replied, &amp;ldquo;Yes I will&amp;rdquo;.  Actually, I need to finish the assignment 5 of FEM, Feb 19 is the deadline.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s was a nice day, though the snowstorm is so heavy. The snow was flying horizontally directly.&lt;/p&gt;
&lt;p&gt;Luis also came to the office today, we had lunch together. He have never seen the Chinese Nuts before, I shared a few of that with him. After that, we decided to go skiing this staturday.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I forgot today is still holiday for me, because Victor said we can have a day off for Chinese New Year.</p>
<p>When Chathuranga messaged me,&ldquo;Are you coming to campus today? No right?&rdquo; I replied, &ldquo;Yes I will&rdquo;.  Actually, I need to finish the assignment 5 of FEM, Feb 19 is the deadline.</p>
<p>It&rsquo;s was a nice day, though the snowstorm is so heavy. The snow was flying horizontally directly.</p>
<p>Luis also came to the office today, we had lunch together. He have never seen the Chinese Nuts before, I shared a few of that with him. After that, we decided to go skiing this staturday.</p>
<p>I also found something that fun but not very moral &ndash; The Chinese guy who is very social to me, is worse than me in English speaking. I first time felt how was I in other perspectives when I was speaking English.</p>
<p>Unconsciously, my English is gradually making progress slowly, like I said before.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-02-16</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-16/</link>
      <pubDate>Mon, 16 Feb 2026 21:45:54 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-16/</guid>
      <description>&lt;h2 id=&#34;新年快乐&#34;&gt;新年快乐&lt;/h2&gt;
&lt;p&gt;今天在加拿大这边才是除夕夜，可新年的孤独全都留在昨晚了。&lt;/p&gt;
&lt;p&gt;今天做了好吃的菜，烤了板栗，吃得很开心。&lt;/p&gt;
&lt;p&gt;今天还发现了 Flipp，nextdoor 这样的应用，有了更多本地的信息渠道，非常棒。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h2 id="新年快乐">新年快乐</h2>
<p>今天在加拿大这边才是除夕夜，可新年的孤独全都留在昨晚了。</p>
<p>今天做了好吃的菜，烤了板栗，吃得很开心。</p>
<p>今天还发现了 Flipp，nextdoor 这样的应用，有了更多本地的信息渠道，非常棒。</p>
<p>今晚还和欢讨论了父母与子女的关系。核心观点是：孩子并没有从一出生就亏欠父母什么；真要论的话，也是父母从孩子的出生就对孩子的亏欠。孩子来到这个世界上是没有选择的权利，他们来到这个世界满足了父母自私的欲望：传宗接代，养儿防老，单纯想要孩子，甚至意外怀孕。无一不是出于自私的原因，所以正常的父母会有爱自己孩子的本能，这种本能出于与生俱来的亏欠，同时也会存在很多各种各样的家长。</p>
<p>弄明白了这些，我们才能够更好的建立与父母的关系。爱我们的，我们爱他们；打压剥削我们的，我们恨他们，远离他们；只单纯对我们尽了抚养责任的，我们也只单纯尽赡养责任即可。</p>
<p>人是有能力感觉到爱的，相信自己的直觉。我们应该为丰富我们的人生而活，也希望我们孩子的人生更为精彩。</p>
<h2 id="happy-new-year">Happy New Year</h2>
<p>Here in Canada, tonight is actually Lunar New Year’s Eve — but all the loneliness of the New Year was left in last night.</p>
<p>Today I cooked some delicious dishes, roasted chestnuts, and ate happily.</p>
<p>I also discovered apps like Flipp and Nextdoor. Having more local information channels feels great.</p>
<p>Tonight, Huan and I also talked about the relationship between parents and children. The core idea is this: children do not owe their parents anything simply by being born. If anything, you could argue that from the moment a child is born, it is the parents who owe the child something. Children do not choose to come into this world; their arrival fulfills the parents’ desires — to carry on the family line, to have someone to rely on in old age, simply wanting a child, or even as the result of an unplanned pregnancy. All of these come, in one way or another, from self-interest. That’s why most parents naturally love their children — perhaps partly out of an innate sense of responsibility — though of course, parents vary widely.</p>
<p>Understanding this helps us build healthier relationships with our parents. If they love and support us, we love them in return. If they suppress or exploit us, we resent them and keep our distance. If they simply fulfilled their duty to raise us, then we can simply fulfill our duty to support them in return.</p>
<p>Human beings are capable of feeling love — trust your intuition. We should live to enrich our own lives, and we can hope that our children’s lives will be even more wonderful.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-02-15</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-15/</link>
      <pubDate>Sun, 15 Feb 2026 23:05:53 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-15/</guid>
      <description>&lt;p&gt;Yesterday the groceries I bought arrived. Today is Chinese New Year,and honestly, 400 RMB barely buys anything. I had salmon, Chinese chives, and roasted pork ribs. Since I&amp;rsquo;m spending the New Year alone, I thought I&amp;rsquo;d at least make something nice for myself.&lt;/p&gt;
&lt;p&gt;While I was cooking, I called a few friends. Yuanbo even sent me a 500 RMB red envelope, that&amp;rsquo;s real love!&lt;/p&gt;
&lt;p&gt;Huan had some conflict with her family today, but I believe she&amp;rsquo;ll handle it well.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Yesterday the groceries I bought arrived. Today is Chinese New Year,and honestly, 400 RMB barely buys anything. I had salmon, Chinese chives, and roasted pork ribs. Since I&rsquo;m spending the New Year alone, I thought I&rsquo;d at least make something nice for myself.</p>
<p>While I was cooking, I called a few friends. Yuanbo even sent me a 500 RMB red envelope, that&rsquo;s real love!</p>
<p>Huan had some conflict with her family today, but I believe she&rsquo;ll handle it well.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-02-14</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-14/</link>
      <pubDate>Sat, 14 Feb 2026 22:05:09 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-14/</guid>
      <description>&lt;p&gt;I didn&amp;rsquo;t get anything done today. After waking up and calling Huan this morning, I found I couldn&amp;rsquo;t fall back asleep.&lt;/p&gt;
&lt;p&gt;I spent some time doing some grocery shopping; I ordered some items from T&amp;amp;T Supermarket and then headed out to Safeway to pick up some treats, including some salmon, bananas, and a small cake.&lt;/p&gt;
&lt;p&gt;Buy some groceries to prepare for the Chinese New Year, and eat something that I usually feel expensive and reluctant to eat alone&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I didn&rsquo;t get anything done today. After waking up and calling Huan this morning, I found I couldn&rsquo;t fall back asleep.</p>
<p>I spent some time doing some grocery shopping; I ordered some items from T&amp;T Supermarket and then headed out to Safeway to pick up some treats, including some salmon, bananas, and a small cake.</p>
<p>Buy some groceries to prepare for the Chinese New Year, and eat something that I usually feel expensive and reluctant to eat alone</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-02-13</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-13/</link>
      <pubDate>Fri, 13 Feb 2026 21:49:09 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-13/</guid>
      <description>&lt;p&gt;忘记记录了今天。&lt;/p&gt;
&lt;p&gt;今天四点就早早醒来了，七点早早的起床，手忙脚乱的洗漱，收拾东西，准备午餐。&lt;/p&gt;
&lt;p&gt;去和Chathuranga健身了，早上写了作业，下午开始着手termpaper的撰写。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>忘记记录了今天。</p>
<p>今天四点就早早醒来了，七点早早的起床，手忙脚乱的洗漱，收拾东西，准备午餐。</p>
<p>去和Chathuranga健身了，早上写了作业，下午开始着手termpaper的撰写。</p>
<p>晚上和Jian去west edmonton mall 逛了逛，还在T&amp;T 吃了饭，不大好吃，但是可贵了。</p>
<p>回到家人已累瘫。</p>
<p>I forgot to record today.</p>
<p>My day started incredibly early—I woke up at 4:00 AM and finally got out of bed at 7:00 AM. It was a frantic morning of washing up, packing my things, and prepping my lunch.</p>
<p>I went to the gym with Chathuranga for a workout, which felt good. I spent the morning working on my assignments, and in the afternoon, I officially started writing my term paper.</p>
<p>In the evening, Jian and I went to West Edmonton Mall. We had dinner at the T&amp;T Supermarket food court; honestly, the food wasn&rsquo;t that great, and it was surprisingly expensive.</p>
<p>By the time I got home, I was completely wiped out.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-02-12</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-12/</link>
      <pubDate>Thu, 12 Feb 2026 21:46:11 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-12/</guid>
      <description>&lt;p&gt;Woke up early today. I couldn&amp;rsquo;t continue sleep after 5 am, so I got up at 7 am, quickly washed up. I had a #argument with #Huan because I thought she accidently turn on the mute function when we were calling.&lt;/p&gt;
&lt;p&gt;And then, I first time went to the gym for #fitness with Chat.&lt;/p&gt;
&lt;p&gt;Hate Thursday again, FEM, Rock mechanics, Mine.&lt;/p&gt;
&lt;p&gt;How tired a day.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Woke up early today. I couldn&rsquo;t continue sleep after 5 am, so I got up at 7 am, quickly washed up. I had a #argument with #Huan because I thought she accidently turn on the mute function when we were calling.</p>
<p>And then, I first time went to the gym for #fitness with Chat.</p>
<p>Hate Thursday again, FEM, Rock mechanics, Mine.</p>
<p>How tired a day.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-02-11</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-11/</link>
      <pubDate>Wed, 11 Feb 2026 19:59:36 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-11/</guid>
      <description>&lt;p&gt;What I did do today?&lt;/p&gt;
&lt;p&gt;I said some #dirty words to Huan when I woke up. And then went to school to study and preview &lt;em&gt;Rock mechanics&lt;/em&gt;. Near the end of getting off work. I tried to do the assignment of MIN E 630.&lt;/p&gt;
&lt;p&gt;Chat and I grabbed a cup of coffee in the morning, mine is black. I am already used to drinking black coffee.&lt;/p&gt;
&lt;p&gt;I decided to join Chat for exercising in gym tomorrow morning.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>What I did do today?</p>
<p>I said some #dirty words to Huan when I woke up. And then went to school to study and preview <em>Rock mechanics</em>. Near the end of getting off work. I tried to do the assignment of MIN E 630.</p>
<p>Chat and I grabbed a cup of coffee in the morning, mine is black. I am already used to drinking black coffee.</p>
<p>I decided to join Chat for exercising in gym tomorrow morning.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-02-10</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-10/</link>
      <pubDate>Tue, 10 Feb 2026 21:18:50 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-10/</guid>
      <description>&lt;p&gt;我们常常会说不要美化没有选择的道路，但如果要评价一个选择是否做的合算呢？&lt;/p&gt;
&lt;p&gt;最近心情比较低落，有各种各样的原因，一会儿仔细分析下。回到这个问题，现在突然想明白当时选择读博和在国内工作，谁会更好？&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>我们常常会说不要美化没有选择的道路，但如果要评价一个选择是否做的合算呢？</p>
<p>最近心情比较低落，有各种各样的原因，一会儿仔细分析下。回到这个问题，现在突然想明白当时选择读博和在国内工作，谁会更好？</p>
<p>这个问题可不像是我们在两家餐馆中选择一家这样。一但我们选择了，我们进了餐馆点了菜，吃了饭之后，这个问题自然会有答案。无关个人口味或者评价标准是否客观，我们总能得到一个确定的答案——即这个餐馆的菜是否符合自己的口味，下次是否还会再来。</p>
<p>而我所做的选择，更像是在农村耕耘和城市奋斗，哪条路会更加幸福。就目前的现状来说，普通人无论在农村，还是在城市都只是大家口中牛马而已。选择在农村耕耘的人因离真实的牛马更近，因而更加像牛马；城市里也只是高级的牛马而已。</p>
<p>我想说的是：选择背后的价值，在于努力。农村的牛马要如何努力修心养性，真正地与自然共生，克制自己的欲望，让幸福充盈内心；城市的牛马要努力提升技能积极社交，在繁杂锐利的钢筋与人心编织成的丛林中构筑自己的一片小天地。回顾自己的所认识的人，这两者都有人能够做到，也有更多的人无时无刻处在身心俱疲中。</p>
<p>来到UofA之前，我就已经做好了充足的准备，认识到这并不是一条平坦的路。孤独、挫败、自卑、贫穷……， 这些东西始终伴随着我，让我许多时候感觉能量被耗尽，也因此常常会因为一些比较小的事情而沮丧不已。</p>
<p>举个新鲜的例子：是今天期中考试，有两个题，我只做出了一个。在教室里面对不会做，却明显很简单的题目，感觉自己像个傻子一样，十分懊恼。完事之后，我归咎于自己平时练习不够，太依赖AI，没有亲自手算几遍；归咎于自己英语差，题目怎么tm不是中文的；归咎于这题目怎么和平时的作业不大一样；归咎于自己怎么这么老实胆小，不敢像部分同学一样用AI作弊；归咎于自己年纪大了，记性不好了；甚至归咎于早上和小欢欢吵架……</p>
<p>不该是这样的！我对自己说。但我还是很难受，我清楚地看到了自己的差距与不足，任何的侥幸心理在“侥幸”失败的时候，我们都会失落。可明明我们有那么多努力的方向去尝试让“侥幸”变成“确幸”的机会；哦，对了，我们会想我们没有时间，我们大脑不像之前那么好用了。</p>
<p>好了，扯到这里有点偏题了。今天的失败，似乎是一件好事情。它让我开始反思自己，甚至反思自己很久之前做的决定。我清楚的明白，我只是获得了一个获得博士学位的机会，而不是走完这条路就会成为博士。</p>
<div class="encrypted-content" data-cipher="2UgZW4gc2F5IG9uZSBzaG91bGRuJnJzcXVvO3Qgcm9tYW50aWNpemUgdGhlIHJvYWQgbm90IHRha2VuLiBCdXQgaG93IGRvIHdlIGV2YWx1YXRlIGlmIGEgY2hvaWNlIHdhcyB0cnVseSAmbGRxdW87d29ydGggaXQmcmRxdW87PyBSZWNlbnRseSwgSeKAmXZlIGJlZW4gZmVlbGluZyBkb3duLCBhbmQgaXQgbGVkIG1lIHRvIGEgc3VkZGVuIHJlYWxpemF0aW9uIHJlZ2FyZGluZyBteSBkZWNpc2lvbiB0byBwdXJzdWUgYSBQaEQgaGVyZSB2ZXJzdXMgc3RheWluZyB0byB3b3JrIGluIENoaW5hLjwvcD4KPHA&#43;VGhpcyBpc24mcnNxdW87dCBsaWtlIGNob29zaW5nIGEgcmVzdGF1cmFudCwgd2hlcmUgdGhlIG1lYWwgcHJvdmlkZXMgYW4gaW1tZWRpYXRlIGFuc3dlci4gTXkgY2hvaWNlIGlzIG1vcmUgbGlrZSBkZWNpZGluZyBiZXR3ZWVuIHRpbGxpbmcgdGhlIGVhcnRoIGluIHRoZSBjb3VudHJ5c2lkZSBvciBzdHJ1Z2dsaW5nIGluIHRoZSBjaXR5LiBJbiB0b2RheeKAmXMgd29ybGQsIG1vc3QgcGVvcGxlIGFyZSBqdXN0ICZsZHF1bztiZWFzdHMgb2YgYnVyZGVuJnJkcXVvOy4gVGhvc2UgaW4gdGhlIGZpZWxkcyBhcmUgY2xvc2VyIHRvIHRoZSByYXcgbmF0dXJlIG9mIHRvaWwsIHdoaWxlIHRob3NlIGluIHRoZSBjaXR5IGFyZSBzaW1wbHkgbW9yZSAmbGRxdW87cmVmaW5lZCZyZHF1bzsgdmVyc2lvbnMgb2YgdGhlIHNhbWUuPC9wPgo8cD5UaGUgdHJ1ZSB2YWx1ZSBvZiBhIGNob2ljZSBsaWVzIGluIHRoZSBlZmZvcnQgdGhhdCBmb2xsb3dzLiBUaGUgcnVyYWwgd29ya2VyIG11c3Qgc3RyaXZlIGZvciBpbm5lciBwZWFjZSBhbmQgaGFybW9ueSB3aXRoIG5hdHVyZTsgdGhlIHVyYmFuIHdvcmtlciBtdXN0IGhvbmUgdGhlaXIgc2tpbGxzIGFuZCBjYXJ2ZSBvdXQgYSBzYW5jdHVhcnkgd2l0aGluIHRoZSBjb25jcmV0ZSBqdW5nbGUuIEkgc2VlIHBlb3BsZSBpbiBib3RoIHBhdGhzIGZpbmRpbmcgZnVsZmlsbG1lbnQsIGJ1dCBmYXIgbW9yZSBhcmUgc2ltcGx5IGV4aGF1c3RlZC48L3A&#43;CjxwPkkgY2FtZSB0byBVb2ZBIGtub3dpbmcgdGhpcyB3b3VsZG4mcnNxdW87dCBiZSBhIHNtb290aCBwYXRoLiBMb25lbGluZXNzLCBmcnVzdHJhdGlvbiwgYW5kIHBvdmVydHkgYXJlIGNvbnN0YW50IGNvbXBhbmlvbnMgdGhhdCBkcmFpbiBteSBlbmVyZ3kuIFRvZGF54oCZcyBtaWR0ZXJtIHdhcyBhIHBlcmZlY3QgZXhhbXBsZS4gT3V0IG9mIHR3byBxdWVzdGlvbnMsIEkgb25seSBzb2x2ZWQgb25lLiBTaXR0aW5nIHRoZXJlLCB1bmFibGUgdG8gc29sdmUgYSAmbGRxdW87c2ltcGxlJnJkcXVvOyBwcm9ibGVtLCBJIGZlbHQgbGlrZSBhIGZvb2wuIEkgYmxhbWVkIGV2ZXJ5dGhpbmc6IG15IG92ZXItcmVsaWFuY2Ugb24gQUksIG15IEVuZ2xpc2gsIG15IG1lbW9yeSwgZXZlbiB0aGUgYXJndW1lbnQgSSBoYWQgd2l0aCBIdWFuIHRoaXMgbW9ybmluZy48L3A&#43;CjxwPkJ1dCBpdCBzaG91bGRuJnJzcXVvO3QgYmUgbGlrZSB0aGlzLjwvcD4KPHA&#43;SSBjbGVhcmx5IHNlZSB0aGUgZ2FwIGJldHdlZW4gd2hlcmUgSSBhbSBhbmQgd2hlcmUgSSBuZWVkIHRvIGJlLiBBbnkgaG9wZSBmb3IgJmxkcXVvO2x1Y2smcmRxdW87IGluZXZpdGFibHkgbGVhZHMgdG8gZGlzYXBwb2ludG1lbnQgd2hlbiBsdWNrIGZhaWxzLiBJIGhhdmUgc28gbWFueSBvcHBvcnR1bml0aWVzIHRvIHR1cm4gdGhhdCBsdWNrIGludG8gY2VydGFpbnR5IHRocm91Z2ggaGFyZCB3b3JrLCB5ZXQgSSB0ZWxsIG15c2VsZiBJIGRvbiZyc3F1bzt0IGhhdmUgdGhlIHRpbWUuPC9wPgo8cD5QZXJoYXBzIHRvZGF54oCZcyBmYWlsdXJlIGlzIGEgYmxlc3NpbmcuIEl0IGZvcmNlZCBtZSB0byByZWZsZWN0IG9uIGRlY2lzaW9ucyBtYWRlIGxvbmcgYWdvLiBJIG5vdyB1bmRlcnN0YW5kIG1vcmUgY2xlYXJseTogSSBoYXZlbiZyc3F1bzt0ICZsZHF1bztiZWNvbWUmcmRxdW87IGEgUGhEOyBJIGhhdmUgb25seSBlYXJuZWQgdGhlIG9wcG9ydHVuaXR5IHRvIHN0cml2ZSBmb3IgdGhlIGRlZ3JlZS48L3A&#43;Cg==PHA&#43;Vb2Z0" data-hint="Content Here is Encrypted" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Content Here is Encrypted</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2026-02-09</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-09/</link>
      <pubDate>Mon, 09 Feb 2026 22:39:38 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-09/</guid>
      <description>&lt;p&gt;Group-meeting again, #Jian didn&amp;rsquo;t nominate me to be the #host. They were so kind to me, but I felt a little bit bad. Actually, I don&amp;rsquo;t mind being the host, though I&amp;rsquo;m a little bit shy and worried about my English.&lt;/p&gt;
&lt;p&gt;There will be a quiz tomorrow, so today I spent a lot of time reviewing the materials. I hope I can do well in the quiz.&lt;/p&gt;
&lt;p&gt;Jain said he would have an #experiment for me in summer, which is from the industry. So I can get some money from it. That&amp;rsquo;s good news. I hope I can do well in the experiment and get some money.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Group-meeting again, #Jian didn&rsquo;t nominate me to be the #host. They were so kind to me, but I felt a little bit bad. Actually, I don&rsquo;t mind being the host, though I&rsquo;m a little bit shy and worried about my English.</p>
<p>There will be a quiz tomorrow, so today I spent a lot of time reviewing the materials. I hope I can do well in the quiz.</p>
<p>Jain said he would have an #experiment for me in summer, which is from the industry. So I can get some money from it. That&rsquo;s good news. I hope I can do well in the experiment and get some money.</p>
<p>I also grabbed a cup of coffee with my classmate; I hope I can sleep well tonight, don&rsquo;t get insomnia again.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-02-08</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-08/</link>
      <pubDate>Sun, 08 Feb 2026 22:54:28 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-08/</guid>
      <description>&lt;p&gt;I slept in until 11:30 AM today.&lt;/p&gt;
&lt;p&gt;Did the laundry, bought some groceries, scrolled my phone whole day.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I slept in until 11:30 AM today.</p>
<p>Did the laundry, bought some groceries, scrolled my phone whole day.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-02-07</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-07/</link>
      <pubDate>Sat, 07 Feb 2026 21:39:07 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-07/</guid>
      <description>&lt;p&gt;I got 50 Yuan from Huan for buying my yesterday&amp;rsquo;s diary. I hope she can come Canada for learning, for accompanying, whatever. Anyway, I hope we can live together, and we can experience the same life, and take care of each other.&lt;/p&gt;
&lt;p&gt;I went to EPL to have a look and try to study for a while. Finally, I loaned a book named &lt;em&gt;Bury the lead&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Didn&amp;rsquo;t  do too much today.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I got 50 Yuan from Huan for buying my yesterday&rsquo;s diary. I hope she can come Canada for learning, for accompanying, whatever. Anyway, I hope we can live together, and we can experience the same life, and take care of each other.</p>
<p>I went to EPL to have a look and try to study for a while. Finally, I loaned a book named <em>Bury the lead</em>.</p>
<p>Didn&rsquo;t  do too much today.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-02-06</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-06/</link>
      <pubDate>Fri, 06 Feb 2026 22:26:02 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-06/</guid>
      <description>&lt;p&gt;#Huan said that she isn&amp;rsquo;t interested in taking the English exam.&lt;/p&gt;
&lt;p&gt;I spent the day working on my assignments. #Chathuranga provided some helpful guidance on how to approach the term paper, which gave us a clearer direction. However, by 4:00 PM, I felt like I had hit a limit and couldn&amp;rsquo;t absorb any more information. I decided to call it a day and headed home at 4:30 PM.&lt;/p&gt;
&lt;div class=&#34;encrypted-content&#34; data-cipher=&#34;GF0LCBJ4oCZdmUgYmVlbiBmZWVsaW5nIHF1aXRlIGRvd24gYWJvdXQgZXZlcnl0aGluZy4gSeKAmXZlIHJlYWxpemVkIHRoYXQgSSBzaG91bGQgcHJvYmFibHkgc3RhcnQga2VlcGluZyB0aGVzZSB0aG91Z2h0cyB0byBteXNlbGYgbW9yZSBvZnRlbjsgcmVwZWF0aW5nIHRoZW0gdG9vIGZyZXF1ZW50bHkgbWlnaHQgbGVhZCB0byB1bm5lY2Vzc2FyeSBjb25mbGljdCBvciB0cm91YmxlIHdpdGggdGhvc2UgYXJvdW5kIG1lLjwvcD4KPHA&amp;#43;Rm9yIG5vdywgSSB3aWxsIGFuZCBvbmx5IGNhbiBqdXN0IGxldCB0aGluZ3MgdGFrZSB0aGVpciBjb3Vyc2UuPC9wPgo8cD5UaGVyZSBhcmUgYSBzZXJpZXMgb2YgcXVlc3Rpb25zIGNvbWluZyB0byBteSBtaW5kLCBidXQgSeKAmW0gbm90IHN1cmUgaWYgSSB3YW50IHRvIGFuc3dlciB0aGVtIHJpZ2h0IG5vdy4gSeKAmW0gbm90IGV2ZW4gc3VyZSBpZiBJIHdhbnQgdG8gYXNrIHRoZW0gYXQgYWxsLiBNYXliZSBpdOKAmXMgYmV0dGVyIHRvIGp1c3QgbGV0IHRoZW0gYmUgZm9yIG5vdyBhbmQgc2VlIGhvdyB0aGluZ3MgdW5mb2xkLjwvcD4KPG9sPgo8bGk&amp;#43;V291bGQgZmFybWVycyBsaWtlIGZhcm1pbmc/IExpa2UgbXVkZHkgc29pbD8gRGlydHkgb3JnYW5pYyBmZXJ0aWxpemVyPyBTaG91bGQgb25lIHNoZWQgb25lJnJzcXVvO3Mgb3duIHN3ZWF0IG9uIHRoaXMgbGFuZD8gSSBvbmx5IGtub3cgdGhhdCB0aGV5IHdpbGwgYmUgaGFwcHkgd2hlbiBraWxsaW5nIHRoZSBwaWcgbmVhciBOZXcgWWVhciZyc3F1bztzIEV2ZS48L2xpPgo8bGk&amp;#43;QXJlIHR3byBwZW9wbGUgd2hvIGFyZSB1bndpbGxpbmcgdG8gcGxhbiB0aGVpciBmdXR1cmUgdG9nZXRoZXIgdHJ1bHkgaW4gbG92ZT88L2xpPgo8bGk&amp;#43;SG93IHRvIG1hbmFnZSBvdXIgZXZlcnlkYXkgbGlmZT8gV2hhdCBJIG1lYW4gaXMgdGhlIHRpbWUuPC9saT4KPC9vbD4KPHA&amp;#43;TZWx5&#34; data-hint=&#34;Content Here is Encrypted&#34; data-error=&#34;Password Error&#34;&gt;
  &lt;div class=&#34;locked-state&#34;&gt;
    &lt;p&gt;🔒 Content Here is Encrypted&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>#Huan said that she isn&rsquo;t interested in taking the English exam.</p>
<p>I spent the day working on my assignments. #Chathuranga provided some helpful guidance on how to approach the term paper, which gave us a clearer direction. However, by 4:00 PM, I felt like I had hit a limit and couldn&rsquo;t absorb any more information. I decided to call it a day and headed home at 4:30 PM.</p>
<div class="encrypted-content" data-cipher="GF0LCBJ4oCZdmUgYmVlbiBmZWVsaW5nIHF1aXRlIGRvd24gYWJvdXQgZXZlcnl0aGluZy4gSeKAmXZlIHJlYWxpemVkIHRoYXQgSSBzaG91bGQgcHJvYmFibHkgc3RhcnQga2VlcGluZyB0aGVzZSB0aG91Z2h0cyB0byBteXNlbGYgbW9yZSBvZnRlbjsgcmVwZWF0aW5nIHRoZW0gdG9vIGZyZXF1ZW50bHkgbWlnaHQgbGVhZCB0byB1bm5lY2Vzc2FyeSBjb25mbGljdCBvciB0cm91YmxlIHdpdGggdGhvc2UgYXJvdW5kIG1lLjwvcD4KPHA&#43;Rm9yIG5vdywgSSB3aWxsIGFuZCBvbmx5IGNhbiBqdXN0IGxldCB0aGluZ3MgdGFrZSB0aGVpciBjb3Vyc2UuPC9wPgo8cD5UaGVyZSBhcmUgYSBzZXJpZXMgb2YgcXVlc3Rpb25zIGNvbWluZyB0byBteSBtaW5kLCBidXQgSeKAmW0gbm90IHN1cmUgaWYgSSB3YW50IHRvIGFuc3dlciB0aGVtIHJpZ2h0IG5vdy4gSeKAmW0gbm90IGV2ZW4gc3VyZSBpZiBJIHdhbnQgdG8gYXNrIHRoZW0gYXQgYWxsLiBNYXliZSBpdOKAmXMgYmV0dGVyIHRvIGp1c3QgbGV0IHRoZW0gYmUgZm9yIG5vdyBhbmQgc2VlIGhvdyB0aGluZ3MgdW5mb2xkLjwvcD4KPG9sPgo8bGk&#43;V291bGQgZmFybWVycyBsaWtlIGZhcm1pbmc/IExpa2UgbXVkZHkgc29pbD8gRGlydHkgb3JnYW5pYyBmZXJ0aWxpemVyPyBTaG91bGQgb25lIHNoZWQgb25lJnJzcXVvO3Mgb3duIHN3ZWF0IG9uIHRoaXMgbGFuZD8gSSBvbmx5IGtub3cgdGhhdCB0aGV5IHdpbGwgYmUgaGFwcHkgd2hlbiBraWxsaW5nIHRoZSBwaWcgbmVhciBOZXcgWWVhciZyc3F1bztzIEV2ZS48L2xpPgo8bGk&#43;QXJlIHR3byBwZW9wbGUgd2hvIGFyZSB1bndpbGxpbmcgdG8gcGxhbiB0aGVpciBmdXR1cmUgdG9nZXRoZXIgdHJ1bHkgaW4gbG92ZT88L2xpPgo8bGk&#43;SG93IHRvIG1hbmFnZSBvdXIgZXZlcnlkYXkgbGlmZT8gV2hhdCBJIG1lYW4gaXMgdGhlIHRpbWUuPC9saT4KPC9vbD4KPHA&#43;TZWx5" data-hint="Content Here is Encrypted" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Content Here is Encrypted</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2026-02-05</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-05/</link>
      <pubDate>Thu, 05 Feb 2026 21:40:10 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-05/</guid>
      <description>&lt;p&gt;I suffered from terrible insomnia last night.&lt;/p&gt;
&lt;p&gt;By 7 AM, I simply couldn&amp;rsquo;t endure the frustration of not sleeping anymore, so I decided to get up and start my day.&lt;/p&gt;
&lt;p&gt;I had three lectures again today. I feel exhausted, though surprisingly, I’m not quite as tired as I expected to be.&lt;/p&gt;
&lt;p&gt;After school, I came home and managed to get a two-hour nap. I’m starting to think that the coffee I drank yesterday at noon was the culprit behind my insomnia.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I suffered from terrible insomnia last night.</p>
<p>By 7 AM, I simply couldn&rsquo;t endure the frustration of not sleeping anymore, so I decided to get up and start my day.</p>
<p>I had three lectures again today. I feel exhausted, though surprisingly, I’m not quite as tired as I expected to be.</p>
<p>After school, I came home and managed to get a two-hour nap. I’m starting to think that the coffee I drank yesterday at noon was the culprit behind my insomnia.</p>
<p>I really need to head to bed now.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-02-04</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-04/</link>
      <pubDate>Wed, 04 Feb 2026 20:24:24 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-04/</guid>
      <description>&lt;p&gt;#Chathuranga had a experiment today, so he wanted to grab this chance to guide us to do some lab works. He is always thoughtful. I believe that Amir and I leaned something useful today.&lt;/p&gt;
&lt;p&gt;After lab works, so sleepy and tired. I crawled on the table and rested for a while. And I also finished the second #homework of MINE 620. And tried to review some FEM content for preparing the quiz next week.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>#Chathuranga had a experiment today, so he wanted to grab this chance to guide us to do some lab works. He is always thoughtful. I believe that Amir and I leaned something useful today.</p>
<p>After lab works, so sleepy and tired. I crawled on the table and rested for a while. And I also finished the second #homework of MINE 620. And tried to review some FEM content for preparing the quiz next week.</p>
<p>At night I had grilled pork ribs and braised pork ribs for dinner again. Just wanna get some sleep quickly.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-02-03</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-03/</link>
      <pubDate>Tue, 03 Feb 2026 23:27:18 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-03/</guid>
      <description>&lt;p&gt;So tired now.&lt;/p&gt;
&lt;p&gt;Took 2 courses today, and finished the homework 2 of MINE 530.&lt;/p&gt;
&lt;p&gt;During my back home, I felt hungry to picnic again, so I quickly made some food for dinner when I got home.&lt;/p&gt;
&lt;p&gt;The Chinese New Year is coming, and I think I need to buy some gifts for my family members, especially for these kids.&lt;/p&gt;
&lt;p&gt;Thus, I bought a astronomical telescope for more than 600 RMB, and another normal telescope, for those little baby. I also want to buy a excavator toy for Baby Yu. It seems that I wanna treat them just like the kid who I used to be.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>So tired now.</p>
<p>Took 2 courses today, and finished the homework 2 of MINE 530.</p>
<p>During my back home, I felt hungry to picnic again, so I quickly made some food for dinner when I got home.</p>
<p>The Chinese New Year is coming, and I think I need to buy some gifts for my family members, especially for these kids.</p>
<p>Thus, I bought a astronomical telescope for more than 600 RMB, and another normal telescope, for those little baby. I also want to buy a excavator toy for Baby Yu. It seems that I wanna treat them just like the kid who I used to be.</p>
<p>I still remember I promised Huan to buy a Polaroid camera for her, but I always choose to wait and wait. Gradually, I treat her as myself, become frugal to ourselves.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-02-02</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-02/</link>
      <pubDate>Mon, 02 Feb 2026 21:35:21 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-02/</guid>
      <description>&lt;p&gt;I’ve realized that I shouldn&amp;rsquo;t share too many personal details during group meetings. Sometimes professors might misunderstand you or even form negative impressions. From now on, I plan to stick strictly to reporting the facts.&lt;/p&gt;
&lt;p&gt;I finally finished an assignment for my Finite Element Method (FEM) course. However, I fell into the trap of tinkering with my editor and software again until 5 PM. It’s a habit I really need to break, as it consumes too much of my productive time.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I’ve realized that I shouldn&rsquo;t share too many personal details during group meetings. Sometimes professors might misunderstand you or even form negative impressions. From now on, I plan to stick strictly to reporting the facts.</p>
<p>I finally finished an assignment for my Finite Element Method (FEM) course. However, I fell into the trap of tinkering with my editor and software again until 5 PM. It’s a habit I really need to break, as it consumes too much of my productive time.</p>
<p>In the evening, I braised some pork ribs with yam and lotus root for tomorrow’s lunch. Afterward, I spent about an hour scrolling on my phone before calling it a night.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-02-01</title>
      <link>https://jinpeng.cv/en/diary/2026/february/2026-02-01/</link>
      <pubDate>Sun, 01 Feb 2026 14:58:37 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/february/2026-02-01/</guid>
      <description>&lt;h3 id=&#34;-1500--optimized-obsidian-startup-speed&#34;&gt;🕒 15:00 | Optimized Obsidian Startup Speed&lt;/h3&gt;
&lt;p&gt;By disabling some plugins and delaying the startup of others, I successfully improved the startup speed of #Obsidian on my phone.&lt;/p&gt;
&lt;h3 id=&#34;-1504--tinkering-with-vim&#34;&gt;🕒 15:04 | Tinkering with Vim&lt;/h3&gt;
&lt;p&gt;I downloaded the nightly version of #Wezterm , and my terminal can now display images! However, there are still some minor issues affecting my #neovim workflow. At this point, one of the biggest reasons I want to buy a #MacBook is to have a perfect terminal environment for writing and note-taking.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="-1500--optimized-obsidian-startup-speed">🕒 15:00 | Optimized Obsidian Startup Speed</h3>
<p>By disabling some plugins and delaying the startup of others, I successfully improved the startup speed of #Obsidian on my phone.</p>
<h3 id="-1504--tinkering-with-vim">🕒 15:04 | Tinkering with Vim</h3>
<p>I downloaded the nightly version of #Wezterm , and my terminal can now display images! However, there are still some minor issues affecting my #neovim workflow. At this point, one of the biggest reasons I want to buy a #MacBook is to have a perfect terminal environment for writing and note-taking.</p>
<h3 id="-bought-a-pair-of-work-shoes">🥾 Bought a Pair of Work Shoes</h3>
<p>For safety reasons, we are required to have a pair of CSA-certified safety shoes.</p>
<p>Amir asked me to go shoe shopping last Thursday, but I didn&rsquo;t want to spend a workday shopping. He mentioned that if I went today at 2 PM, he could join me. Around 2 PM, I received a message from him asking to push it back to 3 PM. I didn&rsquo;t believe he’d actually be ready by 3 PM, so I told him I was going ahead without him. He then asked if I could just buy a size 8 for him, but since I also needed to get groceries, I declined.</p>
<p>This was the first time I asked for a student discount, and I got 10% off! Not bad at all.</p>
<h3 id="-walked-home">🚶 Walked Home</h3>
<p>Since I missed the bus, I decided to walk home. I stopped at Safeway on the way to buy some eggs and chicken 🍗.</p>
<p>I was feeling so hungry that I broiled all of the chicken and made a stir-fry with melon and pork. Hot meals always recharge my energy.</p>
<h3 id="-chezmoi-and-wezterm">🛠️ Chezmoi and Wezterm</h3>
<p>Today I tried Neovide, a GUI for #neovim. I really like its smooth animations. However, after trying the nightly #Wezterm and seeing that it supports image display, I gave up on Neovide immediately. That feature is a game-changer for me.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-31</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-31/</link>
      <pubDate>Sat, 31 Jan 2026 01:04:36 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-31/</guid>
      <description>&lt;h3 id=&#34;0104-get-insomnia-again&#34;&gt;01:04 Get insomnia again&lt;/h3&gt;
&lt;p&gt;I want to have a good relaxing.&lt;/p&gt;
&lt;h3 id=&#34;0836-woke-up-early&#34;&gt;08:36 Woke up early&lt;/h3&gt;
&lt;p&gt;Not only did I not sleep well, I also woke up very early. I felt groggy all day, didn&amp;rsquo;t want to do anything, and couldn&amp;rsquo;t fall asleep even though I wanted to.&lt;/p&gt;
&lt;h3 id=&#34;1247-conflict-with-huan&#34;&gt;12:47 Conflict with Huan&lt;/h3&gt;
&lt;p&gt;I wanted to continue sleeping more, but I can&amp;rsquo;t fall asleep.I got up and quickly made myself something to eat.Huan and I had a fight last night. Every time we argue, it drains our energy.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0104-get-insomnia-again">01:04 Get insomnia again</h3>
<p>I want to have a good relaxing.</p>
<h3 id="0836-woke-up-early">08:36 Woke up early</h3>
<p>Not only did I not sleep well, I also woke up very early. I felt groggy all day, didn&rsquo;t want to do anything, and couldn&rsquo;t fall asleep even though I wanted to.</p>
<h3 id="1247-conflict-with-huan">12:47 Conflict with Huan</h3>
<p>I wanted to continue sleeping more, but I can&rsquo;t fall asleep.I got up and quickly made myself something to eat.Huan and I had a fight last night. Every time we argue, it drains our energy.</p>
<p>I played games for over an hour this afternoon, but I didn&rsquo;t feel any joy.Utterly disappointed, I uninstalled the game. I had a pent-up emotion I wanted to release, but I didn&rsquo;t know how. So I slapped myself hard twice.</p>
<p>That evening, I told Huanhuan about a possible solution.Perhaps we can reduce communication, especially voice or video communication.This is too easy to cause conflict.</p>
<p>The crucial point is to prioritize our sleep.</p>
<img alt="This is a hand map for teaching Ning and Man" loading="lazy" src="../../../../static/images/tech-ning-man-learn-map.png">]]></content:encoded>
    </item>
    <item>
      <title>2026-01-30</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-30/</link>
      <pubDate>Fri, 30 Jan 2026 21:25:26 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-30/</guid>
      <description>&lt;p&gt;It was a relatively quiet Friday. I am starting to adapt to reading literature in the afternoon. I am not satisfied to the assignments Victor assigned—the questions seem vague and unclear.&lt;/p&gt;
&lt;p&gt;Additionally, I’m finding it a bit irritating that Amir constantly asks me questions like, &amp;ldquo;What happened?&amp;rdquo; &amp;ldquo;What’s going on?&amp;rdquo; or &amp;ldquo;Did Dr. Liu come by the office?&amp;rdquo; I simply don&amp;rsquo;t have the time or the concentration to deal with messages that don&amp;rsquo;t concern me. Honestly, I don&amp;rsquo;t think those things should be important to him, either.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It was a relatively quiet Friday. I am starting to adapt to reading literature in the afternoon. I am not satisfied to the assignments Victor assigned—the questions seem vague and unclear.</p>
<p>Additionally, I’m finding it a bit irritating that Amir constantly asks me questions like, &ldquo;What happened?&rdquo; &ldquo;What’s going on?&rdquo; or &ldquo;Did Dr. Liu come by the office?&rdquo; I simply don&rsquo;t have the time or the concentration to deal with messages that don&rsquo;t concern me. Honestly, I don&rsquo;t think those things should be important to him, either.</p>
<p>I had a big dinner and spent the rest of the night studying <a href="https://lazyvim-ambitious-devs.phillips.codes/">Lazyvim for Ambitious Developers</a>. While I worked, I also had a video call with Huan.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-29</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-29/</link>
      <pubDate>Thu, 29 Jan 2026 22:31:27 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-29/</guid>
      <description>&lt;p&gt;Annoying Thursday again! But I felt a little bit better than last week. Don&amp;rsquo;t feel too much tired and sleepy.&lt;/p&gt;
&lt;p&gt;After school, I cooked some nice food for myself.&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;../../../../static/images/dinner-beef-chicken-wings.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;And then, continue to learn how to assist #Zotero with #Neovim .&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Annoying Thursday again! But I felt a little bit better than last week. Don&rsquo;t feel too much tired and sleepy.</p>
<p>After school, I cooked some nice food for myself.<br>
<img loading="lazy" src="../../../../static/images/dinner-beef-chicken-wings.png"></p>
<p>And then, continue to learn how to assist #Zotero with #Neovim .</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-28</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-28/</link>
      <pubDate>Wed, 28 Jan 2026 16:34:04 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-28/</guid>
      <description>&lt;h3 id=&#34;0934-say-it-again&#34;&gt;09:34 Say it again&lt;/h3&gt;
&lt;p&gt;This song is very warm and soft, I was listening to it during my morning walk.&lt;/p&gt;
&lt;h3 id=&#34;0945-concrete-is-stone&#34;&gt;09:45 #Concrete is stone&lt;/h3&gt;
&lt;p&gt;I wanna find some cutting-edge topic about concrete, perhaps we can see concrete as a stone where we can control the components. Is there any cutting-edge research about how to utilize these stones?&lt;/p&gt;
&lt;h3 id=&#34;1358-lab-training&#34;&gt;13:58 Lab Training&lt;/h3&gt;
&lt;p&gt;For having the capability to do lab experiments, #Jian gave us another training today. It was about all lab that we might use in the future.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0934-say-it-again">09:34 Say it again</h3>
<p>This song is very warm and soft, I was listening to it during my morning walk.</p>
<h3 id="0945-concrete-is-stone">09:45 #Concrete is stone</h3>
<p>I wanna find some cutting-edge topic about concrete, perhaps we can see concrete as a stone where we can control the components. Is there any cutting-edge research about how to utilize these stones?</p>
<h3 id="1358-lab-training">13:58 Lab Training</h3>
<p>For having the capability to do lab experiments, #Jian gave us another training today. It was about all lab that we might use in the future.</p>
<h3 id="1409-dont-chase-novelty-for-a-term-paper">14:09 Don&rsquo;t chase novelty for a term paper</h3>
<p>I was thinking about writing a term #paper including some novel topics. But I found that it is very hard to find a novel topic, at the same time, I don&rsquo;t have enough time to do some experiments or simulations about the novel topics. So I decided to write a review paper instead.</p>
<h3 id="1924-ssh-to-offices-computer">19:24 SSH to Office&rsquo;s Computer</h3>
<p>During afternoon, I was getting tired, probably because of the less lunch today.</p>
<p>I decided to #SSH to my office computer to continue my daytime work from my home after work. It worked well, I can use the terminal and VSCode remotely.</p>
<p>It&rsquo;s so nice and so cool!</p>
<p>Here is my Windows Terminal configuration:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl">    <span class="s2">&#34;profiles&#34;</span><span class="err">:</span> 
</span></span><span class="line"><span class="cl">    <span class="p">{</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;defaults&#34;</span><span class="p">:</span> <span class="p">{},</span>
</span></span><span class="line"><span class="cl">        <span class="nt">&#34;list&#34;</span><span class="p">:</span> 
</span></span><span class="line"><span class="cl">        <span class="p">[</span>
</span></span><span class="line"><span class="cl">            <span class="p">{</span>
</span></span><span class="line"><span class="cl">                <span class="nt">&#34;colorScheme&#34;</span><span class="p">:</span> <span class="s2">&#34;Solarized Dark&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">                <span class="nt">&#34;commandline&#34;</span><span class="p">:</span> <span class="s2">&#34;ssh jinpeng6@WVLIU-GD15 \&#34;cd ./AppData/Local/nvim &amp;&amp; pwsh -l\&#34;&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">                <span class="nt">&#34;font&#34;</span><span class="p">:</span> 
</span></span><span class="line"><span class="cl">                <span class="p">{</span>
</span></span><span class="line"><span class="cl">                    <span class="nt">&#34;face&#34;</span><span class="p">:</span> <span class="s2">&#34;JetBrainsMono Nerd Font&#34;</span>
</span></span><span class="line"><span class="cl">                <span class="p">},</span>
</span></span><span class="line"><span class="cl">                <span class="nt">&#34;guid&#34;</span><span class="p">:</span> <span class="s2">&#34;{4e6069e0-b760-515a-9783-4d16f1cc26c3}&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">                <span class="nt">&#34;icon&#34;</span><span class="p">:</span> <span class="s2">&#34;\ud83d\udcda&#34;</span><span class="p">,</span>
</span></span><span class="line"><span class="cl">                <span class="nt">&#34;name&#34;</span><span class="p">:</span> <span class="s2">&#34;WVLIU-GD15&#34;</span>
</span></span><span class="line"><span class="cl">            <span class="p">},</span>
</span></span><span class="line"><span class="cl">      <span class="p">],</span>
</span></span><span class="line"><span class="cl">    <span class="p">}</span><span class="err">,</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>I can connect to remote shell with local laptop.</p>
<h3 id="2214-remote-record">22:14 Remote record</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="k">function</span> now <span class="o">{</span>
</span></span><span class="line"><span class="cl">    param<span class="o">(</span>
</span></span><span class="line"><span class="cl">        <span class="o">[</span>switch<span class="o">]</span><span class="nv">$r</span>,
</span></span><span class="line"><span class="cl">        <span class="o">[</span>Parameter<span class="o">(</span><span class="nv">ValueFromRemainingArguments</span><span class="o">=</span><span class="nv">$true</span><span class="o">)]</span>
</span></span><span class="line"><span class="cl">        <span class="nv">$remainingArgs</span>
</span></span><span class="line"><span class="cl">    <span class="o">)</span>
</span></span><span class="line"><span class="cl">    
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="o">(</span><span class="nv">$r</span><span class="o">)</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl">        <span class="c1"># Execute on remote machine</span>
</span></span><span class="line"><span class="cl">        <span class="nv">$argsString</span> <span class="o">=</span> <span class="k">if</span> <span class="o">(</span><span class="nv">$remainingArgs</span><span class="o">)</span> <span class="o">{</span> <span class="nv">$remainingArgs</span> -join <span class="s1">&#39; &#39;</span> <span class="o">}</span> <span class="k">else</span> <span class="o">{</span> <span class="s1">&#39;&#39;</span> <span class="o">}</span>
</span></span><span class="line"><span class="cl">        ssh jinpeng6@WVLIU-GD15 <span class="s2">&#34;powershell.exe -File &#34;&#34;D:\A\Jeapo&#39;s blog\assets\code\now.ps1&#34;&#34; </span><span class="nv">$argsString</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl">        <span class="c1"># Execute locally</span>
</span></span><span class="line"><span class="cl">        <span class="k">if</span> <span class="o">(</span><span class="nv">$remainingArgs</span><span class="o">)</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl">            <span class="p">&amp;</span> <span class="s2">&#34;D:\blog\assets\code\now.ps1&#34;</span> @remainingArgs
</span></span><span class="line"><span class="cl">        <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl">            <span class="p">&amp;</span> <span class="s2">&#34;D:\blog\assets\code\now.ps1&#34;</span>
</span></span><span class="line"><span class="cl">        <span class="o">}</span>
</span></span><span class="line"><span class="cl">    <span class="o">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div><p>I changed my <code>now</code> script. I can record anytime into office computer.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-27</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-27/</link>
      <pubDate>Tue, 27 Jan 2026 17:41:58 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-27/</guid>
      <description>&lt;h3 id=&#34;1041-wrong-common-knowledge&#34;&gt;10:41 Wrong Common Knowledge&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;It&amp;rsquo;s colder than usual during snow melting&lt;/li&gt;
&lt;li&gt;We should create a deeply touching work, such as a poem, a song, an essay, whatever&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These two common knowledge are most likely some basic #truth in our past education, but they are actually wrong in my experience recently.&lt;/p&gt;
&lt;p&gt;Regarding the first one, I found that during snow melting, the temperature is actually higher than usual days. Because the sun is shining strongly, and the snow is reflecting the sunlight, so the overall temperature is higher. Especially in Edmonton, when the snow is melting, it means the temperature is very comfortable rather than so cold in other winter days.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1041-wrong-common-knowledge">10:41 Wrong Common Knowledge</h3>
<ul>
<li>It&rsquo;s colder than usual during snow melting</li>
<li>We should create a deeply touching work, such as a poem, a song, an essay, whatever</li>
</ul>
<p>These two common knowledge are most likely some basic #truth in our past education, but they are actually wrong in my experience recently.</p>
<p>Regarding the first one, I found that during snow melting, the temperature is actually higher than usual days. Because the sun is shining strongly, and the snow is reflecting the sunlight, so the overall temperature is higher. Especially in Edmonton, when the snow is melting, it means the temperature is very comfortable rather than so cold in other winter days.</p>
<p>The question makers only consider the snow melting will absorb heat, but they ignore the real environmental change.</p>
<p>About the second one, I think that creating only need to express your true feelings.</p>
<h3 id="1139-got-the-keys-to-lab">11:39 Got the keys to lab</h3>
<p>Today, Amir and I got the keys to labs from #Bonnie.We put 20 CAD deposit to get the keys. Bonnie is a very nice and kind lady.</p>
<h3 id="1140-coffee-works">11:40 Coffee works</h3>
<p>Morning&rsquo;s coffee is very effective. After drinking a cup of #coffee, I feel more energetic and focused.</p>
<p>After second class, Luis came our seats and compared our assignment 3 of Finite Element Method. Some mistakes were found in my work, so I corrected these mistakes whole afternoon.</p>
<h3 id="the-best-way-to-practice-speaking-is-to-speak">The best way to practice speaking is to speak</h3>
<p>I found that the best way to practice speaking is to speak. Just speak anything you want to say, don&rsquo;t care about the grammar, the accent, or the correctness. Just speak it out.</p>
<p>If you can learn how to pronounce phonetics symbols correctly, it will be better. But the most important thing is to build the confidence to speak.</p>
<p>In addition, just read some sentences what you are interested in aloud. It will help you a lot.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-26</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-26/</link>
      <pubDate>Mon, 26 Jan 2026 16:24:54 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-26/</guid>
      <description>&lt;h3 id=&#34;0924-start-determine-the-topic&#34;&gt;09:24 Start determine the topic&lt;/h3&gt;
&lt;p&gt;This is a last week for term paper. Everything is difficult at the beginning. Trying to use Perplexity #AI to help me select the topic, but it couldn&amp;rsquo;t give me a proper, innovative, realistic topic.&lt;/p&gt;
&lt;p&gt;I think the best way to find a meaningful topic is to do some things. The idea for solving the real problem will come up casually.&lt;/p&gt;
&lt;h3 id=&#34;1009-candy&#34;&gt;10:09 Candy&lt;/h3&gt;
&lt;p&gt;I found three &amp;lsquo;j&amp;rsquo; shape candies on my desk when came to my seat. I guessed these were from #Luis, I messaged him for thanks. After I got some water back, Luis came to my seat talk with me, and invited me to attend a GSA election event; he even promised me, &amp;ldquo;No talking there&amp;rdquo;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0924-start-determine-the-topic">09:24 Start determine the topic</h3>
<p>This is a last week for term paper. Everything is difficult at the beginning. Trying to use Perplexity #AI to help me select the topic, but it couldn&rsquo;t give me a proper, innovative, realistic topic.</p>
<p>I think the best way to find a meaningful topic is to do some things. The idea for solving the real problem will come up casually.</p>
<h3 id="1009-candy">10:09 Candy</h3>
<p>I found three &lsquo;j&rsquo; shape candies on my desk when came to my seat. I guessed these were from #Luis, I messaged him for thanks. After I got some water back, Luis came to my seat talk with me, and invited me to attend a GSA election event; he even promised me, &ldquo;No talking there&rdquo;.</p>
<h3 id="1137-he-has-become-a-pain-in-the-ass">11:37 He has become a pain in the ass</h3>
<p>Because the event I mentioned above, even #Amir said, &ldquo;He has become a pain in the ass&rdquo;. Lol, this is new expression for me. I laughed because even Amir, A so social guy, think too much social event has become a pain in the ass.</p>
<p>Eventually, Luis didn&rsquo;t go either; we had lunch together.</p>
<h3 id="1235-egypt-fridge-magnet">12:35 Egypt Fridge Magnet</h3>
<p>As usual, we casually had a chitchat after lunch. #Mark passed us, shakehand with everyone, he even said he wanna give us some gifts. A few minutes later, he came back and gave us some Egypt style fridge magnet. He confidently said, &ldquo;I am very famous on Tiktok&rdquo;. We opened the Tiktok to scroll his videos. He was really extrovert and I really appreciate his #confidence.</p>
<h3 id="afternoon">Afternoon</h3>
<p>In the afternoon, I polished my homework and continuously tried to set my term paper topic. Just like find a needle in a sea.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-25</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-25/</link>
      <pubDate>Sun, 25 Jan 2026 15:57:38 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-25/</guid>
      <description>&lt;h3 id=&#34;-morning--time-flies&#34;&gt;🕒 Morning | Time Flies&lt;/h3&gt;
&lt;p&gt;Time is moving so fast. So far today, I’ve had a video call with &lt;strong&gt;Huan&lt;/strong&gt;, spent some time lying in bed &lt;strong&gt;scrolling on my phone&lt;/strong&gt;, and played &lt;em&gt;Honor of Kings&lt;/em&gt; for an hour.&lt;/p&gt;
&lt;h3 id=&#34;-afternoon--tech-troubles&#34;&gt;🕒 Afternoon | Tech Troubles&lt;/h3&gt;
&lt;p&gt;I spent the entire afternoon trying to get my ** #terminal to support image rendering**, but I failed.&lt;/p&gt;
&lt;p&gt;Around 4 PM, I decided to do some laundry. Meanwhile, a &lt;strong&gt;DVD drive&lt;/strong&gt; I ordered from Amazon a few days ago arrived. However, it’s &lt;strong&gt;unstable and keeps disconnecting&lt;/strong&gt;, so I’ve already applied for a return.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="-morning--time-flies">🕒 Morning | Time Flies</h3>
<p>Time is moving so fast. So far today, I’ve had a video call with <strong>Huan</strong>, spent some time lying in bed <strong>scrolling on my phone</strong>, and played <em>Honor of Kings</em> for an hour.</p>
<h3 id="-afternoon--tech-troubles">🕒 Afternoon | Tech Troubles</h3>
<p>I spent the entire afternoon trying to get my ** #terminal to support image rendering**, but I failed.</p>
<p>Around 4 PM, I decided to do some laundry. Meanwhile, a <strong>DVD drive</strong> I ordered from Amazon a few days ago arrived. However, it’s <strong>unstable and keeps disconnecting</strong>, so I’ve already applied for a return.</p>
<p>The weekend is <strong>almost over</strong>. On the bright side, I didn&rsquo;t let myself completely spiral into laziness today.</p>
<h3 id="-evening--a-change-of-plans">🕒 Evening | A Change of Plans</h3>
<p>I originally planned to go to <strong>Canada Post</strong> to return the DVD drive, but by the time I got dressed, they were already closed. I also missed my chance to go to <strong>Safeway</strong> for groceries.</p>
<p>Instead of rushing out, I decided to stay in. The <strong>fried pork and potatoes</strong> I made for dinner were very tasty!</p>
<img loading="lazy" src="../../../../static/images/Griddle%20Potato%20Pork%20Belly.png"><p>I spent some more time studying English, and around 10 PM, I messaged <strong>Alex</strong> to catch up and see how he was doing.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-24</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-24/</link>
      <pubDate>Sat, 24 Jan 2026 20:58:37 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-24/</guid>
      <description>&lt;h3 id=&#34;-1358--exhausted&#34;&gt;🕒 13:58 | Exhausted&lt;/h3&gt;
&lt;p&gt;Last night, I scolded Huan again. She mistakenly thought a 12-year-old girl was a single mother; I felt her perception of reality was way off. I made her stay up late again, and now I feel a bit guilty about it.&lt;/p&gt;
&lt;h3 id=&#34;-obsidian--neovim&#34;&gt;📝 Obsidian &amp;amp; Neovim&lt;/h3&gt;
&lt;p&gt;I ran into an error with my Obsidian template in Neovim. It took a long time to troubleshoot and fix.&lt;/p&gt;
&lt;h3 id=&#34;-the-buffet-experience&#34;&gt;🍕 The Buffet Experience&lt;/h3&gt;
&lt;p&gt;Jian messaged me this afternoon saying he was coming to Southgate Mall to hang out. We decided to grab a box of buns and then head to a buffet.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="-1358--exhausted">🕒 13:58 | Exhausted</h3>
<p>Last night, I scolded Huan again. She mistakenly thought a 12-year-old girl was a single mother; I felt her perception of reality was way off. I made her stay up late again, and now I feel a bit guilty about it.</p>
<h3 id="-obsidian--neovim">📝 Obsidian &amp; Neovim</h3>
<p>I ran into an error with my Obsidian template in Neovim. It took a long time to troubleshoot and fix.</p>
<h3 id="-the-buffet-experience">🍕 The Buffet Experience</h3>
<p>Jian messaged me this afternoon saying he was coming to Southgate Mall to hang out. We decided to grab a box of buns and then head to a buffet.</p>
<p>I definitely overate. For the first five minutes, the food was delicious—I even told Jian it was the best food in Edmonton. However, about fifteen minutes later, the flavors started to feel very &ldquo;Canadian style&rdquo;: heavy, sweet, and greasy. As soon as I got home, I had to run to the bathroom.</p>
<h3 id="-video-call">📞 Video Call</h3>
<p>I had a group call with Kun &amp; Xia, Fang &amp; Quan, and Huan. We just caught up and chatted. We also talked about the passing of Fengxian&rsquo;s grandfather. He was the most important person in her life. I feel terrible for her loss and wish there was more I could do, but I know she is a strong woman and will get through this.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-23</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-23/</link>
      <pubDate>Fri, 23 Jan 2026 17:04:49 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-23/</guid>
      <description>&lt;h3 id=&#34;-1004--social-overload&#34;&gt;🕒 10:04 | Social Overload&lt;/h3&gt;
&lt;p&gt;There are several new faces in the office today. When I went to get some water, a fellow compatriot—the one who helped us find chairs at lunch the other day—started talking to me and asked to add me on WeChat. I felt a bit uncomfortable; I’m not really interested in joining or forming these kinds of social groups.&lt;/p&gt;
&lt;p&gt;There is also a new Chinese girl in the office sitting right behind me. I haven&amp;rsquo;t spoken to her yet. There are just too many people this term for my liking.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="-1004--social-overload">🕒 10:04 | Social Overload</h3>
<p>There are several new faces in the office today. When I went to get some water, a fellow compatriot—the one who helped us find chairs at lunch the other day—started talking to me and asked to add me on WeChat. I felt a bit uncomfortable; I’m not really interested in joining or forming these kinds of social groups.</p>
<p>There is also a new Chinese girl in the office sitting right behind me. I haven&rsquo;t spoken to her yet. There are just too many people this term for my liking.</p>
<h3 id="-1054--mindset-is-key">🕒 10:54 | Mindset is Key</h3>
<p>I’ve been feeling irritable and anxious lately. I know that maintaining a positive and open mindset is the only real way to overcome these negative moods.</p>
<h3 id="-1409--lab-training-and-assignments">🕒 14:09 | Lab Training and Assignments</h3>
<p>Zhiqiang gave Amir and me some lab training this afternoon, which was very helpful.</p>
<p>Afterward, the assignment for Civ E 665 took up our entire day. It was quite demanding.</p>
<p>In the evening, I had video calls with Huan, my friends, and my family. To end the night, I spent some time practicing and exploring Vim again.-</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-22</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-22/</link>
      <pubDate>Thu, 22 Jan 2026 23:40:20 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-22/</guid>
      <description>&lt;p&gt;I hate Thursdays; three courses let me so tired.&lt;/p&gt;
&lt;p&gt;I tried to integrate obsidian into Lazyvim.&lt;/p&gt;
&lt;p&gt;On a side note, I forgot cook last night, so I had to buy a hunch today. A very small bowl dishes cost me 14 CAD. So crazy.&lt;/p&gt;
&lt;p&gt;Good night.&lt;br&gt;
This journal is wrote by Lazyvim, cool!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I hate Thursdays; three courses let me so tired.</p>
<p>I tried to integrate obsidian into Lazyvim.</p>
<p>On a side note, I forgot cook last night, so I had to buy a hunch today. A very small bowl dishes cost me 14 CAD. So crazy.</p>
<p>Good night.<br>
This journal is wrote by Lazyvim, cool!</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-21</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-21/</link>
      <pubDate>Wed, 21 Jan 2026 17:25:32 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-21/</guid>
      <description>&lt;h3 id=&#34;1025-learning-english&#34;&gt;10:25 Learning English&lt;/h3&gt;
&lt;p&gt;I should study English at home rather than in the office, I think. I need to write more journals.&lt;/p&gt;
&lt;h3 id=&#34;1416-vimium&#34;&gt;14:16 Vimium&lt;/h3&gt;
&lt;p&gt;Vimium is a browser extension that can make using a browser like Vim.&lt;/p&gt;
&lt;h3 id=&#34;1558-safety-training&#34;&gt;15:58 Safety Training&lt;/h3&gt;
&lt;p&gt;Finished the Safety Training online course, and then I could start doing the lab soon, hopefully.&lt;/p&gt;
&lt;h3 id=&#34;1610-about-polishing&#34;&gt;16:10 About Polishing&lt;/h3&gt;
&lt;p&gt;Today I learned a very important concept &amp;ndash; about polishing. At the stage of writing, don&amp;rsquo;t worry about the format and the grammar issues.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1025-learning-english">10:25 Learning English</h3>
<p>I should study English at home rather than in the office, I think. I need to write more journals.</p>
<h3 id="1416-vimium">14:16 Vimium</h3>
<p>Vimium is a browser extension that can make using a browser like Vim.</p>
<h3 id="1558-safety-training">15:58 Safety Training</h3>
<p>Finished the Safety Training online course, and then I could start doing the lab soon, hopefully.</p>
<h3 id="1610-about-polishing">16:10 About Polishing</h3>
<p>Today I learned a very important concept &ndash; about polishing. At the stage of writing, don&rsquo;t worry about the format and the grammar issues.</p>
<p>For every essay I wrote, I should revise and proofread it again.</p>
<h3 id="eod">EOD</h3>
<p>I learn and practice Vim with VSCode extension all night. For me, a tool-lover, I think this is my ultimate end-of-strolling tool.</p>
<p>After mastering it, I think I can pay more attention to content creation.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-20</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-20/</link>
      <pubDate>Tue, 20 Jan 2026 22:12:52 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-20/</guid>
      <description>&lt;p&gt;I had two classes today that went until 2 PM. I was extremely tired all day because I didn&amp;rsquo;t sleep well.&lt;/p&gt;
&lt;p&gt;At lunch, I thought about eating early since I had class soon. I mentioned this to Chathuranga, and he said he wanted to eat now too. Well, that made our group too big and we couldn&amp;rsquo;t all sit together. It was pretty awkward.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I had two classes today that went until 2 PM. I was extremely tired all day because I didn&rsquo;t sleep well.</p>
<p>At lunch, I thought about eating early since I had class soon. I mentioned this to Chathuranga, and he said he wanted to eat now too. Well, that made our group too big and we couldn&rsquo;t all sit together. It was pretty awkward.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-19</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-19/</link>
      <pubDate>Mon, 19 Jan 2026 23:58:10 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-19/</guid>
      <description>&lt;p&gt;Chathuranga is back and brought us gifts - fridge magnets and jasmine tea. Very nice. We had lunch together at noon.&lt;/p&gt;
&lt;p&gt;Our regular group meeting at noon was uneventful. Started learning about Typst and FEM, then began studying VIM. After dinner at home, continued learning VIM. This editor is incredibly difficult to use.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Chathuranga is back and brought us gifts - fridge magnets and jasmine tea. Very nice. We had lunch together at noon.</p>
<p>Our regular group meeting at noon was uneventful. Started learning about Typst and FEM, then began studying VIM. After dinner at home, continued learning VIM. This editor is incredibly difficult to use.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-18</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-18/</link>
      <pubDate>Sun, 18 Jan 2026 13:33:58 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-18/</guid>
      <description>&lt;p&gt;Gemini gave me some great advice while I was learning &lt;strong&gt;Neovim&lt;/strong&gt;. It made a very good point:&lt;/p&gt;
&lt;h3 id=&#34;1333-for-beginners-over-intelligent-tools-are-often-the-biggest-obstacle-to-learning&#34;&gt;13:33 &amp;ldquo;For beginners, &amp;lsquo;over-intelligent&amp;rsquo; tools are often the biggest obstacle to learning.&amp;rdquo;&lt;/h3&gt;
&lt;p&gt;Since I am using a &amp;ldquo;cleaned-up&amp;rdquo; tutorial, I shouldn&amp;rsquo;t obsess over the missing &amp;lsquo;X&amp;rsquo; in the exercise. The core purpose of Lesson 1.4 is simply to learn how to use &lt;code&gt;i&lt;/code&gt; to append missing characters. As long as I identify where a line is missing text and manually complete it, I’ve achieved the goal of the exercise.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Gemini gave me some great advice while I was learning <strong>Neovim</strong>. It made a very good point:</p>
<h3 id="1333-for-beginners-over-intelligent-tools-are-often-the-biggest-obstacle-to-learning">13:33 &ldquo;For beginners, &lsquo;over-intelligent&rsquo; tools are often the biggest obstacle to learning.&rdquo;</h3>
<p>Since I am using a &ldquo;cleaned-up&rdquo; tutorial, I shouldn&rsquo;t obsess over the missing &lsquo;X&rsquo; in the exercise. The core purpose of Lesson 1.4 is simply to learn how to use <code>i</code> to append missing characters. As long as I identify where a line is missing text and manually complete it, I’ve achieved the goal of the exercise.</p>
<h3 id="afternoon">Afternoon</h3>
<p>I headed to the <strong>Edmonton Public Library (EPL)</strong> before sunset. The library is beautiful, though it was actually a bit crowded. I definitely plan to spend more time there in the future.</p>
<p>After leaving the library, I dropped by the <strong>bun shop</strong> next door. I picked up a box of buns but momentarily <strong>forgot to pay</strong>. The cashier got <strong>very angry with me</strong>, even though I had only just turned around and hadn&rsquo;t even taken a single step away. I apologized to her, but I really didn&rsquo;t appreciate her attitude.</p>
<p>I suspect that similar things must have happened to her before, which might explain why she reacted so poorly.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-17</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-17/</link>
      <pubDate>Sat, 17 Jan 2026 21:41:14 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-17/</guid>
      <description>&lt;p&gt;Today is Saturday. I &lt;strong&gt;woke up early&lt;/strong&gt; to video call Huan before she went to bed. I &lt;strong&gt;scolded her&lt;/strong&gt; a bit again because I feel she often &lt;strong&gt;represses her emotions&lt;/strong&gt; just to be a &amp;ldquo;good person.&amp;rdquo; I don&amp;rsquo;t think that’s healthy, especially between family and partners—it&amp;rsquo;s important to be honest about how we feel.&lt;/p&gt;
&lt;p&gt;After the call, I started working on my assignment. I’ve really come to &lt;strong&gt;enjoy using Quarto and LaTeX&lt;/strong&gt; to complete my homework; the results look very professional.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today is Saturday. I <strong>woke up early</strong> to video call Huan before she went to bed. I <strong>scolded her</strong> a bit again because I feel she often <strong>represses her emotions</strong> just to be a &ldquo;good person.&rdquo; I don&rsquo;t think that’s healthy, especially between family and partners—it&rsquo;s important to be honest about how we feel.</p>
<p>After the call, I started working on my assignment. I’ve really come to <strong>enjoy using Quarto and LaTeX</strong> to complete my homework; the results look very professional.</p>
<p>The weather was so beautiful today that I decided to go for a walk. I found a <strong>park bench</strong> and called my parents. My mom mentioned she wanted to take a job planting trees all day for only <strong>60 RMB a day</strong>. I spent a long time trying to <strong>persuade her not to do it</strong>. She has spent her entire life working the soil, and I really want her to finally just <strong>relax and enjoy a peaceful life</strong>.</p>
<p>As it started to get dark, we hung up, and I stopped by <strong>Safeway</strong> to pick up some groceries.</p>
<p>On my way back, a man from <strong>Somalia</strong> struck up a conversation with me. It was a nice interaction, and it made me realize that I should <strong>head to the park or go for walks more frequently</strong> whenever the weather is this nice.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-16</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-16/</link>
      <pubDate>Fri, 16 Jan 2026 23:35:17 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-16/</guid>
      <description>&lt;p&gt;Since I had no classes today, I spent the entire day &lt;strong&gt;working on my assignments&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;In the morning, Luis invited me to a &lt;strong&gt;breakfast event&lt;/strong&gt;, but I turned him down. He then called Amir, who suggested that Luis ask me one more time, but I &lt;strong&gt;declined again&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;However, when they returned, Luis &lt;strong&gt;brought a burger back for me&lt;/strong&gt;. I felt a bit &lt;strong&gt;guilty and embarrassed&lt;/strong&gt; for having said no so many times when he was being so thoughtful. To make up for it, I &lt;strong&gt;shared some meat and an egg&lt;/strong&gt; with him during lunch, which made me feel a little better.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Since I had no classes today, I spent the entire day <strong>working on my assignments</strong>.</p>
<p>In the morning, Luis invited me to a <strong>breakfast event</strong>, but I turned him down. He then called Amir, who suggested that Luis ask me one more time, but I <strong>declined again</strong>.</p>
<p>However, when they returned, Luis <strong>brought a burger back for me</strong>. I felt a bit <strong>guilty and embarrassed</strong> for having said no so many times when he was being so thoughtful. To make up for it, I <strong>shared some meat and an egg</strong> with him during lunch, which made me feel a little better.</p>
<p>In the afternoon, Amir <strong>interrupted me</strong> more than five times within a thirty-minute span. I was starting to get <strong>annoyed</strong>, so I finally said, &ldquo;Let me focus on my work for a while,&rdquo; and <strong>put on my noise-canceling earphones</strong>. I think he <strong>picked up on my mood</strong> because he didn&rsquo;t speak to me again until 5 PM.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-15</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-15/</link>
      <pubDate>Fri, 16 Jan 2026 00:09:23 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-15/</guid>
      <description>&lt;p&gt;I didn’t sleep well last night and didn’t fall asleep until almost two o’clock. I was exhausted the entire day today.&lt;/p&gt;
&lt;p&gt;On top of that, I had classes all day today. Three classes were truly draining.&lt;/p&gt;
&lt;p&gt;In the morning and again in the evening, Xiaohuan and I got into some confusing arguments over things that didn’t really make sense. Perhaps we both need to read more, experience more, and feel more.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I didn’t sleep well last night and didn’t fall asleep until almost two o’clock. I was exhausted the entire day today.</p>
<p>On top of that, I had classes all day today. Three classes were truly draining.</p>
<p>In the morning and again in the evening, Xiaohuan and I got into some confusing arguments over things that didn’t really make sense. Perhaps we both need to read more, experience more, and feel more.</p>
<div class="encrypted-content" data-cipher="pio5rKh552h5aW977yM5b&#43;r5Lik54K55omN552h552A77yM5LuK5aSp5LiA5pW05aSp5Y&#43;v5Zuw5LqG44CCPC9wPgo8cD7ogIzkuJTku4rlpKnmnInkuIDmlbTlpKnnmoTor77nqIvvvIzkuInoioLor77mmK/nnJ/nmoTntK/jgII8L3A&#43;CjxwPuaXqeS4iuWSjOaZmuS4iumDveWSjOWwj&#43;asouasouWboOS4uuS4gOS6m&#43;aRuOS4jeedgOWktOiEkeeahOS6ieiuuuiAjOaRuOS4jeedgOWktOiEkeOAguaIluiuuOaIkeS7rOmDveW6lOivpeWOu&#43;mYheivu&#43;abtOWkmu&#43;8jOe7j&#43;WOhuabtOWkmu&#43;8jOaEn&#43;WPl&#43;abtOWkmuOAgjwvcD4KPHA&#43;55pma" data-hint="Content Here is Encrypted" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Content Here is Encrypted</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2026-01-14</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-14/</link>
      <pubDate>Wed, 14 Jan 2026 23:33:59 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-14/</guid>
      <description>&lt;p&gt;I didn&amp;rsquo;t sleep very well last night, so I felt quite &lt;strong&gt;groggy&lt;/strong&gt; when I woke up today.&lt;/p&gt;
&lt;p&gt;Despite the tiredness, it was a very &lt;strong&gt;fulfilling day&lt;/strong&gt; of study. I spent the entire day reading literature and recorded my thoughts and to-do items in my &lt;strong&gt;weekly log&lt;/strong&gt; (&lt;a href=&#34;../weekly/2026-W03.md&#34;&gt;2026-W03&lt;/a&gt;). I also managed to submit my assignments. In the morning, I grabbed a coffee with Dr. Zhao. During lunch with Luis, Amir, and Dr. Zhao, we ran into Zheng, and I introduced everyone. Without realizing it, I’ve once again become the &lt;strong&gt;central hub&lt;/strong&gt; and a &lt;strong&gt;bridge&lt;/strong&gt; for connecting different people in the group.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I didn&rsquo;t sleep very well last night, so I felt quite <strong>groggy</strong> when I woke up today.</p>
<p>Despite the tiredness, it was a very <strong>fulfilling day</strong> of study. I spent the entire day reading literature and recorded my thoughts and to-do items in my <strong>weekly log</strong> (<a href="../weekly/2026-W03.md">2026-W03</a>). I also managed to submit my assignments. In the morning, I grabbed a coffee with Dr. Zhao. During lunch with Luis, Amir, and Dr. Zhao, we ran into Zheng, and I introduced everyone. Without realizing it, I’ve once again become the <strong>central hub</strong> and a <strong>bridge</strong> for connecting different people in the group.</p>
<p>For dinner, I made some vegetables in a <strong>sour broth</strong> (Suantang), which was delicious. Afterward, I started working on some code to implement an <strong>all-in-one workflow</strong> for my assignments using <strong>Quarto</strong>.</p>
<p>On a side note, I found a discarded chair near the garbage station this morning and decided to <strong>salvage</strong> it. Also, after seeing that my roommate had left the bathroom messy again, I finally hit my limit and <strong>sent him a message</strong> to address the issue.</p>
<div class="encrypted-content" data-cipher="pio552h5b6X5LiN5piv54m55Yir5aW977yM5LuK5aSp6LW35bqK5Zuw5Zuw55qE44CCPC9wPgo8cD7ku4rlpKnlrabkuaDmr5TovoPlhYXlrp7vvIznnIvkuobkuIDmlbTlpKnnmoTmlofnjK4s5YaZ5LqG5LiA5Lqb5oOz5rOV5ZKM5Luj5Yqe5ZyoIDxhIGhyZWY9Ii9lbi9kaWFyeS8yMDI2L2phbnVhcnkvLi4vd2Vla2x5LzIwMjYtVzAzIj4yMDI2LVcwMzwvYT7vvIznhLblkI7miorkvZzkuJrmj5DkuqTkuobjgILml6nkuIrlkowgRHIgWmhhbyDljrvkubDkuobmna/lkpbllaHjgILkuK3ljYjlkowgTHVpcyBBbWlyLCBaaGFvIOS4gOi1t&#43;WQg&#43;mlre&#43;8jOeisOWIsOaUv&#43;&#43;8jOS7i&#43;e7jeS6huS7luS7rOS4gOi1t&#43;iupOivhuOAguS4jeefpeS4jeinie&#43;8jOaIkeWPiOWPmOaIkOS6huWkp&#43;WutueahOS4reW/g&#43;WSjOiupOivhuWFtuS7luS6uueahOahpeaigeOAgjwvcD4KPHA&#43;5pma5LiK5Zue5a626YW45rGk54Wu5LqG6JSs6I&#43;c77yM6Z2e5bi45aW95ZCD44CC54S25ZCO5byA5aeL5YaZ5Luj56CB5a6e546w5L2c5Lia5ZyoIHF1YXJ0byDph4zpnaLnmoTkuIDnq5nlvI/lrozmiJDjgII8L3A&#43;CjxwPuWvueS6hu&#43;8jOaXqeS4iuWHuumXqOWcqOWeg&#43;WcvuermeaXgei&#43;ueaNoeS6huS4quakheWtkOOAguaZmuS4iueci&#43;WIsOWupOWPi&#43;WPiOaKiuWNq&#43;eUn&#43;mXtOW8hOiEj&#43;S6hu&#43;8jOe7iOS6juW/jeS4jeS9j&#43;WSjOS7luWPkea2iOaBr&#43;ivtOS6huOAgjwvcD4KPHA&#43;55pma" data-hint="Content Here is Encrypted" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Content Here is Encrypted</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2026-01-13</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-13/</link>
      <pubDate>Tue, 13 Jan 2026 23:25:26 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-13/</guid>
      <description>&lt;p&gt;I don’t know why some things are so &lt;strong&gt;energy-consuming&lt;/strong&gt;, especially tasks like writing in my journal or studying.&lt;/p&gt;
&lt;p&gt;My day mostly consisted of &lt;strong&gt;attending two classes&lt;/strong&gt; and working on my &lt;strong&gt;Rock Mechanics homework&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Aside from that, it was a quiet day with &lt;strong&gt;nothing major to report&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;In addition, I called the RBC to get $6 refund.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I don’t know why some things are so <strong>energy-consuming</strong>, especially tasks like writing in my journal or studying.</p>
<p>My day mostly consisted of <strong>attending two classes</strong> and working on my <strong>Rock Mechanics homework</strong>.</p>
<p>Aside from that, it was a quiet day with <strong>nothing major to report</strong>.</p>
<p>In addition, I called the RBC to get $6 refund.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-12</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-12/</link>
      <pubDate>Mon, 12 Jan 2026 23:23:22 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-12/</guid>
      <description>&lt;p&gt;Following my conversation with Victor last Friday, I decided to start &lt;strong&gt;getting up early&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;I was out the door by 9 AM and spent the morning working on &lt;strong&gt;Assignment 1 for my Finite Element Method (FEM) course&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;As usual, we had our &lt;strong&gt;group meeting at 1 PM&lt;/strong&gt; with Victor, Jason, Kourosh, and me. At the end of the meeting, Victor asked to have a &lt;strong&gt;one-on-one session&lt;/strong&gt; with me at 4 PM.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Following my conversation with Victor last Friday, I decided to start <strong>getting up early</strong>.</p>
<p>I was out the door by 9 AM and spent the morning working on <strong>Assignment 1 for my Finite Element Method (FEM) course</strong>.</p>
<p>As usual, we had our <strong>group meeting at 1 PM</strong> with Victor, Jason, Kourosh, and me. At the end of the meeting, Victor asked to have a <strong>one-on-one session</strong> with me at 4 PM.</p>
<p>The weather lately has been <strong>wonderful and mild</strong>, making it feel as though <strong>spring is just around the corner</strong>.</p>
<p>During our meeting, Victor took the time to learn more about my <strong>academic background</strong> and shared some of his thoughts. While we didn&rsquo;t land on a <strong>substantive research topic</strong> yet, it was a positive step toward <strong>defining my research goals</strong>.</p>
<p>I finally finished and <strong>submitted the assignment</strong> at midnight.</p>
<p>On a sad note, I <strong>lost my favorite wooden spoon</strong> today. I&rsquo;m actually quite upset about it.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-11</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-11/</link>
      <pubDate>Sun, 11 Jan 2026 20:46:31 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-11/</guid>
      <description>&lt;p&gt;Once again, I didn&amp;rsquo;t get anything productive done today. I had planned to wake up early to study, but I kept telling myself to sleep a little longer. When I couldn&amp;rsquo;t fall back asleep, I ended up &lt;strong&gt;scrolling on my phone&lt;/strong&gt; instead.&lt;/p&gt;
&lt;p&gt;After lunch, I did some chores—showering, washing my dirty clothes and socks, and prepping my lunch for tomorrow. Just like that, the day passed by in a &lt;strong&gt;haze&lt;/strong&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Once again, I didn&rsquo;t get anything productive done today. I had planned to wake up early to study, but I kept telling myself to sleep a little longer. When I couldn&rsquo;t fall back asleep, I ended up <strong>scrolling on my phone</strong> instead.</p>
<p>After lunch, I did some chores—showering, washing my dirty clothes and socks, and prepping my lunch for tomorrow. Just like that, the day passed by in a <strong>haze</strong>.</p>
<p>I was shocked to see that my <strong>screen time</strong> today reached a staggering <strong>9 hours and 37 minutes</strong>.</p>
<p>On another note, I realized that Huan and I share a common weakness: we are <strong>too honest</strong>. I find it impossible to keep anything to myself, though Huan is slightly better at it than I am.</p>
<p>I think I need to work on being a bit more <strong>evasive</strong> and developing the ability to <strong>tell a white lie</strong> when necessary.</p>
<div class="encrypted-content" data-cipher="LuK5Y&#43;I5piv5ZWl6YO95rKh5bmy77yM5oOz552A5pep54K56LW35p2l5a2m5Lmg44CC57uT5p6c5oOz552A5aSa552h5LiA5Lya77yM552h5LiN552A5Y&#43;I5byA5aeL546p5omL5py644CCPC9wPgo8cD7kuK3ljYjlkIPlrozppa3lkI7vvIzmtJfkuobmvqHvvIzmtJfkuobohI/ooaPmnI3vvIzohI/oopzlrZDjgILlgZrlrozmmI7lpKnnmoTljYjppJDvvIzku4rlpKnlsLHov5nmoLflj4jmtZHmtZHlmanlmanlnLDov4fljrvkuobjgII8L3A&#43;CjxwPuS7iuWkqeeOqeaJi&#43;acuueahOaXtumVv&#43;i&#43;vuWIsOS6huaDiuS6uueahCA5IOWwj&#43;aXtiAzNyDliIbpkp/jgII8L3A&#43;CjxwPuWvueS6hu&#43;8jOaIkeWSjOWwj&#43;asouasoumDveWPiOS4quWFseWQjOeahOe8uueCue&#43;8jOmCo&#43;WwseaYr&#43;WkquiAgeWunuS6huOAguW/g&#43;mHjOiXj&#43;S4jeS9j&#43;S4gOeCueivne&#43;8jOWwj&#43;asouasoui/mOaYr&#43;iDveiXj&#43;S4gOS6m&#43;OAgjwvcD4KPHA&#43;6ZyA6KaB5Yqg5by65LiA5LiL5ouQ5byv5oq56KeS55qE6IO95Yqb5ZKM5pKS6LCO55qE6IO95Yqb5LqG44CCPC9wPgo=PHA&#43;55aSp" data-hint="Content Here is Encrypted" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Content Here is Encrypted</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2026-01-10</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-10/</link>
      <pubDate>Sun, 11 Jan 2026 20:46:28 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-10/</guid>
      <description>&lt;p&gt;I was on the phone with Huan this morning until almost 11:00 AM. Afterward, Dr. Zhao asked me to go &lt;strong&gt;grocery shopping&lt;/strong&gt; with him so we could head back to his place to cook.&lt;/p&gt;
&lt;p&gt;As usual, we &lt;strong&gt;wandered around the mall&lt;/strong&gt; for a bit and ended up having Mexican food again. Honestly, it &lt;strong&gt;wasn&amp;rsquo;t very good&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Later, Dr. Zhao prepared a &lt;strong&gt;huge spread of dishes&lt;/strong&gt; and invited two other friends over. After dinner, they were getting ready to watch a movie, but I decided to &lt;strong&gt;head home early&lt;/strong&gt;. I wanted to make a few phone calls and &lt;strong&gt;get some rest&lt;/strong&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I was on the phone with Huan this morning until almost 11:00 AM. Afterward, Dr. Zhao asked me to go <strong>grocery shopping</strong> with him so we could head back to his place to cook.</p>
<p>As usual, we <strong>wandered around the mall</strong> for a bit and ended up having Mexican food again. Honestly, it <strong>wasn&rsquo;t very good</strong>.</p>
<p>Later, Dr. Zhao prepared a <strong>huge spread of dishes</strong> and invited two other friends over. After dinner, they were getting ready to watch a movie, but I decided to <strong>head home early</strong>. I wanted to make a few phone calls and <strong>get some rest</strong>.</p>
<div class="encrypted-content" data-cipher="LuK5pep5LiK57uZ5qyi5qyi5omT55S16K&#43;d77yM5omT5Yiw5LqG5pep5LiK5b&#43;r5Y2B5LiA54K577yM5biI5YWE5Y&#43;r5oiR5LuK5aSp5ZKM5LuW5Y675Lmw5Lqb6I&#43;c44CC54S25ZCO5Y675LuW5a625YGa6aWt5ZCD44CCPC9wPgo8cD7nhafkvovpgJvkuobpgJvllYblnLrvvIzlj4jlho3kuIDmrKHlkIPloqjopb/lk6Xppa3jgILlubbkuI3lpb3lkIPjgII8L3A&#43;CjxwPueEtuWQjuW4iOWFhOWBmuS6huS4gOWkp&#43;ahjOWtkOiPnO&#43;8jOi/mOmCgOivt&#43;S6huS7luWPpuWkluS4pOS4quaci&#43;WPi&#43;OAgumlreWQjuS7luS7rOWHhuWkh&#43;eci&#43;eUteW9se&#43;8jOaIkeWHhuWkh&#43;WFiOWbnuadpeS6huS6huOAguaJk&#43;aJk&#43;eUteivne&#43;8jOaXqeeCueS8keaBr&#43;OAgjwvcD4KPHA&#43;55aSp" data-hint="Content Here is Encrypted" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Content Here is Encrypted</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2026-01-09</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-09/</link>
      <pubDate>Sun, 11 Jan 2026 20:46:24 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-09/</guid>
      <description>&lt;p&gt;I &lt;strong&gt;didn&amp;rsquo;t sleep well&lt;/strong&gt; last night because I was preoccupied with the thought of going to talk to Dr. Liu. I wasn&amp;rsquo;t quite sure what to say, but I was &lt;strong&gt;genuinely worried&lt;/strong&gt; about him.&lt;/p&gt;
&lt;p&gt;At noon, I had lunch with Dr. Zhao, Luis, and Amir. The &lt;strong&gt;turkey I roasted yesterday&lt;/strong&gt; was actually quite delicious, so I brought some along to share with them.&lt;/p&gt;
&lt;p&gt;In the afternoon, I had a long, &lt;strong&gt;heart-to-heart talk&lt;/strong&gt; with Dr. Liu. I was able to express my care and share my thoughts with him. Overall, it went very well, though I have this habit of &lt;strong&gt;tearing up&lt;/strong&gt; whenever I sense someone else’s strong emotions. It’s a bit frustrating that I react that way, but the connection was real.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I <strong>didn&rsquo;t sleep well</strong> last night because I was preoccupied with the thought of going to talk to Dr. Liu. I wasn&rsquo;t quite sure what to say, but I was <strong>genuinely worried</strong> about him.</p>
<p>At noon, I had lunch with Dr. Zhao, Luis, and Amir. The <strong>turkey I roasted yesterday</strong> was actually quite delicious, so I brought some along to share with them.</p>
<p>In the afternoon, I had a long, <strong>heart-to-heart talk</strong> with Dr. Liu. I was able to express my care and share my thoughts with him. Overall, it went very well, though I have this habit of <strong>tearing up</strong> whenever I sense someone else’s strong emotions. It’s a bit frustrating that I react that way, but the connection was real.</p>
<p>In the evening, I called Huan and then spent some time <strong>on the phone with my family</strong>.</p>
<div class="encrypted-content" data-cipher="pio5rKh552h5aW977yM5Zug5Li65oOz552A6KaB5Y675om&#43;5YiY6ICB5biI6IGK5aSp44CC5LiN55&#43;l6YGT6K&#43;05Lqb5ZWl77yM5L2G5piv5oiR5pyJ54K55ouF5b&#43;D5LuW44CCPC9wPgo8cD7kuK3ljYjlkozotbXluIjlhYTvvIxMdWlzIOWSjCBhbWlyIOS4gOi1t&#43;WQg&#43;mlreOAguaIkeaYqOWkqeWBmueahOeBq&#43;m4oei/mOaMuummmeeahO&#43;8jOe7meS7luS7rOW4puS6huS6m&#43;OAgjwvcD4KPHA&#43;5LiL5Y2I5ZKM5YiY6ICB5biI6IGK5LqG6Z2e5bi45aSa77yM5Lmf6KGo5piO5LqG5oiR55qE5YWz5b&#43;D5ZKM5oOz5rOV44CC5oC75L2T5p2l6K&#43;06L&#43;Y5piv5oy65aW955qE77yM5bCx5piv5oiR5LiA5oSf6KeJ5Yiw5Yir5Lq655qE5oOF57uq5bCx6ICB5piv5Lya5o6J55y85rOq44CC6L&#43;Z54K56L&#43;Y5piv5oy654Om55qE44CCPC9wPgo8cD7mmZrkuIrnu5nlsI/mrKLmrKLmiZPnlLXor53vvIznhLblkI7lj4jlkozlrrbph4zmiZPnlLXor53jgII8L3A&#43;Cg==PHA&#43;55pma" data-hint="Content Here is Encrypted" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Content Here is Encrypted</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2026-01-08</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-08/</link>
      <pubDate>Thu, 08 Jan 2026 23:50:14 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-08/</guid>
      <description>&lt;h2 id=&#34;english&#34;&gt;English&lt;/h2&gt;
&lt;p&gt;There is so much worth recording today. Since it’s getting late, I’ll write this down now and keep it for my records.&lt;/p&gt;
&lt;p&gt;First, my &lt;strong&gt;English-related anxiety&lt;/strong&gt; eased up significantly today, especially after attending classes with Derek and Victor. I was amazed to find that I could understand &lt;strong&gt;nearly 90% of the content&lt;/strong&gt;; the remaining 10% didn&amp;rsquo;t hinder my overall comprehension at all. My confidence in English is finally coming back.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h2 id="english">English</h2>
<p>There is so much worth recording today. Since it’s getting late, I’ll write this down now and keep it for my records.</p>
<p>First, my <strong>English-related anxiety</strong> eased up significantly today, especially after attending classes with Derek and Victor. I was amazed to find that I could understand <strong>nearly 90% of the content</strong>; the remaining 10% didn&rsquo;t hinder my overall comprehension at all. My confidence in English is finally coming back.</p>
<p>Another thing I noticed during class was that Victor seemed <strong>exhausted and low on energy</strong>. I really want him to feel better, so I’m planning to gather my courage and stop by his office tomorrow just to <strong>chat for a bit</strong>. I realized that many people need care and connection. In their own worlds, they might be bogged down by trivial, stressful matters and simply need a chance to <strong>relax and talk</strong>.</p>
<p>In the evening, Huan forwarded me a photo of He You that Xiao Xue had sent. It occurred to me that I hadn&rsquo;t talked to them in a long time, so I spent some time <strong>chatting and joking</strong> with them in our group chat. Those old days were so happy, especially during my first two years of university. Here, there isn&rsquo;t such affordable hotpot, cheap alcohol, or <strong>friendships that feel quite that pure</strong>.</p>
<p>Things that seem difficult can lead to <strong>surprising changes</strong> if you just persist day by day. Whether it’s for a dream, a passion, or the future, it is worth sticking with the things that might cause short-term struggle but lead to long-term growth.</p>
<h2 id="chinese">Chinese</h2>
<p>今天有很多值得记录的事情。因为时间太晚了，就直接用中文记录吧，明天再翻译成英文。</p>
<p>第一就是今天的英语焦虑好了一些，尤其是上完 Derek 和 victor 的课之后。惊叹自己能够听懂几乎 90%的内容，而其他的内容已经不能够影响理解。英语自信又回来许多。</p>
<p>另一个就是在上课的时候，发现 victor 总是感觉很累，感觉很缺少能量的样子。我希望他开心一些，所以我打算明天鼓起勇气去他办公室里闲聊一会儿。突然发现很多人都需要别人的关心，他们在自己的世界里面可能会被各种各样琐碎烦心的事情困扰，他们需要放松和倾诉。</p>
<p>晚上小欢欢给我转发了小雪发的何优的照片，想着很久没有找他们聊天了。于是在群里和他们吹了会儿牛，以前的时光可真快乐啊，尤其是大一大二大时候。这边没有那么便宜的火锅，没有那么便宜的酒，也没有那么纯粹的朋友了。</p>
<p>看似很难的事情，一点一点的坚持，突然会在某一天发现有惊喜的改变。对于梦想，对于热爱，对于未来，都应该去坚持做一些短期会让自己痛苦的事情。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-07</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-07/</link>
      <pubDate>Wed, 07 Jan 2026 23:07:40 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-07/</guid>
      <description>&lt;p&gt;Last night I had an argument with Huan again. I reflected on myself and realized that my temper isn’t very good, and at the same time I blamed her for always staying silent and not expressing her own opinions.&lt;/p&gt;
&lt;p&gt;Today, I feel that my English is really quite poor. My progress has been very slow, and I still have trouble communicating with others when it comes to complex issues.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Last night I had an argument with Huan again. I reflected on myself and realized that my temper isn’t very good, and at the same time I blamed her for always staying silent and not expressing her own opinions.</p>
<p>Today, I feel that my English is really quite poor. My progress has been very slow, and I still have trouble communicating with others when it comes to complex issues.</p>
<p>Today, Luis asked Amir and me to go to a job fair. I had absolutely no interest in it, and I also didn’t have the courage to take the initiative to talk to people and learn more. I felt extremely frustrated.</p>
<p>Learning English has become urgent. My vocabulary seems insufficient, and I need to take the initiative to memorize more words. I also need to make good use of my time to review grammar once again.</p>
<p>By the way, at lunchtime today, Luis wanted to eat with us and asked whether I wanted to try his food. I rejected him instinctively. In the evening, I felt really bad about it, so I sent him a <a href="/en/letter/letter_202601072109/">text message</a> to explain.</p>
<div class="encrypted-content" data-cipher="pio5Y&#43;I5ZKM5bCP5qyi5qyi5ZC15p625LqG77yM5Y&#43;N5oCd6Ieq5bex6IS&#43;5rCU5oC75piv5LiN5aSn5aW977yM5Lmf6LSj5oCq5aW55oC75piv5rKJ6buY5LiN6KGo6L6&#43;6Ieq5bex5oSP6KeB44CCPC9wPgo8cD7mhJ/op4noh6rlt7HnmoToi7Hor63lrp7lnKjmmK/lpKrlt67lirLkuobvvIzov5vmraXpnZ7luLjnmoTmhaLvvIzlkozliKvkurrov5vooYzlpI3mnYLpl67popjnmoTmsp/pgJrkvp3nhLbov5jmmK/lrZjlnKjpl67popjjgII8L3A&#43;CjxwPuS7iuWkqSBMdWlzIOWPq&#43;aIkeWSjCBBbWlyIOWOu&#43;aLm&#43;iBmOS8mu&#43;8jOaIkeWOi&#43;agueWvuemCo&#43;S6m&#43;S4jeaEn&#43;WFtOi2o&#43;&#43;8jOS5n&#43;ayoeacieWLh&#43;awlOWOu&#43;S4u&#43;WKqOW8gOWPo&#43;S6huino&#43;&#43;8jOaEn&#43;WIsOmdnuW4uOeahOaMq&#43;i0peOAgjwvcD4KPHA&#43;6Iux6K&#43;t55qE5a2m5Lmg5Yi75LiN5a6557yT77yM6K&#43;N5rGH6YeP5Ly85LmO5Lmf5LiN5aSf77yM6ZyA6KaB5Li75Yqo55qE5Y676IOM5pu05aSa55qE5Y2V6K&#43;N5LqG44CC6LW257Sn5oqT57Sn5pe26Ze05YaN5oqK6K&#43;t5rOV5YaN6L&#43;H5LiA6YGN44CCPC9wPgo8cD7lr7nkuobvvIzku4rlpKnkuK3ljYggTHVpcyDmg7PlkozmiJHku6zkuIDotbflkIPppa3vvIzku5bpl67miJHmg7PkuI3mg7PlsJ3ku5bnmoTvvIzmiJHkuIvmhI/or4blnLDmi5Lnu53kuobjgILmmZrkuIrmhJ/op4npnZ7luLjkuI3lpb3vvIzkuo7mmK/lj5HkuoY8YSBocmVmPSIvZW4vZGlhcnkvMjAyNi9qYW51YXJ5Ly4uLy4uLy4uL2xldHRlci9sZXR0ZXJfMjAyNjAxMDcyMTA5Ij7nn63kv6E8L2E&#43;IOe7meS7luino&#43;mHiuOAgjwvcD4KPHA&#43;55pma" data-hint="Content Here is Encrypted" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Content Here is Encrypted</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2026-01-06</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-06/</link>
      <pubDate>Tue, 06 Jan 2026 20:30:37 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-06/</guid>
      <description>&lt;p&gt;&lt;strong&gt;There are so many things to do&lt;/strong&gt; that I suddenly feel panicked and don&amp;rsquo;t know where to start.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Practice spoken English and writing.&lt;/li&gt;
&lt;li&gt;Preview upcoming course content and review parts of past courses I didn’t fully understand.&lt;/li&gt;
&lt;li&gt;Start reading literature and determine my research direction.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;It&amp;rsquo;s time to &lt;strong&gt;start using my to-do app again&lt;/strong&gt;; only self-discipline can solve these problems.&lt;/p&gt;
&lt;p&gt;I studied phonetic symbols and practiced shadowing tonight. It’s hard to pronounce sounds that don&amp;rsquo;t exist in Chinese unless we &lt;strong&gt;build muscle memory&lt;/strong&gt; through practice.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p><strong>There are so many things to do</strong> that I suddenly feel panicked and don&rsquo;t know where to start.</p>
<ol>
<li>Practice spoken English and writing.</li>
<li>Preview upcoming course content and review parts of past courses I didn’t fully understand.</li>
<li>Start reading literature and determine my research direction.</li>
</ol>
<p>It&rsquo;s time to <strong>start using my to-do app again</strong>; only self-discipline can solve these problems.</p>
<p>I studied phonetic symbols and practiced shadowing tonight. It’s hard to pronounce sounds that don&rsquo;t exist in Chinese unless we <strong>build muscle memory</strong> through practice.</p>
<div class="encrypted-content" data-cipher="KaB55qE5LqL5oOF5aSq5aSa77yM56qB54S25oWM5LqG56We5LiN55&#43;l6YGT6KaB6KaB5YGa5ZWl44CCPC9wPgo8b2w&#43;CjxsaT7opoHlraboi7Hor63lj6Por63vvIzopoHlrabkuaDlhpnkvZw8L2xpPgo8bGk&#43;6KaB6aKE5Lmg6K&#43;&#43;56iL5YaF5a6577yM6KaB5aSN5Lmg5LiK6K&#43;&#43;5rKh55yL5oeC55qEPC9saT4KPGxpPuimgeWHhuWkh&#43;W8gOWni&#43;ivu&#43;aWh&#43;eMru&#43;8jOehruWumueglOeptuaWueWQkTxicj4K5piv5pe25YCZ5Y&#43;I57un57ut5q&#43;P5aSp5oqK5Luj5Yqe6L2v5Lu25Yip55So6LW35p2l5LqG77yM5ZSv5pyJ6Ieq5b6L5omN6IO96Kej5Yaz6L&#43;Z5Lqb5LqL5oOF44CCPC9saT4KPC9vbD4KPHA&#43;5LuK5aSp5pma5LiK5a2m5Lmg5LqG6Z&#43;z5qCH77yM57uD5LqG57uD6Lef6K&#43;744CC6L&#43;Y5piv6KaB5aSa57uD5Lmg5b2i5oiQ6IKM6IKJ6K6w5b&#43;G77yM5LiN54S25Lit5paH5rKh5pyJ55qE6Z&#43;z5Z&#43;65pys5LiN5Y&#43;v6IO95rWB55WF55qE6K&#43;05Ye65Y&#43;j44CCPC9wPgo=PHA&#43;65YGa" data-hint="Original Version" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Original Version</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2026-01-05</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-05/</link>
      <pubDate>Mon, 05 Jan 2026 21:39:11 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-05/</guid>
      <description>&lt;p&gt;Today marked the start of the winter semester, and with it, the return to a tense and busy academic life.&lt;/p&gt;
&lt;p&gt;We had a small group meeting at noon with Dr. Liu serving as today&amp;rsquo;s chair. We shared stories about our holidays and discussed our resolutions for the new year.&lt;/p&gt;
&lt;p&gt;I shared my four main goals for the year:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;To continue improving my English and become a more confident speaker.&lt;/li&gt;
&lt;li&gt;To learn the ropes of academic research and strive to complete one or two first drafts by the end of the year.&lt;/li&gt;
&lt;li&gt;To travel to another Canadian province.&lt;/li&gt;
&lt;li&gt;To save up enough money to buy a new laptop.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In the afternoon, Dr. Zhao invited me to his office to discuss my future plans. He suggested two research directions: RFID technology and concrete energy storage. Both sound fascinating to me. I need to start carving out time to read the literature and learn as much as possible from the senior students (my &lt;em&gt;shixiong&lt;/em&gt;) while they are still here.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today marked the start of the winter semester, and with it, the return to a tense and busy academic life.</p>
<p>We had a small group meeting at noon with Dr. Liu serving as today&rsquo;s chair. We shared stories about our holidays and discussed our resolutions for the new year.</p>
<p>I shared my four main goals for the year:</p>
<ol>
<li>To continue improving my English and become a more confident speaker.</li>
<li>To learn the ropes of academic research and strive to complete one or two first drafts by the end of the year.</li>
<li>To travel to another Canadian province.</li>
<li>To save up enough money to buy a new laptop.</li>
</ol>
<p>In the afternoon, Dr. Zhao invited me to his office to discuss my future plans. He suggested two research directions: RFID technology and concrete energy storage. Both sound fascinating to me. I need to start carving out time to read the literature and learn as much as possible from the senior students (my <em>shixiong</em>) while they are still here.</p>
<p>Later, Amir and I attended the orientation for new winter intake students. We were pleasantly surprised to find that they provided a complimentary meal!</p>
<p>However, I realized once again that I truly dislike social settings where you have to sit and chat with strangers—even with other Chinese students. It might just be my personality; I simply don&rsquo;t have much desire to dive into other people&rsquo;s lives.</p>
<div class="encrypted-content" data-cipher="LuK5Yas5a2j5a2m5pyf5byA5aeL5LqG77yM5Y&#43;I6KaB5byA5aeL57Sn5byg5b&#43;Z56KM55qE5a2m5Lmg55Sf5rS75LqG44CCPC9wPgo8cD7kuK3ljYjlvIDkvJrkurrkuI3lpJrvvIxEci4gTGl1IOS9nOS4uuS7iuWkqeeahOS4u&#43;W4reOAguWIhuS6q&#43;S6huWQhOiHqueahOWBh&#43;aXpe&#43;8jOS7peWPiuWvueS7iuW5tOeahOiuoeWIkuOAgjwvcD4KPHA&#43;5oiR5YiG5Lqr5LqG5oiR55qE5Zub5Liq6K6h5YiS77yaPC9wPgo8b2w&#43;CjxsaT7nu6fnu63lrabkuaDoi7Hor63vvIzmm7TliqDoh6rkv6HnmoTor7Toi7Hor608L2xpPgo8bGk&#43;5a2m5Lmg5LqG6Kej5aaC5L2V5YGa56eR56CU77yM5LqJ5Y&#43;W5bm05bqV5YaZ5Ye6IDEg6Iez5Lik56&#43;H5Yid56i/PC9saT4KPGxpPuWOu&#43;WIsOWKoOaLv&#43;Wkp&#43;WPpuWkluS4gOS4quW3nuaXheihjDwvbGk&#43;CjxsaT7mlJLpkrHkubDkuIDlj7DnrJTorrDmnKznlLXohJE8L2xpPgo8L29sPgo8cD7kuIvljYjnmoTml7blgJnvvIxEci4gWmhhbyDlj6vmiJHljrvku5bnmoTlip7lhazlrqTosIjkuobosIjmiJHmnKrmnaXnmoTmiZPnrpfjgILnu5nmiJHlu7rorq7kuobkuKTkuKrmlrnlkJHvvIzkuIDkuKogUkZJRCDlkozmt7flh53lnJ/lgqjog73jgILmiJHop4nlvpfpg73pnZ7luLjlpb3vvIzmiJHkuZ/opoHlvIDlp4vmir3ml7bpl7TlvIDlp4vpmIXor7vmlofnjK7kuobjgILotoHnnYDluIjlhYTku5bku6zov5jlnKjotbbntKflpJrlkJHku5bku6zlrabkuaDjgII8L3A&#43;CjxwPuWbnuadpeWQjuWSjCBBbWlyIOS4gOi1t&#43;WOu&#43;S6huWGrOWto&#43;WFpeWtpuaWsOeUn&#43;eahCBvcmllbnRhdGlvbu&#43;8jOWQjumdouaJjeWPkeeOsOacieaPkOS&#43;m&#43;mkkOmjn&#43;OAgjwvcD4KPHA&#43;5oiR55yf5piv5omT5b&#43;D55y86YeM5LiN5Zac5qyi6L&#43;Z56eN5ZKM6ZmM55Sf55qE5Lq65Z2Q5LiA6LW36IGK5aSp55qE5Zy65ZCI77yM6YKj5oCV5ZKM5Lit5Zu95Lq65Lmf5LiN5oS/5oSP44CC6L&#43;Z5oiW6K645piv5oiR55qE5oCn5qC85L2/54S277yM5oiR5LiN5oOz5LqG6Kej5Yir5Lq644CCPC9wPgo=PHA&#43;55aSp" data-hint="解锁中文版本" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 解锁中文版本</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2026-01-04</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-04/</link>
      <pubDate>Sun, 04 Jan 2026 00:21:06 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-04/</guid>
      <description>&lt;h3 id=&#34;0021-getting-ready-for-bed&#34;&gt;00:21 Getting ready for bed&lt;/h3&gt;
&lt;p&gt;I feel a muscle twitching or something moving in my stomach every now and then; it’s distracting and making it hard to fall asleep.&lt;/p&gt;
&lt;p&gt;Opened Pinduoduo to help my dad look for the Amur Cork Tree (&lt;em&gt;Phellodendron amurense&lt;/em&gt;) he wants to buy.&lt;/p&gt;
&lt;h3 id=&#34;0024-perfect&#34;&gt;00:24 Perfect&lt;/h3&gt;
&lt;p&gt;Using my phone for daily snippets; my computer or tablet for the end-of-day review; and my computer for note-taking or articles.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0021-getting-ready-for-bed">00:21 Getting ready for bed</h3>
<p>I feel a muscle twitching or something moving in my stomach every now and then; it’s distracting and making it hard to fall asleep.</p>
<p>Opened Pinduoduo to help my dad look for the Amur Cork Tree (<em>Phellodendron amurense</em>) he wants to buy.</p>
<h3 id="0024-perfect">00:24 Perfect</h3>
<p>Using my phone for daily snippets; my computer or tablet for the end-of-day review; and my computer for note-taking or articles.</p>
<p>Everything is organized into Obsidian very conveniently.</p>
<div class="encrypted-content" data-cipher="29rcCBxdWl0ZSBlYXJseSB0b2RheS4gQWZ0ZXIgd2FraW5nIHVwLCBJIGhhZCBhIHZpZGVvIGNhbGwgd2l0aCBIdWFuLiBJIHRhdWdodCBoZXIgaG93IHRvIHVzZSB0aGUgb25saW5lIHJlc291cmNlcyBmb3IgPGVtPkVuZ2xpc2ggR3JhbW1hciBpbiBVc2U8L2VtPi48L3A&#43;CjxwPlRoZW4sIEkgaGFkIGEgcmVsZWFzZSB1bmRlciBIdWFuJnJzcXVvO3MgaGVscC48L3A&#43;Cg==PHA&#43;VZSB1" data-hint="Content Here is Encrypted" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Content Here is Encrypted</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

<h3 id="1350-turkey-legs-are-terrible">13:50 Turkey legs are terrible</h3>
<p>Extremely gamey—so disgusting it makes me want to gag.</p>
<h3 id="1626-heading-out">16:26 Heading out</h3>
<p>Went to the supermarket to buy meat, milk, and veggies, then hit the liquor store for some beer. Alcohol is so expensive here; I can barely afford it.</p>
<p>School starts tomorrow, but I haven&rsquo;t accomplished much over the break. I&rsquo;m feeling a bit guilty.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-03</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-03/</link>
      <pubDate>Sat, 03 Jan 2026 23:08:47 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-03/</guid>
      <description>&lt;p&gt;I slept in again this morning.&lt;/p&gt;
&lt;p&gt;Fortunately, I studied two chapters of &lt;a href=&#34;../../../posts/note/note_202601021615.md&#34;&gt;Writing Academic English&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Because my bed and desk are not suitable, my shoulders get sore when I sit in front of them for a long time.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I slept in again this morning.</p>
<p>Fortunately, I studied two chapters of <a href="../../../posts/note/note_202601021615.md">Writing Academic English</a>.</p>
<p>Because my bed and desk are not suitable, my shoulders get sore when I sit in front of them for a long time.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-02</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-02/</link>
      <pubDate>Fri, 02 Jan 2026 22:49:34 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-02/</guid>
      <description>&lt;p&gt;I slept in this morning again.&lt;/p&gt;
&lt;p&gt;I went to school for studying After I finished my lunch.&lt;/p&gt;
&lt;p&gt;I made a eggplant with pork for dinner, and called my family this evening. After that, I teach Huan to use Mastodon.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I slept in this morning again.</p>
<p>I went to school for studying After I finished my lunch.</p>
<p>I made a eggplant with pork for dinner, and called my family this evening. After that, I teach Huan to use Mastodon.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2026-01-01</title>
      <link>https://jinpeng.cv/en/diary/2026/january/2026-01-01/</link>
      <pubDate>Thu, 01 Jan 2026 23:59:21 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2026/january/2026-01-01/</guid>
      <description>&lt;p&gt;Slept in and watched TV (Ted Lasso) all day again!&lt;/p&gt;
&lt;div class=&#34;encrypted-content&#34; data-cipher=&#34;29udHVsYXRpb25zISBZb3Uga25vdyB0b2RheSZyc3F1bztzIGtleSE8L3A&amp;#43;CjxwPk5vdGhpbmcgc3BlY2lhbCBvciBpbXBvcnRhbnQgaGVyZS48L3A&amp;#43;CjxwPkkgd2FudCB0byBnaXZlIHRoZSBwZW9wbGUgd2hvIGtub3cgbWUgYSBsaXR0bGUgaGVscCwgZXNwZWNpYWxseSByZWdhcmRpbmcgdGhlIGludGVybmV0LjwvcD4KPHA&amp;#43;VG8gdGVhY2ggcGVvcGxlIGhvdyB0byBpbXByb3ZlIG91ciBsaWZlIGJ5IGludGVybmV0LiBUaHJvdWdoIHRoZSBjb25mbGljdCBiZXR3ZWVuIEh1YW4gYW5kIG1lLCBJIHJlYWxpemVkIHRoYXQgc29tZW9uZSBuZWVkcyB0byBsZWFybiBob3cgdG8gYnJlYWsgdGhlIGluZm9ybWF0aW9uIGJhcnJpZXJzLjwvcD4KPHA&amp;#43;QZ3Jh&#34; data-hint=&#34;Content Here is Encrypted&#34; data-error=&#34;Password Error&#34;&gt;
  &lt;div class=&#34;locked-state&#34;&gt;
    &lt;p&gt;🔒 Content Here is Encrypted&lt;/p&gt;
    &lt;div class=&#34;password-prompt&#34;&gt;
      &lt;div class=&#34;password-input-wrapper&#34;&gt;
        &lt;input type=&#34;password&#34; class=&#34;password-input&#34;
               placeholder=&#34;Please input password&#34;
               id=&#34;pwd-input-0&#34;
               aria-label=&#34;加密内容密码&#34;&gt;
        &lt;button type=&#34;button&#34;
                class=&#34;toggle-visibility-btn&#34;
                aria-pressed=&#34;false&#34;
                aria-label=&#34;显示或隐藏密码&#34;
                onclick=&#34;toggleVisibility(this, &#39;pwd-input-0&#39;)&#34;&gt;
          &lt;svg class=&#34;icon icon-eye-open&#34; viewBox=&#34;0 0 24 24&#34; aria-hidden=&#34;true&#34;&gt;
            &lt;path d=&#34;M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z&#34;/&gt;
          &lt;/svg&gt;
          &lt;svg class=&#34;icon icon-eye-closed&#34; viewBox=&#34;0 0 24 24&#34; aria-hidden=&#34;true&#34;&gt;
            &lt;path d=&#34;M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z&#34;/&gt;
          &lt;/svg&gt;
        &lt;/button&gt;
      &lt;/div&gt;
      &lt;button class=&#34;decrypt-btn&#34; onclick=&#34;decryptContent(event, &#39;pwd-input-0&#39;)&#34;&gt;
        Unlock
      &lt;/button&gt;
    &lt;/div&gt;
    &lt;div class=&#34;status-message&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&#34;decrypted-content markdown-body&#34; hidden&gt;&lt;/div&gt;
&lt;/div&gt;



&lt;style&gt;
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
&lt;/style&gt;

&lt;script&gt;
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === &#39;password&#39;;
    input.type = isPwd ? &#39;text&#39; : &#39;password&#39;;
    btn.setAttribute(&#39;aria-pressed&#39;, String(isPwd));
    btn.classList.toggle(&#39;is-visible&#39;, isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest(&#39;.encrypted-content&#39;);
    const statusEl = container.querySelector(&#39;.status-message&#39;);
    const decryptedContent = container.querySelector(&#39;.decrypted-content&#39;);
  
    statusEl.textContent = &#39;&#39;;
    statusEl.classList.remove(&#39;error&#39;);
    input.classList.remove(&#39;error&#39;);
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, &#39;0&#39;) + String(today.getUTCDate()).padStart(2, &#39;0&#39;);
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, &#39;0&#39;);
  
    if (input.value !== validPwd) {
      input.classList.add(&#39;error&#39;);
      statusEl.textContent = container.dataset.error || &#39;&#39;;
      statusEl.classList.add(&#39;error&#39;);
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, &#39;&#39;);
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length &gt; 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i &lt; binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder(&#34;utf-8&#34;).decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = &#39;&#39;;
      decryptedContent.appendChild(fragment);
  
      container.querySelector(&#39;.locked-state&#39;).hidden = true;
      decryptedContent.hidden = false;
      container.classList.add(&#39;unlocked&#39;);
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = &#39;Decode Failed: &#39; + e.message;
      statusEl.classList.add(&#39;error&#39;);
    }
  }
  
  document.addEventListener(&#39;DOMContentLoaded&#39;, () =&gt; {
    document.querySelectorAll(&#39;.password-input&#39;).forEach(input =&gt; {
      input.addEventListener(&#39;keypress&#39;, e =&gt; {
        if (e.key === &#39;Enter&#39;) {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
&lt;/script&gt;</description>
      <content:encoded><![CDATA[<p>Slept in and watched TV (Ted Lasso) all day again!</p>
<div class="encrypted-content" data-cipher="29udHVsYXRpb25zISBZb3Uga25vdyB0b2RheSZyc3F1bztzIGtleSE8L3A&#43;CjxwPk5vdGhpbmcgc3BlY2lhbCBvciBpbXBvcnRhbnQgaGVyZS48L3A&#43;CjxwPkkgd2FudCB0byBnaXZlIHRoZSBwZW9wbGUgd2hvIGtub3cgbWUgYSBsaXR0bGUgaGVscCwgZXNwZWNpYWxseSByZWdhcmRpbmcgdGhlIGludGVybmV0LjwvcD4KPHA&#43;VG8gdGVhY2ggcGVvcGxlIGhvdyB0byBpbXByb3ZlIG91ciBsaWZlIGJ5IGludGVybmV0LiBUaHJvdWdoIHRoZSBjb25mbGljdCBiZXR3ZWVuIEh1YW4gYW5kIG1lLCBJIHJlYWxpemVkIHRoYXQgc29tZW9uZSBuZWVkcyB0byBsZWFybiBob3cgdG8gYnJlYWsgdGhlIGluZm9ybWF0aW9uIGJhcnJpZXJzLjwvcD4KPHA&#43;QZ3Jh" data-hint="Content Here is Encrypted" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Content Here is Encrypted</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2025-12-31</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-31/</link>
      <pubDate>Thu, 01 Jan 2026 23:56:34 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-31/</guid>
      <description>&lt;p&gt;Slept in and watched TV (Ted Lasso) all day&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Slept in and watched TV (Ted Lasso) all day</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-30</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-30/</link>
      <pubDate>Tue, 30 Dec 2025 23:51:20 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-30/</guid>
      <description>&lt;p&gt;I spent the whole day binge-watching &lt;em&gt;Ted Lasso&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;In the afternoon, I decided to wash my bedsheets and small blanket to freshen them up and get rid of the dust. The &lt;strong&gt;dry weather in Edmonton&lt;/strong&gt; makes everything get dusty so quickly!&lt;/p&gt;
&lt;p&gt;However, the washing machine was completely useless with my small blanket. When the cycle finished, it was still &lt;strong&gt;sopping wet&lt;/strong&gt;. I naively thought the dryer might still be able to handle it, even in that state.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I spent the whole day binge-watching <em>Ted Lasso</em>.</p>
<p>In the afternoon, I decided to wash my bedsheets and small blanket to freshen them up and get rid of the dust. The <strong>dry weather in Edmonton</strong> makes everything get dusty so quickly!</p>
<p>However, the washing machine was completely useless with my small blanket. When the cycle finished, it was still <strong>sopping wet</strong>. I naively thought the dryer might still be able to handle it, even in that state.</p>
<p>Instead, the wet blanket ended up <strong>cleaning the inside of the dryer</strong> rather than getting dry. Eventually, I had no choice but to take everything out, <strong>wash them by hand</strong>, and wring them out myself. I’m planning to let them air-dry overnight before trying the dryer again tomorrow.</p>
<p>What bad luck—and I’m out <strong>six dollars</strong> in laundry fees!</p>
<p>I helped Huan register for a Mastodon account <strong>this evening</strong>. I don’t know why she had <strong>so much trouble</strong> doing it before. I was getting a little impatient and angry about this.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-29</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-29/</link>
      <pubDate>Mon, 29 Dec 2025 23:31:35 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-29/</guid>
      <description>&lt;p&gt;I didn&amp;rsquo;t do much today. I just read &lt;em&gt;Writing Academic English&lt;/em&gt; and &lt;em&gt;Grammar in Use&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been gradually getting into the rhythm of studying at home.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I didn&rsquo;t do much today. I just read <em>Writing Academic English</em> and <em>Grammar in Use</em>.</p>
<p>I&rsquo;ve been gradually getting into the rhythm of studying at home.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-27</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-27/</link>
      <pubDate>Sun, 28 Dec 2025 23:12:28 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-27/</guid>
      <description>&lt;p&gt;I didn’t write my diary yesterday, so I’m making it up today.&lt;/p&gt;
&lt;p&gt;What did I even do on December 27th? I’ve already forgotten and need to think carefully to recall it.&lt;/p&gt;
&lt;p&gt;I got up very late, cooked some rice, and made a simple stir‑fry for lunch. After eating, I decided to go to the mall to buy a nail clipper and a box of toothpaste.&lt;/p&gt;
&lt;p&gt;I saw KZ’s Moments post, so I went to Rogers to switch my SIM card to a 5G one. But my phone doesn’t support the mainstream 5G bands, so the network speed didn’t really improve.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I didn’t write my diary yesterday, so I’m making it up today.</p>
<p>What did I even do on December 27th? I’ve already forgotten and need to think carefully to recall it.</p>
<p>I got up very late, cooked some rice, and made a simple stir‑fry for lunch. After eating, I decided to go to the mall to buy a nail clipper and a box of toothpaste.</p>
<p>I saw KZ’s Moments post, so I went to Rogers to switch my SIM card to a 5G one. But my phone doesn’t support the mainstream 5G bands, so the network speed didn’t really improve.</p>
<p>Then I went to check out a church, but it was closed, so I decided to head to the EPL library instead for study.</p>
<p>It seemed like the snow‑clearing workers had also gone home for the holidays, because the snow on the road was ridiculously thick. By the time I was almost there, I felt like my face had frozen. I gave up and just went home.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-28</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-28/</link>
      <pubDate>Sun, 28 Dec 2025 23:12:25 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-28/</guid>
      <description>&lt;p&gt;I still got up pretty late today, but at least I studied more than I did yesterday.&lt;/p&gt;
&lt;p&gt;For lunch I had porridge and stir‑fried edamame with pork. For dinner I had instant noodles and some shredded pancake.&lt;/p&gt;
&lt;p&gt;I watched a video today. I’ve always agreed with its main message, but seeing it again still served as a reminder.&lt;/p&gt;
&lt;p&gt;Coming from a poor family, having the chance to study like this isn’t easy. I should cherish it, work hard, and not waste the opportunity.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I still got up pretty late today, but at least I studied more than I did yesterday.</p>
<p>For lunch I had porridge and stir‑fried edamame with pork. For dinner I had instant noodles and some shredded pancake.</p>
<p>I watched a video today. I’ve always agreed with its main message, but seeing it again still served as a reminder.</p>
<p>Coming from a poor family, having the chance to study like this isn’t easy. I should cherish it, work hard, and not waste the opportunity.</p>
<p>My roommate came back today.</p>
<div class="encrypted-content" data-cipher="XkgbW1hdGUgaW5mb3JtZWQgbWUgdG8gY29tcHV0ZSBEZWNlbWJlciBhbmQgSmFudWFyeSBiaWxsLiBJIHNhaWQgb2ssIGFuZCB0aGVuIGhlIHVzZWQgaGlzIHBob25lIHRvIHNlbmQgbWUgdGhlIHNjcmVlbnNob3Qgb2YgcmVzdWx0LiBJIHRob3VnaHQgaGUgc2FpZCBoZSB3b3VsZCBnbyB0byBoaXMgY2xhc3NtYXRlJnJzcXVvO3Mgcm9vbSBmb3IgY2FyaW5nIGEgY2F0LCBzbyBoZSBzaG91bGRuJnJzcXVvO3QgcGF5IHRoZSBlbGVjdHJvbmljIGZlZSB0aGlzIG1vbnRoLiBUaGVyZWZvcmUsIEkgYXNrZWQgaGltIHRvIGdldCB0aGUgYmlsbHMuPC9wPgo8cD5JIGZvdW5kIGhlIGNvbXB1dGUgU2VwdGVtYmVyIHR3aWNlIGFuZCBwb2ludGVkIHRoaXMsIGJ1dCBoZSBkaWRuJnJzcXVvO3QgYXBvbG9naXplIHRvIG1lLiBJIHRoaW5rIGhlIHNob3VsZCBkbyB0aGF0LCBpZiBJIHdlcmUgaGltLjwvcD4KPHA&#43;Tcm9v" data-hint="Content Here is Encrypted" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Content Here is Encrypted</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>2025-12-26</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-26/</link>
      <pubDate>Fri, 26 Dec 2025 21:40:15 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-26/</guid>
      <description>&lt;p&gt;I didn&amp;rsquo;t get out of bed until 11:30 today. After waking up, I checked my messages and had my chat proxy (Gemini) reply to them for me. Breaking out of my usual personality like this made me feel a lot better. It also got me thinking about how my &amp;ldquo;Chinese-style&amp;rdquo; personality doesn&amp;rsquo;t really work in my favor here—it makes me too easy to be pushed around, and I&amp;rsquo;m the one who ends up feeling miserable.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I didn&rsquo;t get out of bed until 11:30 today. After waking up, I checked my messages and had my chat proxy (Gemini) reply to them for me. Breaking out of my usual personality like this made me feel a lot better. It also got me thinking about how my &ldquo;Chinese-style&rdquo; personality doesn&rsquo;t really work in my favor here—it makes me too easy to be pushed around, and I&rsquo;m the one who ends up feeling miserable.</p>
<p>After getting up, I stuffed myself with pig’s trotters and cooked a pot of greens 🥬. Then, I spent the rest of the day scrolling on my phone; my self-control is honestly non-existent. In the evening, I headed to the mall to pick up some nail clippers and toothpaste, as well as some fruit and vegetables.</p>
<p>Once I got back, I was right back on my phone and tablet again—thinking about studying while actually just playing around.</p>
<p>Tomorrow, I really should go to school or the library to study.</p>
<hr>
<p>原文：</p>
<p>今天我 11 点半才起床，起床开始检查消息，叫我的代聊给我回复消息。这种突破自己的固有性格的方式使我舒服了很多，也开始反思自己中国式的性格最这里有点不大吃香了，老是容易被别人拿捏，自己还不舒服。</p>
<p>起床后干闷了猪脚，煮了一锅青菜🥬。然后又开始玩了一整天的手机，自控能力真的太低了。傍晚的时候去了趟商场买了指甲刀和牙膏，又去买了点水果和蔬菜。</p>
<p>回来又开始接着玩手机和平板了，一边想着学习一边玩。</p>
<p>明天还是去学校或者图书馆学习吧。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-25</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-25/</link>
      <pubDate>Fri, 26 Dec 2025 23:54:00 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-25/</guid>
      <description>&lt;p&gt;Translation:&lt;/p&gt;
&lt;p&gt;Today is a day worth recording, because today I went out to watch a movie by myself.&lt;/p&gt;
&lt;p&gt;A couple of days ago, I shared a video with Huan showing the magnificent scenery across Canada. Combined with the fact that I’ve been staying cooped up in my small room all this time, it gave me that feeling Sa Beining once described—like I’ve “lived in vain.”&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Translation:</p>
<p>Today is a day worth recording, because today I went out to watch a movie by myself.</p>
<p>A couple of days ago, I shared a video with Huan showing the magnificent scenery across Canada. Combined with the fact that I’ve been staying cooped up in my small room all this time, it gave me that feeling Sa Beining once described—like I’ve “lived in vain.”</p>
<p>Today is Christmas, and it’s also the New Year here. I wanted to go out and do something, but I didn’t have any particular destination in mind. Gemini suggested that I could go watch a movie, and I really liked that idea, so I decided to buy a movie ticket. I originally planned to buy one for 3:30, but then I remembered that Huan would wake up at 4:30 and I wanted to call her, so I bought a ticket for 6:30 instead. By the time I left, it was already very dark. I had wanted to take a look at the lake nearby, but that didn’t work out either.</p>
<p>Because there were no subtitles, I didn’t fully understand many of the details. Maybe it was also because I didn’t have anyone with me—being happy alone leaves no one to share it with—so I simply didn’t end up feeling happy at all.</p>
<p>Winter in Canada really isn’t an easy time. It feels like winter makes people become cold and indifferent.</p>
<p>今天是值得记录的一天，因为今天自己一个人出去看电影了。</p>
<p>前两天给欢分享一个视频，加拿大各地壮美的景色，再结合自己始终蜗居在自己的小房间，就有种感觉撒贝宁说的那种白活了的感觉。</p>
<p>今天是圣诞节，也是这边的新年。玩还是想着出去逛逛，但是没啥特别好的目的。Gemini 建议玩可以去看电影，玩很喜欢这个提议，然后就决定买张电影票看电影。本来想买 3 点半的，但是想着欢欢 4 点半起床要和欢欢打电话，于是买了六点半的。出门的时候天已经非常黑了，本想去看看他旁边的那个湖，也看不成了。</p>
<p>因为没有字幕，许多细节没有理解很清楚。也可能是没有伙伴，自己一个人快乐也没人分享，所以干脆就不产生快乐情绪了。</p>
<p>加拿大的冬天确实不是好日子，感觉冬天让人都变得冷漠。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-24</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-24/</link>
      <pubDate>Thu, 25 Dec 2025 00:34:58 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-24/</guid>
      <description>&lt;p&gt;I spent ages fiddling with templates again today. For some reason, my previous template suddenly stopped working on my iPad—it’s honestly getting a bit annoying.&lt;/p&gt;
&lt;p&gt;I didn’t sleep well, so I’ve been feeling under the weather all day. I planned to go to bed early, but somehow, I missed the chance again.&lt;/p&gt;
&lt;p&gt;I barely got any studying done today. The noise in the room kept distracting me, and I’ve realized I’m becoming more and more sensitive to it. It’s a vicious cycle. I need to learn how to be at peace with my surroundings, focus on my inner self, and reclaim my attention.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I spent ages fiddling with templates again today. For some reason, my previous template suddenly stopped working on my iPad—it’s honestly getting a bit annoying.</p>
<p>I didn’t sleep well, so I’ve been feeling under the weather all day. I planned to go to bed early, but somehow, I missed the chance again.</p>
<p>I barely got any studying done today. The noise in the room kept distracting me, and I’ve realized I’m becoming more and more sensitive to it. It’s a vicious cycle. I need to learn how to be at peace with my surroundings, focus on my inner self, and reclaim my attention.</p>
<p>I’ve come to realize I might be cut out to be a chef. Whenever I have free time, I love cooking a huge amount of food, but then I don’t even eat it—I just stockpile it. It’s a bad habit, as it usually ends up being not-so-fresh frozen leftovers.</p>
<p>Better luck tomorrow. Keep going!</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-23</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-23/</link>
      <pubDate>Tue, 23 Dec 2025 23:45:00 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-23/</guid>
      <description>&lt;p&gt;I got up early today, so I felt today is relatively full filling.&lt;/p&gt;
&lt;p&gt;I did my dirty laundry and I realized the #dryer has other benefits such as filtering the dust. After laundry I cooked lunch and studied for a short while.&lt;/p&gt;
&lt;p&gt;And then I think I can invite Jian to have a fried chicken for dinner, he wanted to go airport outlets mall to return a clothe he bought before. So we went and spent a lot of money. I bought a sweater and a pair of boots for me, a sweater for Huan.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I got up early today, so I felt today is relatively full filling.</p>
<p>I did my dirty laundry and I realized the #dryer has other benefits such as filtering the dust. After laundry I cooked lunch and studied for a short while.</p>
<p>And then I think I can invite Jian to have a fried chicken for dinner, he wanted to go airport outlets mall to return a clothe he bought before. So we went and spent a lot of money. I bought a sweater and a pair of boots for me, a sweater for Huan.</p>
<p>We ordered two Seoul fried chicken and brought them to Jian’s home. It’s a beautiful night with chicken and beer.</p>
<p>After that, we use projector to play a movie called Nobodies (浪浪山小妖怪), it’s a restful night. Huan was calling with me during 701 bus.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-22</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-22/</link>
      <pubDate>Mon, 22 Dec 2025 00:18:59 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-22/</guid>
      <description>&lt;h3 id=&#34;0015-starting-with-mastodon&#34;&gt;00:15 Starting with Mastodon&lt;/h3&gt;
&lt;p&gt;I recommended Huan to register a Chinese Mastodon instance, and tried to let her know what is mastodon.&lt;/p&gt;
&lt;p&gt;Besides, I am trying to integrate our toots on Mastodon into this Hugo blog.&lt;/p&gt;
&lt;p&gt;I need to learn more and output more.&lt;/p&gt;
&lt;h3 id=&#34;0038-code-with-agent&#34;&gt;00:38 Code with Agent&lt;/h3&gt;
&lt;p&gt;It&amp;rsquo;s easy for us to achieve a function that we want to do now.&lt;/p&gt;
&lt;h3 id=&#34;0223-good-night&#34;&gt;02:23 Good night&lt;/h3&gt;
&lt;h3 id=&#34;1200-integrating-fetch-mastodon-data-into-workflow&#34;&gt;12:00 Integrating fetch Mastodon data into workflow&lt;/h3&gt;
&lt;p&gt;It can now automatically fetch mastodon data into our Hugo page every day.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0015-starting-with-mastodon">00:15 Starting with Mastodon</h3>
<p>I recommended Huan to register a Chinese Mastodon instance, and tried to let her know what is mastodon.</p>
<p>Besides, I am trying to integrate our toots on Mastodon into this Hugo blog.</p>
<p>I need to learn more and output more.</p>
<h3 id="0038-code-with-agent">00:38 Code with Agent</h3>
<p>It&rsquo;s easy for us to achieve a function that we want to do now.</p>
<h3 id="0223-good-night">02:23 Good night</h3>
<h3 id="1200-integrating-fetch-mastodon-data-into-workflow">12:00 Integrating fetch Mastodon data into workflow</h3>
<p>It can now automatically fetch mastodon data into our Hugo page every day.</p>
<p>I&rsquo;m looking forward to seeing Huan at here.</p>
<p>Today I roasted a big turkey and four pork legs for next days. It’s not bad.</p>
<h3 id="2024-cmx">20:24 cmx</h3>
<p>I told Huan to register a Chinese mastodon instance.</p>
<p>een struggling to fall asleep because of the <strong>continuous and intermittent noise</strong> coming from the fans. I am trying to listen to louder music to <strong>increase my listening threshold</strong> so the noise doesn&rsquo;t bother me as much.</p>
<p>Today I roasted a big turkey and four pork legs for next days. It’s not bad.</p>
<p>I think I can use the posts on mastodon to instead of my #diary . But I think I also need to record other status for every day, and I like the recalling and summarizing process at night. So, I will insist on opening #obsidian to write diary every day, but only for the end of the day.</p>
<p>Other time or some moments I can directly post on #mastodon .</p>
<p>Ohh, right, I went to the building office to file a complaint about #noise , because I couldn’t fall asleep during whole night, and meanwhile I become more irritated by the high frequency noise.</p>
<p>Fortunately, the technician came my suite on time and reduced the volume of the noise at last. But it noise still exists, I can feel it every second.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-21</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-21/</link>
      <pubDate>Sun, 21 Dec 2025 00:03:04 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-21/</guid>
      <description>&lt;h3 id=&#34;-0027--smooth-ipad-shortcut&#34;&gt;🕒 00:27 | Smooth iPad Shortcut&lt;/h3&gt;
&lt;p&gt;I successfully created a very smooth &lt;strong&gt;iPad shortcut&lt;/strong&gt;. This record was actually added using it!&lt;br&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;../../../../static/images/diary/Hit%20now%20shortcut.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;-0101--first-priority&#34;&gt;🕒 01:01 | First Priority&lt;/h3&gt;
&lt;p&gt;The first thing I want to do is show this shortcut to Huan. I can now &lt;strong&gt;clip content from any app&lt;/strong&gt; directly into Obsidian and record text manually via the notification bar. #shortcut&lt;/p&gt;
&lt;p&gt;Today, I &lt;strong&gt;roasted a large turkey&lt;/strong&gt; and four pork legs to prep for the coming days. They turned out pretty well!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="-0027--smooth-ipad-shortcut">🕒 00:27 | Smooth iPad Shortcut</h3>
<p>I successfully created a very smooth <strong>iPad shortcut</strong>. This record was actually added using it!<br>
<img loading="lazy" src="../../../../static/images/diary/Hit%20now%20shortcut.jpg"></p>
<h3 id="-0101--first-priority">🕒 01:01 | First Priority</h3>
<p>The first thing I want to do is show this shortcut to Huan. I can now <strong>clip content from any app</strong> directly into Obsidian and record text manually via the notification bar. #shortcut</p>
<p>Today, I <strong>roasted a large turkey</strong> and four pork legs to prep for the coming days. They turned out pretty well!</p>
<h3 id="-0200--manual-input">🕒 02:00 | Manual Input</h3>
<p>Congratulations to me! I’ve figured out how to <strong>insert content into Obsidian</strong> manually, just like the iPad shortcut.</p>
<h3 id="-0311--good-night-">🕒 03:11 | Good night 🌇</h3>
<h3 id="-0312--formatting">🕒 03:12 | Formatting</h3>
<p>Don’t worry about the format for now!! I’ll leave that until the very end.</p>
<h3 id="-1622--freezing-cold">🕒 16:22 | Freezing Cold</h3>
<p>Dr. Zhao messaged me to see if I wanted to go shopping at <strong>Southgate Mall</strong>. It is freezing today; the wind is so sharp it actually <strong>hurts my face</strong>.</p>
<p>Before he arrived, I stopped by <strong>Dollarama</strong> to pick up a spoon and some adhesive tape.</p>
<p>After shopping, we grabbed some drinks at <strong>Starbucks</strong>. Dr. Zhao recommended that I try the <strong>Pink Drink</strong>.</p>
<h3 id="-1923--noise-issues">🕒 19:23 | Noise Issues</h3>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-20</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-20/</link>
      <pubDate>Sat, 20 Dec 2025 00:29:48 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-20/</guid>
      <description>&lt;p&gt;Logseq doesn’t suit to record diary yet, which is too much trouble and unstable. It will take a lot of time to resolve it when bugs occur. Maybe the best way to use it is only writing learning notes with zotero. #logseq&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;../../../../static/images/diary/iPad%20multiple%20windows.png&#34;&gt;&lt;p&gt;It’s easy to read and write side by side with the iPad, and easy to insert attachment. [[Obsidian]] is the best application to edit text. #app&lt;/p&gt;
&lt;p&gt;I got [[insomnia]] last night so too worn out now.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Logseq doesn’t suit to record diary yet, which is too much trouble and unstable. It will take a lot of time to resolve it when bugs occur. Maybe the best way to use it is only writing learning notes with zotero. #logseq</p>
<img loading="lazy" src="../../../../static/images/diary/iPad%20multiple%20windows.png"><p>It’s easy to read and write side by side with the iPad, and easy to insert attachment. [[Obsidian]] is the best application to edit text. #app</p>
<p>I got [[insomnia]] last night so too worn out now.</p>
<h3 id="1100-ohhhhh">11:00 Ohhhhh</h3>
<p>Too easy to insert time in [[obsidian]]. And it has the more powerful template plugin; I don’t think Logseq can catch up to Obsidian some day.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-19</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-19/</link>
      <pubDate>Fri, 19 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-19/</guid>
      <description>&lt;h3 id=&#34;0130&#34;&gt;01:30&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Avoid submitting duplicate files. #sync&lt;/li&gt;
&lt;li&gt;Trigger on push will not run again, but we can add the manual method. #workflow&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;1120-untrack-thebak-and-the-recycle-folders-logseq&#34;&gt;11:20 Untrack the&lt;code&gt;bak&lt;/code&gt; and the &lt;code&gt;.recycle&lt;/code&gt; folders. #logseq&lt;/h3&gt;
&lt;h3 id=&#34;2218&#34;&gt;22:18&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;I found a plenty of personal blog in English, at [[@Ye Olde Blogroll - Because blogs are the soul of the web]] #blog&lt;/li&gt;
&lt;li&gt;Another thing is that I registered Mastodon and realized it is a very pure platform nowadays. #mastodon&lt;/li&gt;
&lt;li&gt;Syncing my notes on different types of devices is very strolling, so I prefer to migrate to apple environments even more in the future. I spent a lot of time on strolling syncing between different devices today. After school I went to the apple store again, and explored MacBook and iPhone 17 series. I prefer MacBook Pro 14 inch and iPhone 17 pro black, but I think MacBook Pro 14 is a little weighted. #sync #apple&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;2248-ugh&#34;&gt;22:48 Ugh&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;I just killed a mouse; I’m not feeling well now. I found it at my kitchen yesterday, which was a little mouse. I would feel it likes me in some aspects. It tried to live in this harsh and lonely place as well as I do. #death #longly&lt;/li&gt;
&lt;li&gt;The Files manager of ios is a bullshit totally. I even cannot find an app to edit my plain text. I hate Apple now!!! The logseq is not mature enough, too many bugs. #ios&lt;/li&gt;
&lt;li&gt;Logseq cannot have the title property, damn it. So stupid!! #logseq&lt;/li&gt;
&lt;/ul&gt;</description>
      <content:encoded><![CDATA[<h3 id="0130">01:30</h3>
<ul>
<li>Avoid submitting duplicate files. #sync</li>
<li>Trigger on push will not run again, but we can add the manual method. #workflow</li>
</ul>
<h3 id="1120-untrack-thebak-and-the-recycle-folders-logseq">11:20 Untrack the<code>bak</code> and the <code>.recycle</code> folders. #logseq</h3>
<h3 id="2218">22:18</h3>
<ul>
<li>I found a plenty of personal blog in English, at [[@Ye Olde Blogroll - Because blogs are the soul of the web]] #blog</li>
<li>Another thing is that I registered Mastodon and realized it is a very pure platform nowadays. #mastodon</li>
<li>Syncing my notes on different types of devices is very strolling, so I prefer to migrate to apple environments even more in the future. I spent a lot of time on strolling syncing between different devices today. After school I went to the apple store again, and explored MacBook and iPhone 17 series. I prefer MacBook Pro 14 inch and iPhone 17 pro black, but I think MacBook Pro 14 is a little weighted. #sync #apple</li>
</ul>
<h3 id="2248-ugh">22:48 Ugh</h3>
<ul>
<li>I just killed a mouse; I’m not feeling well now. I found it at my kitchen yesterday, which was a little mouse. I would feel it likes me in some aspects. It tried to live in this harsh and lonely place as well as I do. #death #longly</li>
<li>The Files manager of ios is a bullshit totally. I even cannot find an app to edit my plain text. I hate Apple now!!! The logseq is not mature enough, too many bugs. #ios</li>
<li>Logseq cannot have the title property, damn it. So stupid!! #logseq</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-18</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-18/</link>
      <pubDate>Thu, 18 Dec 2025 00:00:00 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-18/</guid>
      <description>&lt;h3 id=&#34;1309&#34;&gt;13:09&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Initiate the personal Logseq to start separately recording daily journals and essays. #logseq&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;1330&#34;&gt;13:30&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Achieving the sync function on iPad by working copy. #sync&lt;/li&gt;
&lt;li&gt;Zotero integrity [[@Modal Assurance Criterion]]&lt;/li&gt;
&lt;li&gt;It&amp;rsquo;s not a good idea to make annotations on an iPad with Logseq; the better way is to use Zotero directly to read.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;1412&#34;&gt;14:12&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;It&amp;rsquo;s time to go home. I&amp;rsquo;m very sleepy and tired.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;2041&#34;&gt;20:41&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;I continue arguing with huan again, and then chatted with Dr. Hu for around one hour.&lt;/li&gt;
&lt;li&gt;She is an apple. Only space key can trigger the grammar check. #grammar&lt;/li&gt;
&lt;li&gt;It’s better than windows and android.&lt;/li&gt;
&lt;li&gt;&lt;img alt=&#34;Little bar&#34; loading=&#34;lazy&#34; src=&#34;../../../../static/images/diary/2025-12-18-Little_bar.png&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
      <content:encoded><![CDATA[<h3 id="1309">13:09</h3>
<ul>
<li>Initiate the personal Logseq to start separately recording daily journals and essays. #logseq</li>
</ul>
<h3 id="1330">13:30</h3>
<ul>
<li>Achieving the sync function on iPad by working copy. #sync</li>
<li>Zotero integrity [[@Modal Assurance Criterion]]</li>
<li>It&rsquo;s not a good idea to make annotations on an iPad with Logseq; the better way is to use Zotero directly to read.</li>
</ul>
<h3 id="1412">14:12</h3>
<ul>
<li>It&rsquo;s time to go home. I&rsquo;m very sleepy and tired.</li>
</ul>
<h3 id="2041">20:41</h3>
<ul>
<li>I continue arguing with huan again, and then chatted with Dr. Hu for around one hour.</li>
<li>She is an apple. Only space key can trigger the grammar check. #grammar</li>
<li>It’s better than windows and android.</li>
<li><img alt="Little bar" loading="lazy" src="../../../../static/images/diary/2025-12-18-Little_bar.png"></li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-17</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-17/</link>
      <pubDate>Wed, 17 Dec 2025 00:25:09 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-17/</guid>
      <description>&lt;p&gt;Studied for exam.&lt;/p&gt;
&lt;p&gt;Continue argued with Huan.&lt;/p&gt;
&lt;p&gt;Tired.&lt;/p&gt;
&lt;p&gt;Good night&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Studied for exam.</p>
<p>Continue argued with Huan.</p>
<p>Tired.</p>
<p>Good night</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-16</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-16/</link>
      <pubDate>Tue, 16 Dec 2025 23:41:34 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-16/</guid>
      <description>&lt;p&gt;I don’t know why Huan and I always get an unhappy mood at end of every discussion. I have the main reason for this argument. I felt better after calling with Feng—He told me don’t pay much more attention to these slight differences. It’s very normal because every one has the different personalities and backgrounds.&lt;/p&gt;
&lt;p&gt;Unless gambling  and drug abuse, we should give anything else more tolerance.&lt;/p&gt;
&lt;p&gt;I redeemed an extra large coffee at Tim Hortons by points. I drank too much coffee and I first time felt the power of coffee; I thought it was useless before.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I don’t know why Huan and I always get an unhappy mood at end of every discussion. I have the main reason for this argument. I felt better after calling with Feng—He told me don’t pay much more attention to these slight differences. It’s very normal because every one has the different personalities and backgrounds.</p>
<p>Unless gambling  and drug abuse, we should give anything else more tolerance.</p>
<p>I redeemed an extra large coffee at Tim Hortons by points. I drank too much coffee and I first time felt the power of coffee; I thought it was useless before.</p>
<p>Dr. Zhao bought us some rams, so our computers get a legendary upgrade by adding another 16 gb ram. It’s very nice.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-15</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-15/</link>
      <pubDate>Mon, 15 Dec 2025 23:27:50 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-15/</guid>
      <description>&lt;p&gt;I’m very happy today because I received my iPad from a new account offer of RBC bank.&lt;/p&gt;
&lt;p&gt;I haven&amp;rsquo;t been so happy for a long time for an electrical device. I was exploring as much as possible under my curiosity.&lt;/p&gt;
&lt;p&gt;I told Huan that I became a fan to apple from a pedestrian. I want to save some money to buy an iPhone and a MacBook.&lt;/p&gt;
&lt;p&gt;The style of apple likes a concentrated and professional engineer whom I admire for. Keep restraint but don&amp;rsquo;t be rigid.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I’m very happy today because I received my iPad from a new account offer of RBC bank.</p>
<p>I haven&rsquo;t been so happy for a long time for an electrical device. I was exploring as much as possible under my curiosity.</p>
<p>I told Huan that I became a fan to apple from a pedestrian. I want to save some money to buy an iPhone and a MacBook.</p>
<p>The style of apple likes a concentrated and professional engineer whom I admire for. Keep restraint but don&rsquo;t be rigid.</p>
<p>I recommended Huan to use Journal application to write diary next year, and I found that she opened many subscriptions with expensive fees but seldom uses them in the Apple Store before. I was very angry for this and I think this means that she didn’t already have more attention to her money, however, she don’t have any savings with working for five years.</p>
<p>I cannot imagine she didn’t check her monthly payments at all before; only making payments and return credit cards in her life. From an engineering perspective, This is not a good habit. The PDCA cycle only has P and D.</p>
<p>Huan: if you read this diary, you should search the PDCA to understand what I said. I believe it is easy for you.</p>
<p>I’m trying to use the screen keyboard of iPad to input. This is the first diary typed by my iPad.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-14</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-14/</link>
      <pubDate>Sun, 14 Dec 2025 23:03:52 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-14/</guid>
      <description>&lt;p&gt;I watched phone too long today.&lt;/p&gt;
&lt;p&gt;I polished and submitted the final assignment of sensing.&lt;/p&gt;
&lt;p&gt;I prefer to the individual assignment rather than group work.&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t like my chair because it is a little bit tall. I will choose to kneel on the ground to use the computer.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I watched phone too long today.</p>
<p>I polished and submitted the final assignment of sensing.</p>
<p>I prefer to the individual assignment rather than group work.</p>
<p>I don&rsquo;t like my chair because it is a little bit tall. I will choose to kneel on the ground to use the computer.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-13</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-13/</link>
      <pubDate>Sat, 13 Dec 2025 23:07:35 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-13/</guid>
      <description>&lt;p&gt;I didn&amp;rsquo;t go outside today.&lt;br&gt;
I slept in today, and called my family and friends.&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t have any friends who has a deep relationships here. So, a little boring for me.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I didn&rsquo;t go outside today.<br>
I slept in today, and called my family and friends.</p>
<p>I don&rsquo;t have any friends who has a deep relationships here. So, a little boring for me.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-12</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-12/</link>
      <pubDate>Fri, 12 Dec 2025 23:12:40 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-12/</guid>
      <description>&lt;p&gt;Daytime was normal time. We had a coffee time in the afternoon.&lt;/p&gt;
&lt;p&gt;Kourush played a piano music 🎹 for us, and Amir sang two songs for us. Chat leaded us to play the cheating game. It&amp;rsquo;s very nice.&lt;/p&gt;
&lt;p&gt;After then, Amir invited me to go shopping. I preferred to go T&amp;amp;T, but he thought the price is too high, so we walked over to Walmart under very cold snow. My tummy was not feeling good, and I didn&amp;rsquo;t know what&amp;rsquo;s reason. I bought some instant meal in T&amp;amp;T.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Daytime was normal time. We had a coffee time in the afternoon.</p>
<p>Kourush played a piano music 🎹 for us, and Amir sang two songs for us. Chat leaded us to play the cheating game. It&rsquo;s very nice.</p>
<p>After then, Amir invited me to go shopping. I preferred to go T&amp;T, but he thought the price is too high, so we walked over to Walmart under very cold snow. My tummy was not feeling good, and I didn&rsquo;t know what&rsquo;s reason. I bought some instant meal in T&amp;T.</p>
<p>It&rsquo;s not a good idea to go shopping in winter in Edmonton.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-11</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-11/</link>
      <pubDate>Thu, 11 Dec 2025 23:13:54 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-11/</guid>
      <description>&lt;p&gt;I already forgot what happened today&lt;/p&gt;
&lt;p&gt;2025-12-14&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I already forgot what happened today</p>
<p>2025-12-14</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-10</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-10/</link>
      <pubDate>Wed, 10 Dec 2025 23:40:49 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-10/</guid>
      <description>&lt;p&gt;I didn&amp;rsquo;t sleep well recently, plus last night worked on Huan&amp;rsquo;s visa.&lt;/p&gt;
&lt;p&gt;I felt very sleepy today. A doesn&amp;rsquo;t want to do the common work when I was doing too much. I don&amp;rsquo;t like this.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I didn&rsquo;t sleep well recently, plus last night worked on Huan&rsquo;s visa.</p>
<p>I felt very sleepy today. A doesn&rsquo;t want to do the common work when I was doing too much. I don&rsquo;t like this.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-09</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-09/</link>
      <pubDate>Tue, 09 Dec 2025 23:45:25 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-09/</guid>
      <description>&lt;p&gt;I didn&amp;rsquo;t do too much work today, we had an office hour today.&lt;/p&gt;
&lt;p&gt;After that, I felt boring and lazy. Went home very early.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I didn&rsquo;t do too much work today, we had an office hour today.</p>
<p>After that, I felt boring and lazy. Went home very early.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-08</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-08/</link>
      <pubDate>Mon, 08 Dec 2025 23:48:03 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-08/</guid>
      <description>&lt;p&gt;Today had a group meeting in the noon. I became the social leader on the meeting.&lt;/p&gt;
&lt;p&gt;I and Zhiqiang need to hold a coffee time on Friday.&lt;/p&gt;
&lt;p&gt;I worked till midnight for the office hour of tomorrow.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today had a group meeting in the noon. I became the social leader on the meeting.</p>
<p>I and Zhiqiang need to hold a coffee time on Friday.</p>
<p>I worked till midnight for the office hour of tomorrow.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-07</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-07/</link>
      <pubDate>Sun, 07 Dec 2025 21:42:29 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-07/</guid>
      <description>&lt;p&gt;I &lt;strong&gt;didn&amp;rsquo;t sleep well again&lt;/strong&gt; last night. When I finally woke up at 10:30 AM, Huan was still asleep.&lt;/p&gt;
&lt;p&gt;It was a &lt;strong&gt;boring day&lt;/strong&gt;. I boiled some &lt;strong&gt;rice noodles&lt;/strong&gt; for lunch, but I &lt;strong&gt;didn&amp;rsquo;t have much of an appetite&lt;/strong&gt; due to having eaten so much at yesterday&amp;rsquo;s buffet.&lt;/p&gt;
&lt;p&gt;In the afternoon, I focused on working on &lt;strong&gt;Huan&amp;rsquo;s visa application&lt;/strong&gt;. I honestly think her colleagues are completely &lt;strong&gt;selfish&lt;/strong&gt;. They don&amp;rsquo;t care about your actual needs; they only care about things that might affect &lt;strong&gt;their own work or future&lt;/strong&gt;. So, all they say is, &amp;ldquo;We can only give you this.&amp;rdquo; But is that what you actually need? &lt;strong&gt;I really dislike their attitude.&lt;/strong&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I <strong>didn&rsquo;t sleep well again</strong> last night. When I finally woke up at 10:30 AM, Huan was still asleep.</p>
<p>It was a <strong>boring day</strong>. I boiled some <strong>rice noodles</strong> for lunch, but I <strong>didn&rsquo;t have much of an appetite</strong> due to having eaten so much at yesterday&rsquo;s buffet.</p>
<p>In the afternoon, I focused on working on <strong>Huan&rsquo;s visa application</strong>. I honestly think her colleagues are completely <strong>selfish</strong>. They don&rsquo;t care about your actual needs; they only care about things that might affect <strong>their own work or future</strong>. So, all they say is, &ldquo;We can only give you this.&rdquo; But is that what you actually need? <strong>I really dislike their attitude.</strong></p>
<p>While I was doing my <strong>laundry</strong>, Alex messaged me to ask about my current <strong>studies and life</strong>. Our relationship seems to be <strong>growing closer</strong>.</p>
<p>I also want to make sure I <strong>write an email to Mr. Rob to express my appreciation</strong>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-06</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-06/</link>
      <pubDate>Sat, 06 Dec 2025 22:49:20 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-06/</guid>
      <description>&lt;p&gt;Today, Dr. Liu treated our group members to &lt;strong&gt;Yangming buffet&lt;/strong&gt; to celebrate  the Christmas advance in winter season. Kourosh kindly &lt;strong&gt;gave Amir and me a ride&lt;/strong&gt;. Although the weather was &lt;strong&gt;very harsh&lt;/strong&gt;, I felt &lt;strong&gt;incredibly warm&lt;/strong&gt; today. Everyone was so &lt;strong&gt;kind and optimistic&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;During the buffet, Mr. Rob released the scores for &lt;strong&gt;RFI #7 and the final exam&lt;/strong&gt;. I was so &lt;strong&gt;scared&lt;/strong&gt; that I &lt;strong&gt;didn&amp;rsquo;t dare to open Canvas&lt;/strong&gt; to check my total grade. To encourage me to check the result, Amir and I made a &lt;strong&gt;bet&lt;/strong&gt; on who would be the &amp;ldquo;loser.&amp;rdquo;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today, Dr. Liu treated our group members to <strong>Yangming buffet</strong> to celebrate  the Christmas advance in winter season. Kourosh kindly <strong>gave Amir and me a ride</strong>. Although the weather was <strong>very harsh</strong>, I felt <strong>incredibly warm</strong> today. Everyone was so <strong>kind and optimistic</strong>.</p>
<p>During the buffet, Mr. Rob released the scores for <strong>RFI #7 and the final exam</strong>. I was so <strong>scared</strong> that I <strong>didn&rsquo;t dare to open Canvas</strong> to check my total grade. To encourage me to check the result, Amir and I made a <strong>bet</strong> on who would be the &ldquo;loser.&rdquo;</p>
<p>Fortunately, I <strong>passed the exam and earned an A-</strong>! And, since I won the bet, I also won a <strong>pizza</strong>! Mr. Rob often said he isn&rsquo;t a kind person, but he truly is.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-05</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-05/</link>
      <pubDate>Fri, 05 Dec 2025 22:49:24 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-05/</guid>
      <description>&lt;p&gt;I &lt;strong&gt;didn&amp;rsquo;t sleep well&lt;/strong&gt; last night and felt very &lt;strong&gt;down&lt;/strong&gt;. Today was equally &lt;strong&gt;difficult&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;We had our &lt;strong&gt;last class at noon&lt;/strong&gt;, where we had to give our &lt;strong&gt;final presentation&lt;/strong&gt;. At the end of the presentation, Dr. Mohammad asked us a question, but &lt;strong&gt;I was unable to answer it&lt;/strong&gt;. I felt immediately &lt;strong&gt;sad and ashamed&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Ultimately, Dr. Mohammad gave us a score of &lt;strong&gt;13/15&lt;/strong&gt;. He is a very &lt;strong&gt;kind person&lt;/strong&gt;, but in that moment, I felt like I had &lt;strong&gt;disappointed him&lt;/strong&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I <strong>didn&rsquo;t sleep well</strong> last night and felt very <strong>down</strong>. Today was equally <strong>difficult</strong>.</p>
<p>We had our <strong>last class at noon</strong>, where we had to give our <strong>final presentation</strong>. At the end of the presentation, Dr. Mohammad asked us a question, but <strong>I was unable to answer it</strong>. I felt immediately <strong>sad and ashamed</strong>.</p>
<p>Ultimately, Dr. Mohammad gave us a score of <strong>13/15</strong>. He is a very <strong>kind person</strong>, but in that moment, I felt like I had <strong>disappointed him</strong>.</p>
<p>These last two days have been genuinely tough. I feel like I have <strong>many shortcomings</strong> and <strong>a lot of studying</strong> that I need to do.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-04</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-04/</link>
      <pubDate>Thu, 04 Dec 2025 22:49:28 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-04/</guid>
      <description>&lt;p&gt;In the morning, I &lt;strong&gt;submitted RFI #7&lt;/strong&gt;. At noon, we had our &lt;strong&gt;mining engineering class&lt;/strong&gt;, where the instructor gave us a final review. I &lt;strong&gt;don&amp;rsquo;t care for this teacher&lt;/strong&gt; and find his explanations to be &lt;strong&gt;confusing and disorganized&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;After the mining class, I had to prepare for the &lt;strong&gt;concrete exam&lt;/strong&gt; that evening. I felt completely &lt;strong&gt;overwhelmed by the sheer amount of content&lt;/strong&gt; and didn&amp;rsquo;t know where to start studying.&lt;/p&gt;
&lt;p&gt;The first &lt;strong&gt;three hours flew by quickly&lt;/strong&gt;, and then the &lt;strong&gt;two and a half hours&lt;/strong&gt; I had left before the exam also &lt;strong&gt;vanished rapidly&lt;/strong&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In the morning, I <strong>submitted RFI #7</strong>. At noon, we had our <strong>mining engineering class</strong>, where the instructor gave us a final review. I <strong>don&rsquo;t care for this teacher</strong> and find his explanations to be <strong>confusing and disorganized</strong>.</p>
<p>After the mining class, I had to prepare for the <strong>concrete exam</strong> that evening. I felt completely <strong>overwhelmed by the sheer amount of content</strong> and didn&rsquo;t know where to start studying.</p>
<p>The first <strong>three hours flew by quickly</strong>, and then the <strong>two and a half hours</strong> I had left before the exam also <strong>vanished rapidly</strong>.</p>
<p>Unsurprisingly, <strong>I did not perform well on the exam</strong>. I feel terrible about it.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-03</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-03/</link>
      <pubDate>Wed, 03 Dec 2025 21:30:34 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-03/</guid>
      <description>&lt;p&gt;This morning, I &lt;strong&gt;polished and submitted RFI 7&lt;/strong&gt; for the &lt;em&gt;Concrete Materials in Practice&lt;/em&gt; course.&lt;/p&gt;
&lt;p&gt;In the afternoon, I focused on &lt;strong&gt;reviewing class lectures&lt;/strong&gt; to prepare for my final exam.&lt;/p&gt;
&lt;p&gt;I attempted to use &lt;strong&gt;Copilot&lt;/strong&gt; to develop a &lt;strong&gt;Zotero plugin&lt;/strong&gt; that would export vocabulary words directly to Eudic, but unfortunately, it &lt;strong&gt;performed very poorly&lt;/strong&gt; (or &lt;strong&gt;didn&amp;rsquo;t deliver good results&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;After finishing my work, Amir and I made our &lt;strong&gt;first-ever trip to the Cameron Library&lt;/strong&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This morning, I <strong>polished and submitted RFI 7</strong> for the <em>Concrete Materials in Practice</em> course.</p>
<p>In the afternoon, I focused on <strong>reviewing class lectures</strong> to prepare for my final exam.</p>
<p>I attempted to use <strong>Copilot</strong> to develop a <strong>Zotero plugin</strong> that would export vocabulary words directly to Eudic, but unfortunately, it <strong>performed very poorly</strong> (or <strong>didn&rsquo;t deliver good results</strong>).</p>
<p>After finishing my work, Amir and I made our <strong>first-ever trip to the Cameron Library</strong>.</p>
<hr>
<p><strong>Summary of Polish:</strong></p>
<ul>
<li>
<p><strong>&ldquo;I polished and submitted the RFI 7 of Concrete Materials in Practice&rdquo;</strong> shortened slightly to <strong>&ldquo;I polished and submitted RFI 7 for the <em>Concrete Materials in Practice</em> course&rdquo;</strong> (Clearer flow).</p>
</li>
<li>
<p><strong>&ldquo;Afternoon, I reviewed the class lectures for preparing the final exam&rdquo;</strong> changed to <strong>&ldquo;In the afternoon, I focused on reviewing class lectures to prepare for my final exam&rdquo;</strong> (Improved transition and verb choice).</p>
</li>
<li>
<p><strong>&ldquo;I wanted let Copilot to develop a Zotero plugin&hellip;&rdquo;</strong> changed to <strong>&ldquo;I attempted to use Copilot to develop a Zotero plugin&hellip;&rdquo;</strong> (More precise verb).</p>
</li>
<li>
<p><strong>&ldquo;it did really bad&rdquo;</strong> changed to <strong>&ldquo;it performed very poorly (or didn&rsquo;t deliver good results)&rdquo;</strong> (More formal and polished phrasing).</p>
</li>
<li>
<p><strong>&ldquo;Amir and I first time went to the Cameron library&rdquo;</strong> changed to <strong>&ldquo;Amir and I made our first-ever trip to the Cameron Library&rdquo;</strong> (More idiomatic and emphasizes the novelty).</p>
</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-02</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-02/</link>
      <pubDate>Tue, 02 Dec 2025 23:16:57 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-02/</guid>
      <description>&lt;p&gt;In the morning, I was working on &lt;strong&gt;RFI 7&lt;/strong&gt; for the course &lt;em&gt;Concrete Materials in Practice&lt;/em&gt;. Around noon, I had my &lt;strong&gt;Principles of Mining Engineering&lt;/strong&gt; class.&lt;/p&gt;
&lt;p&gt;During lunch, Amir &lt;strong&gt;took the initiative&lt;/strong&gt; to offer me a spoonful of curry.&lt;/p&gt;
&lt;p&gt;The dynamics between us are definitely &lt;strong&gt;better than before&lt;/strong&gt;. Amir and I are building a &lt;strong&gt;new, stable relationship&lt;/strong&gt;, which is making me feel &lt;strong&gt;much more comfortable&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;For dinner, I boiled a bag of &lt;strong&gt;instant noodles&lt;/strong&gt; and fried some &lt;strong&gt;French fries&lt;/strong&gt;. Afterward, I finished RFI 7 by &lt;strong&gt;remotely controlling&lt;/strong&gt; a PC in the office.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In the morning, I was working on <strong>RFI 7</strong> for the course <em>Concrete Materials in Practice</em>. Around noon, I had my <strong>Principles of Mining Engineering</strong> class.</p>
<p>During lunch, Amir <strong>took the initiative</strong> to offer me a spoonful of curry.</p>
<p>The dynamics between us are definitely <strong>better than before</strong>. Amir and I are building a <strong>new, stable relationship</strong>, which is making me feel <strong>much more comfortable</strong>.</p>
<p>For dinner, I boiled a bag of <strong>instant noodles</strong> and fried some <strong>French fries</strong>. Afterward, I finished RFI 7 by <strong>remotely controlling</strong> a PC in the office.</p>
<hr>
<h3 id="summary-of-polish">Summary of Polish:</h3>
<ul>
<li>
<p><strong>&ldquo;I was doing the RFI 7 of <em>Concrete Materials in Practice</em>&rdquo;</strong> kept clear, with the course title italicized.</p>
</li>
<li>
<p><strong>&ldquo;At noon, I had a Principles of Mining Engineering&rdquo;</strong> changed to <strong>&ldquo;Around noon, I had my Principles of Mining Engineering class&rdquo;</strong> (Added &ldquo;class&rdquo; for clarity).</p>
</li>
<li>
<p><strong>&ldquo;Amir took the initiative to give me a spoonful of curry&rdquo;</strong> polished to <strong>&ldquo;Amir took the initiative to offer me a spoonful of curry&rdquo;</strong> (Slightly better verb).</p>
</li>
<li>
<p><strong>&ldquo;new stable relationship which make me more comfortable&rdquo;</strong> changed to <strong>&ldquo;new, stable relationship, which is making me feel much more comfortable&rdquo;</strong> (Improved tense and clarity).</p>
</li>
<li>
<p><strong>&ldquo;boiled a bag of instant noodles and some French fries for dinner&rdquo;</strong> changed to <strong>&ldquo;boiled a bag of instant noodles and fried some French fries for dinner&rdquo;</strong> (Clarified the cooking method for the fries).</p>
</li>
<li>
<p><strong>&ldquo;finished the RFI 7 by remotely control the office&rsquo;s PC&rdquo;</strong> changed to <strong>&ldquo;finished RFI 7 by remotely controlling a PC in the office&rdquo;</strong> (Improved tense and phrasing).</p>
</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>2025-12-01</title>
      <link>https://jinpeng.cv/en/diary/2025/december/2025-12-01/</link>
      <pubDate>Mon, 01 Dec 2025 22:53:52 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/december/2025-12-01/</guid>
      <description>&lt;p&gt;Today was a &lt;strong&gt;fulfilling day&lt;/strong&gt;!&lt;/p&gt;
&lt;p&gt;I &lt;strong&gt;woke up early&lt;/strong&gt; and found that my preparation time was much shorter than usual, thanks to having the &lt;strong&gt;microwave&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;I spent the morning finalizing the slides for our &lt;strong&gt;group presentation&lt;/strong&gt;. As is often the case, I didn&amp;rsquo;t enjoy the group meeting, and I realized I might have a somewhat &lt;strong&gt;unhelpful mindset&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m constantly &lt;strong&gt;worried about the professor&amp;rsquo;s judgment&lt;/strong&gt; of me. Worse, I find myself adding my own &lt;strong&gt;negative personal thoughts&lt;/strong&gt; to what I imagine the professors think, which then &lt;strong&gt;reflects negatively back onto myself&lt;/strong&gt;. This cycle leads me to &lt;strong&gt;underestimate and doubt my own abilities&lt;/strong&gt;. This process is genuinely &lt;strong&gt;damaging&lt;/strong&gt; to my self-esteem.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today was a <strong>fulfilling day</strong>!</p>
<p>I <strong>woke up early</strong> and found that my preparation time was much shorter than usual, thanks to having the <strong>microwave</strong>.</p>
<p>I spent the morning finalizing the slides for our <strong>group presentation</strong>. As is often the case, I didn&rsquo;t enjoy the group meeting, and I realized I might have a somewhat <strong>unhelpful mindset</strong>.</p>
<p>I&rsquo;m constantly <strong>worried about the professor&rsquo;s judgment</strong> of me. Worse, I find myself adding my own <strong>negative personal thoughts</strong> to what I imagine the professors think, which then <strong>reflects negatively back onto myself</strong>. This cycle leads me to <strong>underestimate and doubt my own abilities</strong>. This process is genuinely <strong>damaging</strong> to my self-esteem.</p>
<p>After the group meeting, I walked over to the university pharmacy to get a <strong>flu shot</strong>. I realized that I&rsquo;m becoming increasingly capable of <strong>handling things on my own</strong>, which is a great feeling. I&rsquo;m truly <strong>doing well</strong>!</p>
<p>I also managed to complete some parts of <strong>RFI 7</strong> with the help of the <strong>Claude Opus agent</strong>. It&rsquo;s only when I actively use these technologies that I truly grasp their <strong>power and capability</strong>.</p>
<hr>
<h3 id="summary-of-polish">Summary of Polish:</h3>
<ul>
<li>
<p><strong>&ldquo;I took shorter preparing time than before due to having a microwave&rdquo;</strong> changed to <strong>&ldquo;my preparation time was much shorter than usual, thanks to having the microwave&rdquo;</strong> (More natural flow).</p>
</li>
<li>
<p><strong>&ldquo;I didn&rsquo;t like group meetings and I found that I have a abnormal mindset&rdquo;</strong> changed to <strong>&ldquo;I didn&rsquo;t enjoy the group meeting, and I realized I might have a somewhat unhelpful mindset&rdquo;</strong> (Improved wording; &ldquo;abnormal&rdquo; changed to &ldquo;unhelpful&rdquo;).</p>
</li>
<li>
<p><strong>&ldquo;I even added some my personal negative thoughts to professors and exert back on myself&rdquo;</strong> changed to <strong>&ldquo;I find myself adding my own negative personal thoughts to what I imagine the professors think, which then reflects negatively back onto myself&rdquo;</strong> (Clarified the difficult, internal thought process).</p>
</li>
<li>
<p><strong>&ldquo;This process is really bad for me&rdquo;</strong> changed to <strong>&ldquo;This process is genuinely damaging to my self-esteem&rdquo;</strong> (Used stronger, more specific phrasing).</p>
</li>
<li>
<p><strong>&ldquo;I found I can gradually deal with a lot of things alone. I am really doing well.&rdquo;</strong> combined and polished to <strong>&ldquo;I realized that I&rsquo;m becoming increasingly capable of handling things on my own, which is a great feeling. I&rsquo;m truly doing well!&rdquo;</strong> (Emphasized the positive realization).</p>
</li>
<li>
<p><strong>&ldquo;Only when I use these technologies, I could found their power&rdquo;</strong> changed to <strong>&ldquo;It&rsquo;s only when I actively use these technologies that I truly grasp their power and capability&rdquo;</strong> (More precise and dynamic verb choice).</p>
</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-30</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-30/</link>
      <pubDate>Sun, 30 Nov 2025 23:19:29 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-30/</guid>
      <description>&lt;p&gt;The &lt;strong&gt;daytime is extremely short&lt;/strong&gt; in Edmonton during the winter!&lt;/p&gt;
&lt;p&gt;I &lt;strong&gt;woke up at 12 PM&lt;/strong&gt; and then cooked some food for lunch. After that, I took a shower and took some time to &lt;strong&gt;relax&lt;/strong&gt;. By the time it was approaching &lt;strong&gt;4 PM, the sun had already set&lt;/strong&gt; (or &lt;strong&gt;the sun was gone&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;I spent some time studying my textbook, &lt;strong&gt;&lt;em&gt;Writing Academic English&lt;/em&gt;&lt;/strong&gt;. I recently discovered &lt;strong&gt;Zotero&lt;/strong&gt; and found it to be a &lt;strong&gt;very good tool for taking notes&lt;/strong&gt; and managing references. I plan to use it to &lt;strong&gt;take tons of notes&lt;/strong&gt; going forward.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The <strong>daytime is extremely short</strong> in Edmonton during the winter!</p>
<p>I <strong>woke up at 12 PM</strong> and then cooked some food for lunch. After that, I took a shower and took some time to <strong>relax</strong>. By the time it was approaching <strong>4 PM, the sun had already set</strong> (or <strong>the sun was gone</strong>).</p>
<p>I spent some time studying my textbook, <strong><em>Writing Academic English</em></strong>. I recently discovered <strong>Zotero</strong> and found it to be a <strong>very good tool for taking notes</strong> and managing references. I plan to use it to <strong>take tons of notes</strong> going forward.</p>
<p>Later, I <strong>cooked a lot of food</strong> to prepare for the next few days.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-29</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-29/</link>
      <pubDate>Sat, 29 Nov 2025 23:19:31 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-29/</guid>
      <description>&lt;p&gt;My roommate decided to &lt;strong&gt;cut his own hair&lt;/strong&gt;, but he &lt;strong&gt;failed spectacularly&lt;/strong&gt;. He ended up knocking on my door and asking me to &lt;strong&gt;take a look at the damage&lt;/strong&gt;. It was hilarious! In Chinese, we&amp;rsquo;d say his haircut looked like it had been &lt;strong&gt;&amp;ldquo;eaten by a dog.&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I bought a &lt;strong&gt;secondhand microwave&lt;/strong&gt; last night, and the seller dropped it off at the Southgate station this afternoon. The microwave was &lt;strong&gt;so heavy&lt;/strong&gt; that I was &lt;strong&gt;sweating&lt;/strong&gt; by the time I got it home.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>My roommate decided to <strong>cut his own hair</strong>, but he <strong>failed spectacularly</strong>. He ended up knocking on my door and asking me to <strong>take a look at the damage</strong>. It was hilarious! In Chinese, we&rsquo;d say his haircut looked like it had been <strong>&ldquo;eaten by a dog.&rdquo;</strong></p>
<p>I bought a <strong>secondhand microwave</strong> last night, and the seller dropped it off at the Southgate station this afternoon. The microwave was <strong>so heavy</strong> that I was <strong>sweating</strong> by the time I got it home.</p>
<p>After finally putting the microwave away, I headed back out to <strong>buy some groceries</strong>. I bought a lot of items, including <strong>tomatoes, lettuce, pork</strong>, and more.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-28</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-28/</link>
      <pubDate>Fri, 28 Nov 2025 23:19:27 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-28/</guid>
      <description>&lt;p&gt;I love &lt;strong&gt;Fridays&lt;/strong&gt;! It&amp;rsquo;s not just because I get to have a relaxing next two days, but also because I truly &lt;strong&gt;dislike Thursdays&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Today, we had the &lt;strong&gt;final lecture&lt;/strong&gt; with Mr. Mohammad. He was such a &lt;strong&gt;nice person&lt;/strong&gt; and always &lt;strong&gt;cared for his students&lt;/strong&gt;. I really admire him and &lt;strong&gt;hope to become someone like him&lt;/strong&gt; one day.&lt;/p&gt;
&lt;p&gt;We left school early today, and the &lt;strong&gt;sunset was absolutely beautiful&lt;/strong&gt;—the clouds were so &lt;strong&gt;warm and vibrant&lt;/strong&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I love <strong>Fridays</strong>! It&rsquo;s not just because I get to have a relaxing next two days, but also because I truly <strong>dislike Thursdays</strong>.</p>
<p>Today, we had the <strong>final lecture</strong> with Mr. Mohammad. He was such a <strong>nice person</strong> and always <strong>cared for his students</strong>. I really admire him and <strong>hope to become someone like him</strong> one day.</p>
<p>We left school early today, and the <strong>sunset was absolutely beautiful</strong>—the clouds were so <strong>warm and vibrant</strong>.</p>
<p>I <strong>went with Amir to Southgate</strong> because he wanted to buy a phone for Black Friday.</p>
<p>Unfortunately, a staff member at the <strong>Rogers store had a very bad attitude</strong>. After we left the shop, Amir was so upset that he <strong>muttered a few choice words</strong>.</p>
<p>Finally, Amir wanted to stop at <strong>Walmart to buy some groceries</strong>, but I didn&rsquo;t want to go. I was <strong>too tired</strong> and all I wanted was to <strong>lie down in my bed as soon as possible</strong>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-27</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-27/</link>
      <pubDate>Thu, 27 Nov 2025 23:58:17 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-27/</guid>
      <description>&lt;p&gt;Today I have two classes. It&amp;rsquo;s tiring Thursday again.&lt;/p&gt;
&lt;p&gt;I almost made a mistake again today, the due date of assignment 5 is today&amp;rsquo;s 12 pm. I thought it is the midnight of today.&lt;/p&gt;
&lt;p&gt;Fortunately, I submitted it about 11 am, and I even reminded amir don&amp;rsquo;t forget to submit it at 12 pm. And then he told me about that.&lt;/p&gt;
&lt;p&gt;I and amir originally decided to attend an event for pizza, but I didn&amp;rsquo;t go because I felt very sleepy at that time.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today I have two classes. It&rsquo;s tiring Thursday again.</p>
<p>I almost made a mistake again today, the due date of assignment 5 is today&rsquo;s 12 pm. I thought it is the midnight of today.</p>
<p>Fortunately, I submitted it about 11 am, and I even reminded amir don&rsquo;t forget to submit it at 12 pm. And then he told me about that.</p>
<p>I and amir originally decided to attend an event for pizza, but I didn&rsquo;t go because I felt very sleepy at that time.</p>
<p>Therefore, amir got sad and angry, but I also don&rsquo;t like others to force me to do some things. I preferred for choosing the way made me comfortable.</p>
<p>When we met each other again, he looked like enemy and said some bad words. It&rsquo;s a really good opportunity for us to know each other deeply.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-26</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-26/</link>
      <pubDate>Wed, 26 Nov 2025 23:58:20 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-26/</guid>
      <description>&lt;p&gt;Today was worn out because I did the RFI 6 from 10 am to next day am.&lt;/p&gt;
&lt;p&gt;I didn&amp;rsquo;t sleep well last night, so I bought a coffee at Tim Hortons when I came school.&lt;/p&gt;
&lt;p&gt;Amir and I wanted to go swimming, however the east pool was not available for public, at the same time, the west pool was very crowded.&lt;/p&gt;
&lt;p&gt;We already changed our trunks and took a shower, we only could change back and leave.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today was worn out because I did the RFI 6 from 10 am to next day am.</p>
<p>I didn&rsquo;t sleep well last night, so I bought a coffee at Tim Hortons when I came school.</p>
<p>Amir and I wanted to go swimming, however the east pool was not available for public, at the same time, the west pool was very crowded.</p>
<p>We already changed our trunks and took a shower, we only could change back and leave.</p>
<p>Since we separated, amir was very happy and went to the karaoke.</p>
<p>When I got home, I found my cactus was freezing though I put it inside my room and next to the opened window.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-25</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-25/</link>
      <pubDate>Tue, 25 Nov 2025 16:53:35 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-25/</guid>
      <description>&lt;h3 id=&#34;0953-buy-a-coffee&#34;&gt;09:53 Buy a coffee&lt;/h3&gt;
&lt;p&gt;I didn&amp;rsquo;t sleep well last night, so I bought a coffee when I arrived at school this morning.&lt;/p&gt;
&lt;p&gt;There was a mining class; I still have some unsatisfied emotions towards Mr. Sorush.&lt;/p&gt;
&lt;h3 id=&#34;1702-go-home&#34;&gt;17:02 Go home&lt;/h3&gt;
&lt;p&gt;Amir wanted to go to a talk about Venture capital to snag some pizza. I didn&amp;rsquo;t want to go; a part of the reason was my English, and another part of the reason was that I didn&amp;rsquo;t want to stay at school too late, and it&amp;rsquo;s not good if I left after eating some pizza.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0953-buy-a-coffee">09:53 Buy a coffee</h3>
<p>I didn&rsquo;t sleep well last night, so I bought a coffee when I arrived at school this morning.</p>
<p>There was a mining class; I still have some unsatisfied emotions towards Mr. Sorush.</p>
<h3 id="1702-go-home">17:02 Go home</h3>
<p>Amir wanted to go to a talk about Venture capital to snag some pizza. I didn&rsquo;t want to go; a part of the reason was my English, and another part of the reason was that I didn&rsquo;t want to stay at school too late, and it&rsquo;s not good if I left after eating some pizza.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-24</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-24/</link>
      <pubDate>Mon, 24 Nov 2025 17:38:48 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-24/</guid>
      <description>&lt;p&gt;Just woke up, I picked up my phone and saw three voice messages from my sister. I clicked them and found that are blessing from my little niece, and asked me to buy a cake for my self. It&amp;rsquo;s so cute and delightful.&lt;/p&gt;
&lt;p&gt;Rui messaged me and wanted to treat me KFC or McDonald&amp;rsquo;s. It&amp;rsquo;s hard to order remotely and finally she sent me a red envelope.&lt;/p&gt;
&lt;p&gt;I recorded the assignment video in the morning.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Just woke up, I picked up my phone and saw three voice messages from my sister. I clicked them and found that are blessing from my little niece, and asked me to buy a cake for my self. It&rsquo;s so cute and delightful.</p>
<p>Rui messaged me and wanted to treat me KFC or McDonald&rsquo;s. It&rsquo;s hard to order remotely and finally she sent me a red envelope.</p>
<p>I recorded the assignment video in the morning.</p>
<h3 id="1038-arrive-at-office">10:38 Arrive at Office</h3>
<p>I continued to modify my presentation after arriving office.</p>
<p>Today&rsquo;s group meeting was not bad, and I first time to tell others <em>today is my birthday</em>. I think this is a change to me.</p>
<h3 id="1539-go-home">15:39 Go home</h3>
<p>I spend two hours on recording again, it&rsquo;s boring and I felt my eyes painful. So I submitted it hastily. I felt better after that.</p>
<p>Oh, today I treated Amir for a personal pizza, for my birthday. It&rsquo;s not bad. And then I bought a box of eggs, some pork ribs and a box of blueberries. Huan reimbursed me this bill.<br>
I need to eat more vege and fruit.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-23</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-23/</link>
      <pubDate>Sun, 23 Nov 2025 18:58:53 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-23/</guid>
      <description>&lt;p&gt;I did the presentation all day.&lt;/p&gt;
&lt;h3 id=&#34;1859-adjust-the-fontsize-in-beamer&#34;&gt;18:59 Adjust the fontsize in Beamer&lt;/h3&gt;
&lt;p&gt;It&amp;rsquo;s hard to adjust fontsize in beamer, especially using Quarto as  the writer.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-latex&#34; data-lang=&#34;latex&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;```&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;=latex&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\begingroup&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\fontsize&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;6&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;8&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;\selectfont&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\color&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;red&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;```
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Target content
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;```&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;=latex&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\endgroup&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;```
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;I found we can easily to control the style on some specific content. It was defined at &lt;a href=&#34;https://www.google.com/search?q=https://quarto.org/docs/authoring/markdown-basics.html%23raw-content&#34;&gt;Authoring &amp;gt; Markdown Basics &amp;gt; Raw Content&lt;/a&gt; This method can disable &lt;code&gt;raw_text&lt;/code&gt; to avoid output the command, refer to &lt;a href=&#34;https://pandoc.org/MANUAL.html#raw-htmltex&#34;&gt;Pandoc - Pandoc User’s Guide&lt;/a&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I did the presentation all day.</p>
<h3 id="1859-adjust-the-fontsize-in-beamer">18:59 Adjust the fontsize in Beamer</h3>
<p>It&rsquo;s hard to adjust fontsize in beamer, especially using Quarto as  the writer.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-latex" data-lang="latex"><span class="line"><span class="cl">```<span class="nb">{</span>=latex<span class="nb">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">\begingroup</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">\fontsize</span><span class="nb">{</span>6<span class="nb">}{</span>8<span class="nb">}</span><span class="k">\selectfont</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">\color</span><span class="nb">{</span>red<span class="nb">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">```
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Target content
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">```<span class="nb">{</span>=latex<span class="nb">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">\endgroup</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">```
</span></span></code></pre></td></tr></table>
</div>
</div><p>I found we can easily to control the style on some specific content. It was defined at <a href="https://www.google.com/search?q=https://quarto.org/docs/authoring/markdown-basics.html%23raw-content">Authoring &gt; Markdown Basics &gt; Raw Content</a> This method can disable <code>raw_text</code> to avoid output the command, refer to <a href="https://pandoc.org/MANUAL.html#raw-htmltex">Pandoc - Pandoc User’s Guide</a></p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-latex" data-lang="latex"><span class="line"><span class="cl"><span class="k">\tiny</span><span class="nb">{}</span>
</span></span><span class="line"><span class="cl">Target content
</span></span></code></pre></td></tr></table>
</div>
</div><p>Furthermore, I still can create some <code>\newcommand</code> at <code>header-includes</code> or <code>preamble.tex</code>, and then I can use the new command in whole document. It was defined at <a href="https://www.google.com/search?q=https://quarto.org/docs/reference/formats/pdf.html%23includes">Reference &gt; Formats &gt; PDF &gt; Includes</a></p>
<h2 id="how-to-give-a-presentation">How to give a presentation</h2>
<h3 id="introduction">Introduction</h3>
<p>Hello everyone, my name is Jinpeng,<br>
and today I&rsquo;m going to talk about <em>topic</em><br>
- going to give a presentation about/on <em>topic</em><br>
- going to share about <em>topic</em></p>
<p>The presentation will be in <em># parts</em><br>
First&hellip; Second&hellip; Third&hellip;<br>
The presentation will be cover <em>subtopic 1, subtopic 2&hellip; and subtopic 3</em>.</p>
<p>* Please feel free to ask questions during the presentation<br>
or please hold your questions until the end of the presentation</p>
<h3 id="sequencetransition-words">Sequence/Transition words</h3>
<p>First, I&rsquo;d like to talk about <em>subtopic 1</em><br>
Why is this important?<br>
What do we need to know?<br>
In conclusion/In sum/To conclude, main point about <em>subtopic 1</em> (to reiterate, to say something again)<br>
&hellip;<br>
Okay, now I&rsquo;d like to move on to <em>subtopic 2</em>.<br>
Lastly, I&rsquo;d like to talk about <em>subtopic 3</em>.</p>
<ul>
<li>First, second, third, fourth&hellip;</li>
<li>Next, then, after that, last/lastly&hellip;</li>
<li>Additionally, moreover, furthermore&hellip;</li>
</ul>
<h3 id="conclusions-and-qa">Conclusions and Q&amp;A</h3>
<p>I&rsquo;d like to conclude today&rsquo;s presentation by summarizing the information.</p>
<p>To end today&rsquo;s presentation&hellip;</p>
<p>Q&amp;A: If there are any questions, I&rsquo;d be happy to address them.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-22</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-22/</link>
      <pubDate>Sat, 22 Nov 2025 19:05:08 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-22/</guid>
      <description>&lt;p&gt;Three days ago, Amir and I signed up an activity about a trip. It required us getting up very early, and we need assemble at university on 6:30 am.&lt;/p&gt;
&lt;p&gt;Today&amp;rsquo;s journey was taking bus for three and an half hours, and then spent two hours on Royal Terrel Museum for dinosaur fossils, and then spent ten minutes to take a picture at Horsethief Canyon. It&amp;rsquo;s a little boring.&lt;/p&gt;
&lt;p&gt;I was very tired in the evening.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Three days ago, Amir and I signed up an activity about a trip. It required us getting up very early, and we need assemble at university on 6:30 am.</p>
<p>Today&rsquo;s journey was taking bus for three and an half hours, and then spent two hours on Royal Terrel Museum for dinosaur fossils, and then spent ten minutes to take a picture at Horsethief Canyon. It&rsquo;s a little boring.</p>
<p>I was very tired in the evening.</p>
<p>Meanwhile I was very happy, because I dug a cactus at Badland, but this is a big challenge for me to take care a cactus in Edmonton.</p>
<img loading="lazy" src="../../../../static/images/cactus_horsethief.png">]]></content:encoded>
    </item>
    <item>
      <title>2025-11-21</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-21/</link>
      <pubDate>Fri, 21 Nov 2025 19:05:06 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-21/</guid>
      <description>&lt;blockquote class=&#34;alert-blockquote alert-note&#34; &gt;
    &lt;p class=&#34;alert-heading callout-title&#34;&gt;
      &lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34; width=&#34;24&#34; height=&#34;24&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;&gt;
        &lt;path d=&#34;M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z&#34;&gt;&lt;/path&gt;&lt;path d=&#34;m15 5 4 4&#34;&gt;&lt;/path&gt;
      &lt;/svg&gt;
      
      &lt;span&gt;Record on Nov 24, 2025&lt;br&gt;&lt;/span&gt;
      
    &lt;/p&gt;
    &lt;div class=&#34;alert-content callout-content&#34;&gt;
      &lt;p&gt;I almost forgot today&amp;rsquo;s things.&lt;/p&gt;
    &lt;/div&gt;
  &lt;/blockquote&gt;
  

&lt;script&gt;
  document.addEventListener(&#34;DOMContentLoaded&#34;, function () {
    document.querySelectorAll(&#34;.alert-blockquote&#34;).forEach(function (e) {
        
        var foldAttr = e.getAttribute(&#34;data-collapsible&#34;);
        if (foldAttr === &#34;+&#34; || foldAttr === &#34;-&#34;) {
            e.classList.add(&#34;is-collapsible&#34;);

            var titleElem = e.querySelector(&#34;.callout-title&#34;);
            var contentElem = e.querySelector(&#34;.callout-content&#34;);

            if (titleElem &amp;&amp; contentElem &amp;&amp; !titleElem.querySelector(&#34;.callout-fold&#34;)) {
                var isCollapsed = foldAttr === &#34;-&#34;; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle(&#34;is-collapsed&#34;, collapsed);
                    contentElem.style.display = collapsed ? &#34;none&#34; : &#34;block&#34;;

                    
                    
                    var svgIcon = foldButton.querySelector(&#34;svg&#34;);
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? &#34;rotate(-90deg)&#34; : &#34;rotate(0deg)&#34;;
                        svgIcon.style.transition = &#34;transform 0.2s ease-in-out&#34;;
                    }
                };

                
                var foldButton = document.createElement(&#34;div&#34;);
                foldButton.className = &#34;callout-fold&#34;;

                
                foldButton.innerHTML = `
                    &lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; width=&#34;24&#34; height=&#34;24&#34; viewBox=&#34;0 0 24 24&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; class=&#34;svg-icon lucide-chevron-down&#34;&gt;
                        &lt;path d=&#34;m6 9 6 6 6-6&#34;&gt;&lt;/path&gt;
                    &lt;/svg&gt;
                `;

                foldButton.addEventListener(&#34;click&#34;, function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener(&#34;click&#34;, function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
&lt;/script&gt;
&lt;p&gt;I attended the Sensing techniques and Data Analytics at noon. and I used Quarto + Beamer to finish a Beamer slides. I like this things to release human productivity.&lt;/p&gt;</description>
      <content:encoded><![CDATA[  

  


  
  <blockquote class="alert-blockquote alert-note" >
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <path d="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"></path><path d="m15 5 4 4"></path>
      </svg>
      
      <span>Record on Nov 24, 2025<br></span>
      
    </p>
    <div class="alert-content callout-content">
      <p>I almost forgot today&rsquo;s things.</p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
<p>I attended the Sensing techniques and Data Analytics at noon. and I used Quarto + Beamer to finish a Beamer slides. I like this things to release human productivity.</p>
<p>In the evening, I went to the apartment&rsquo;s swimming pool to learn swimming. I should be more brave.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-20</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-20/</link>
      <pubDate>Thu, 20 Nov 2025 00:12:47 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-20/</guid>
      <description>&lt;h2 id=&#34;i-like-coding&#34;&gt;I like coding&lt;/h2&gt;
&lt;p&gt;Thursdays are tiring days because I usually got insomnia on Wednesdays. The most critical thing is that there is the concrete class till 8 PM every Thursday, which is accompanied with hunger, tiring and boring.&lt;/p&gt;
&lt;p&gt;Today I finished the assignment 5 of mining, and made a Tex template of Quarto for assignment. It&amp;rsquo;s really useful for produce documents. I will keep learning Latex in the future.&lt;/p&gt;
&lt;h2 id=&#34;grammar-check&#34;&gt;Grammar check&lt;/h2&gt;
&lt;p&gt;Here&amp;rsquo;s a grammar and clarity check for your diary entry:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h2 id="i-like-coding">I like coding</h2>
<p>Thursdays are tiring days because I usually got insomnia on Wednesdays. The most critical thing is that there is the concrete class till 8 PM every Thursday, which is accompanied with hunger, tiring and boring.</p>
<p>Today I finished the assignment 5 of mining, and made a Tex template of Quarto for assignment. It&rsquo;s really useful for produce documents. I will keep learning Latex in the future.</p>
<h2 id="grammar-check">Grammar check</h2>
<p>Here&rsquo;s a grammar and clarity check for your diary entry:</p>
<table>
  <thead>
      <tr>
          <th>Original</th>
          <th>Correct</th>
          <th>Reason</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>&ldquo;Thursdays are tiring days because I usually got insomnia on Wednesdays.&rdquo;</td>
          <td>&ldquo;Thursdays are tiring because I usually get insomnia on Wednesdays.&rdquo;</td>
          <td>&ldquo;Got&rdquo; should be present tense &ldquo;get&rdquo; to match &ldquo;usually&rdquo;. &ldquo;Tiring days&rdquo; is redundant - just &ldquo;tiring&rdquo; is more natural.</td>
      </tr>
      <tr>
          <td>&ldquo;The most critical thing is that there is the concrete class till 8 PM every Thursday, which is accompanied with hunger, tiring and boring.&rdquo;</td>
          <td>&ldquo;The worst part is the concrete class that lasts until 8 PM every Thursday, which leaves me hungry, tired, and bored.&rdquo;</td>
          <td>More natural phrasing. &ldquo;Accompanied with&rdquo; is incorrect preposition. &ldquo;Tiring&rdquo; should be &ldquo;tired&rdquo; (adjective form).</td>
      </tr>
      <tr>
          <td>&ldquo;Today I finished the assignment 5 of mining, and made a Tex template of Quarto for assignment.&rdquo;</td>
          <td>&ldquo;Today I finished Mining Assignment 5 and created a Quarto LaTeX template for assignments.&rdquo;</td>
          <td>&ldquo;Assignment 5 of mining&rdquo; → more natural to put subject first. &ldquo;Made a Tex template&rdquo; → &ldquo;created a LaTeX template&rdquo; is more precise.</td>
      </tr>
      <tr>
          <td>&ldquo;It&rsquo;s really useful for produce documents.&rdquo;</td>
          <td>&ldquo;It&rsquo;s really useful for producing documents.&rdquo;</td>
          <td>&ldquo;For&rdquo; should be followed by gerund (-ing form).</td>
      </tr>
  </tbody>
</table>
<p>The rest of your writing is grammatically correct and natural. The entry effectively communicates your Thursday experiences and productivity. The only remaining suggestions would be stylistic:</p>
<ul>
<li>Consider adding more specific details about your insomnia or the concrete class to make the entry more vivid</li>
<li>You might want to expand on why Quarto/LaTeX is useful for your workflow</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-19</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-19/</link>
      <pubDate>Wed, 19 Nov 2025 18:08:01 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-19/</guid>
      <description>&lt;h3 id=&#34;1108-spot&#34;&gt;11:08 SPOT&lt;/h3&gt;
&lt;p&gt;To Soroush&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I think it&amp;rsquo;s essential to allow students to make mistakes and show sympathy. Whatever for teachers or students, the ultimate goal is not grading or marking, but patiently guiding and leading us with truth and purpose.&lt;br&gt;
Don&amp;rsquo;t ignore any information from students. As a teacher, you should give your feedback to students, whether rejection or affirmation, and give your reason; rather than ignoring.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;write-assignment-5&#34;&gt;Write Assignment 5&lt;/h3&gt;
&lt;p&gt;The teacher is not good.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1108-spot">11:08 SPOT</h3>
<p>To Soroush</p>
<blockquote>
<p>I think it&rsquo;s essential to allow students to make mistakes and show sympathy. Whatever for teachers or students, the ultimate goal is not grading or marking, but patiently guiding and leading us with truth and purpose.<br>
Don&rsquo;t ignore any information from students. As a teacher, you should give your feedback to students, whether rejection or affirmation, and give your reason; rather than ignoring.</p>
</blockquote>
<h3 id="write-assignment-5">Write Assignment 5</h3>
<p>The teacher is not good.</p>
<h3 id="create-quarto-template">Create Quarto Template</h3>
<ol>
<li>Don&rsquo;t use a blank line in math mode in Quarto</li>
<li>pdflatex can not deal with the Unicode symbol</li>
<li>Too much trouble when using latex</li>
<li><code>align</code> in <code>$$</code> will report an error, but <code>aligned</code> doesn&rsquo;t.</li>
</ol>
<h3 id="typst">Typst</h3>
<p>It seems a better choice for writing, and it can excellently cooperate with Quarto.</p>
<h3 id="complete-the-engg-template-with-copilot">Complete the Engg template with copilot</h3>
<p>The copilot in Github is very strong and useful! Amazing!</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-18</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-18/</link>
      <pubDate>Tue, 18 Nov 2025 23:55:38 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-18/</guid>
      <description>&lt;p&gt;Today was my first time to go swimming formally. It&amp;rsquo;s a little bad because I soaked too much water. As a new experience, however, it&amp;rsquo;s definitely good.&lt;/p&gt;
&lt;p&gt;Amir can swimming, but I can&amp;rsquo;t; I need to learn it. Thank my little Huan delivered gaggles and trunks to me. It&amp;rsquo;s really useful.&lt;/p&gt;
&lt;p&gt;Dr.zhao retook graduation photos today, he was very happy, so many people said congratulations to him. The everyone of our group took a photo with him individually.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today was my first time to go swimming formally. It&rsquo;s a little bad because I soaked too much water. As a new experience, however, it&rsquo;s definitely good.</p>
<p>Amir can swimming, but I can&rsquo;t; I need to learn it. Thank my little Huan delivered gaggles and trunks to me. It&rsquo;s really useful.</p>
<p>Dr.zhao retook graduation photos today, he was very happy, so many people said congratulations to him. The everyone of our group took a photo with him individually.</p>
<h2 id="grammar-check">Grammar check</h2>
<p>Here&rsquo;s the grammar and clarity check for your diary entry:</p>
<table>
  <thead>
      <tr>
          <th>Original</th>
          <th>Correct</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>&ldquo;Today was my first time to go swimming formally.&rdquo;</td>
          <td>&ldquo;Today was my first time going swimming formally.&rdquo;</td>
      </tr>
      <tr>
          <td>&ldquo;It&rsquo;s a little bad because I soaked too much water.&rdquo;</td>
          <td>&ldquo;It wasn&rsquo;t great because I swallowed too much water.&rdquo;</td>
      </tr>
      <tr>
          <td>&ldquo;Amir can swimming, but I can&rsquo;t&rdquo;</td>
          <td>&ldquo;Amir can swim, but I can&rsquo;t&rdquo;</td>
      </tr>
      <tr>
          <td>&ldquo;Thank my little Huan delivered gaggles and trunks to me.&rdquo;</td>
          <td>&ldquo;Thank you to my little Huan for delivering goggles and trunks to me.&rdquo;</td>
      </tr>
      <tr>
          <td>&ldquo;Dr.zhao retook graduation photos today&rdquo;</td>
          <td>&ldquo;Dr. Zhao retook his graduation photos today&rdquo;</td>
      </tr>
      <tr>
          <td>&ldquo;The everyone of our group took a photo with him individually.&rdquo;</td>
          <td>&ldquo;Everyone in our group took individual photos with him.&rdquo;</td>
      </tr>
  </tbody>
</table>
<p>The rest of your writing is grammatically correct and natural. The diary entry effectively communicates your experiences while maintaining a personal tone. The corrections mainly address small grammatical issues and improve clarity in a few spots.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-17</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-17/</link>
      <pubDate>Mon, 17 Nov 2025 00:27:10 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-17/</guid>
      <description>&lt;h2 id=&#34;sensitivity&#34;&gt;Sensitivity&lt;/h2&gt;
&lt;p&gt;There was the group meeting today, and I don&amp;rsquo;t like it due to my sensitivity. But it&amp;rsquo;s useful to let me face my sensitivity and change it.&lt;/p&gt;
&lt;p&gt;I always thought others will judge me for my ability or my behaviors. I knew that was not right, but I can&amp;rsquo;t control it sometimes.&lt;/p&gt;
&lt;p&gt;Amir gave me a great support, and I really appreciate him. I think I shouldn&amp;rsquo;t always emit the negative aspect to others. I need to change my mind and be brave.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h2 id="sensitivity">Sensitivity</h2>
<p>There was the group meeting today, and I don&rsquo;t like it due to my sensitivity. But it&rsquo;s useful to let me face my sensitivity and change it.</p>
<p>I always thought others will judge me for my ability or my behaviors. I knew that was not right, but I can&rsquo;t control it sometimes.</p>
<p>Amir gave me a great support, and I really appreciate him. I think I shouldn&rsquo;t always emit the negative aspect to others. I need to change my mind and be brave.</p>
<p>Don&rsquo;t assume or suspicious others will judge you first.</p>
<h2 id="notes-from-gemini">Notes from Gemini</h2>
<p><a href="https://youtu.be/fzIxD1jXn44?si=4COr4Hyzf7bhtwQX">https://youtu.be/fzIxD1jXn44?si=4COr4Hyzf7bhtwQX</a></p>
<p>Here are notes summarizing the key points and phrases from the video &ldquo;How to Give a Presentation - Business English.&rdquo;</p>
<h3 id="1-introducing-yourself-and-your-topic">1. Introducing Yourself and Your Topic</h3>
<p>You need to establish who you are and what you are talking about immediately. Adjust your language based on the formality of the situation.</p>
<ul>
<li>Introducing Yourself:
<ul>
<li>Formal: &ldquo;Good morning everyone. For those who don&rsquo;t know me, my name is [Name] and I work in [Department].&rdquo; or &ldquo;Before we begin, let me introduce myself briefly. I&rsquo;m [Name]&hellip;&rdquo; [01:01]</li>
<li>Informal: &ldquo;Hi guys, if you don&rsquo;t know me, I&rsquo;m [Name]&hellip;&rdquo; or &ldquo;I see some new faces so I&rsquo;ll introduce myself first.&rdquo; [01:18]</li>
</ul>
</li>
<li>Introducing the Topic:
<ul>
<li>Simple Topic: &ldquo;Today I&rsquo;m going to be talking about&hellip;&rdquo; or &ldquo;I&rsquo;d like to talk to you today about&hellip;&rdquo; [01:45]</li>
<li>Complex Topic (Roadmap): Break it down into stages. &ldquo;I&rsquo;ll begin by outlining&hellip; and then I&rsquo;ll go on to highlight&hellip; Finally, I&rsquo;ll briefly discuss&hellip;&rdquo; [02:10]</li>
</ul>
</li>
</ul>
<h3 id="2-engaging-the-audience">2. Engaging the Audience</h3>
<p>Good speakers work hard to earn attention; bad speakers assume they already have it. Use these three techniques to hook your audience early on:</p>
<ul>
<li>Establish a Problem &amp; Solution: Connect a boring topic to the audience&rsquo;s pain points.
<ul>
<li>Example: &ldquo;Have you ever felt unfairly treated at work? &hellip; We&rsquo;ve been working on new policies to ensure fair recognition.&rdquo; [05:22]</li>
</ul>
</li>
<li>Mention a Surprising Fact or Statistic: Grab attention with data.
<ul>
<li>Example: &ldquo;Did you know that the average office worker only does four hours of productive work a day?&rdquo; [06:06]</li>
</ul>
</li>
<li>Tell a Short Story: Stories add an emotional dimension.
<ul>
<li>Example: &ldquo;I once met a young salesman&hellip;&rdquo; [06:34]</li>
</ul>
</li>
</ul>
<h3 id="3-organizing-your-presentation-signposting">3. Organizing Your Presentation (Signposting)</h3>
<p>&ldquo;Signposting&rdquo; uses specific phrases to show the audience where you are in the presentation. It follows the rule: Tell them what you’re going to say, say it, then tell them what you said. [07:44]</p>
<ul>
<li>Moving to the next point:
<ul>
<li>&ldquo;Next I&rsquo;d like to talk about&hellip;&rdquo;</li>
<li>&ldquo;Let&rsquo;s move on and discuss&hellip;&rdquo;</li>
<li>&ldquo;At this point, I&rsquo;d like to turn to&hellip;&rdquo; [10:28]</li>
</ul>
</li>
<li>Adding detail:
<ul>
<li>&ldquo;Let me go into some more detail about&hellip;&rdquo;</li>
<li>&ldquo;Let&rsquo;s examine [topic] in more depth.&rdquo; [10:54]</li>
</ul>
</li>
<li>Concluding/wrapping up:
<ul>
<li>&ldquo;To wrap up, let&rsquo;s remind ourselves&hellip;&rdquo;</li>
<li>&ldquo;Let&rsquo;s review the key points from this session.&rdquo; [11:04]</li>
</ul>
</li>
</ul>
<h3 id="4-dealing-with-problems">4. Dealing with Problems</h3>
<p>Things often go wrong. Use these phrases to recover smoothly without panicking.</p>
<ul>
<li>If you lose your place / forget a word:
<ul>
<li>&ldquo;Where was I?&rdquo;</li>
<li>&ldquo;So, what was I saying?&rdquo;</li>
<li>&ldquo;What&rsquo;s the word in English again?&rdquo; (Look at your cue cards instead of staying silent). [13:15]</li>
</ul>
</li>
<li>If you make a mistake:
<ul>
<li>&ldquo;Let me rephrase that.&rdquo;</li>
<li>&ldquo;Actually, what I meant to say is&hellip;&rdquo;</li>
<li>&ldquo;To clarify, I wanted to say that&hellip;&rdquo; [13:51]</li>
</ul>
</li>
<li>If you forgot to mention something important:
<ul>
<li>&ldquo;Let me just add one more thing.&rdquo;</li>
<li>&ldquo;Let me return to an earlier point briefly.&rdquo; [14:15]</li>
</ul>
</li>
</ul>
<h3 id="5-handling-difficult-questions">5. Handling Difficult Questions</h3>
<p>Use the &ldquo;Three D&rsquo;s&rdquo; strategy when you can&rsquo;t (or don&rsquo;t want to) answer a question immediately.</p>
<ul>
<li>Delay: Give yourself time to research or think.
<ul>
<li>&ldquo;I&rsquo;ve allocated time for questions at the end&hellip;&rdquo;</li>
<li>&ldquo;I&rsquo;m not in a position to answer that right now, but I&rsquo;ll get back to you later.&rdquo; [14:52]</li>
</ul>
</li>
<li>Deflect: Pass the question to someone else.
<ul>
<li>&ldquo;That&rsquo;s an interesting question. Before I answer, I&rsquo;d like to know what&rsquo;s your take on this?&rdquo; [15:20]</li>
</ul>
</li>
<li>Dismiss: If the question is irrelevant.
<ul>
<li>&ldquo;Thanks for your input, but I don&rsquo;t see how that&rsquo;s connected to what I&rsquo;m saying.&rdquo;</li>
<li>&ldquo;I don&rsquo;t mean to be blunt, but I don&rsquo;t think that&rsquo;s relevant to today&rsquo;s discussion.&rdquo; [15:49]<br>
YouTube video views will be stored in your YouTube History, and your data will be stored and used by YouTube according to its Terms of Service</li>
</ul>
</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-16</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-16/</link>
      <pubDate>Sun, 16 Nov 2025 23:01:38 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-16/</guid>
      <description>&lt;p&gt;I argued with Huan again, and I also couldn&amp;rsquo;t fall asleep well.&lt;/p&gt;
&lt;p&gt;I upgraded my Xiaomi 10 to Evolution X last mid-night.&lt;/p&gt;
&lt;p&gt;Today, Amir broke the appointment we made last night again. He wanted to eat fried chicken before.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I argued with Huan again, and I also couldn&rsquo;t fall asleep well.</p>
<p>I upgraded my Xiaomi 10 to Evolution X last mid-night.</p>
<p>Today, Amir broke the appointment we made last night again. He wanted to eat fried chicken before.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-15</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-15/</link>
      <pubDate>Sat, 15 Nov 2025 22:57:35 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-15/</guid>
      <description>&lt;p&gt;I argued with Huan and caused her couldn&amp;rsquo;t fall asleep. It&amp;rsquo;s a little regret in my mind. It&amp;rsquo;s about learning.&lt;/p&gt;
&lt;p&gt;I made some shrimp and fish for snacks.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I argued with Huan and caused her couldn&rsquo;t fall asleep. It&rsquo;s a little regret in my mind. It&rsquo;s about learning.</p>
<p>I made some shrimp and fish for snacks.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-14</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-14/</link>
      <pubDate>Fri, 14 Nov 2025 17:12:09 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-14/</guid>
      <description>&lt;h3 id=&#34;0900-go-to-university&#34;&gt;09:00 Go to university&lt;/h3&gt;
&lt;p&gt;I mainly improved the project of sensing techniques.&lt;/p&gt;
&lt;p&gt;Dr. Zhao met a problem about machine learning, and I tried to help him solving this problem.&lt;/p&gt;
&lt;h3 id=&#34;2014-sync&#34;&gt;20:14 Sync&lt;/h3&gt;</description>
      <content:encoded><![CDATA[<h3 id="0900-go-to-university">09:00 Go to university</h3>
<p>I mainly improved the project of sensing techniques.</p>
<p>Dr. Zhao met a problem about machine learning, and I tried to help him solving this problem.</p>
<h3 id="2014-sync">20:14 Sync</h3>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-13</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-13/</link>
      <pubDate>Thu, 13 Nov 2025 16:37:08 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-13/</guid>
      <description>&lt;h3 id=&#34;0937-arrive-at-office&#34;&gt;09:37 Arrive at office&lt;/h3&gt;
&lt;p&gt;It took about 40 minutes for commuting.&lt;/p&gt;
&lt;h3 id=&#34;1451-my-phone-fell-into-the-toilet&#34;&gt;14:51 My phone fell into the toilet&lt;/h3&gt;
&lt;p&gt;One second before, I thought whether my phone on my leg would fall into the toilet and the next second it fell.&lt;/p&gt;
&lt;h3 id=&#34;2315-write-journal&#34;&gt;23:15 Write journal&lt;/h3&gt;
&lt;p&gt;I found that Amir likes to hangout around especially at supermarket.&lt;/p&gt;
&lt;p&gt;Tonight, he wanted buy a trunks, so I accompanied him to go to Walmart, but finally he didn&amp;rsquo;t buy anything, and I bought a lot groceries.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0937-arrive-at-office">09:37 Arrive at office</h3>
<p>It took about 40 minutes for commuting.</p>
<h3 id="1451-my-phone-fell-into-the-toilet">14:51 My phone fell into the toilet</h3>
<p>One second before, I thought whether my phone on my leg would fall into the toilet and the next second it fell.</p>
<h3 id="2315-write-journal">23:15 Write journal</h3>
<p>I found that Amir likes to hangout around especially at supermarket.</p>
<p>Tonight, he wanted buy a trunks, so I accompanied him to go to Walmart, but finally he didn&rsquo;t buy anything, and I bought a lot groceries.</p>
<p>In addition, ZJ told me that he thought we can have another roommate. It&rsquo;s crazy in my heart, however I only said I don&rsquo;t recommend to do that. Moreover we only have one bathroom.</p>
<p>He might be thinking that I&rsquo;m kind and easy to get along with. Perhaps he didn&rsquo;t know all these are from inclusive roommate, or called tolerance.</p>
<h3 id="grammar-check">grammar check</h3>
<p>Here&rsquo;s a grammar, spelling, clarity, and naturalness check of your writing in table format:</p>
<table>
  <thead>
      <tr>
          <th>Original</th>
          <th>Correct</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>&ldquo;It took about 40 minutes for commuting.&rdquo;</td>
          <td>&ldquo;The commute took about 40 minutes.&rdquo;</td>
      </tr>
      <tr>
          <td>&ldquo;One second before, I thought whether my phone on my leg would fall into the toilet and the next second it fell.&rdquo;</td>
          <td>&ldquo;One second before it happened, I wondered if my phone would fall from my lap into the toilet - and then it did.&rdquo;</td>
      </tr>
      <tr>
          <td>&ldquo;I found that Amir likes to hangout around especially at supermarket.&rdquo;</td>
          <td>&ldquo;I noticed Amir likes to hang out, especially at the supermarket.&rdquo;</td>
      </tr>
      <tr>
          <td>&ldquo;Tonight, he wanted buy a trunks, so I accompanied him to go to Walmart, but finally he didn&rsquo;t buy anything, and I bought a lot groceries.&rdquo;</td>
          <td>&ldquo;Tonight he wanted to buy swim trunks, so I went with him to Walmart. He ended up not buying anything, while I bought a lot of groceries.&rdquo;</td>
      </tr>
      <tr>
          <td>&ldquo;It&rsquo;s crazy in my heart, however I only said I don&rsquo;t recommend to do that.&rdquo;</td>
          <td>&ldquo;I thought it was crazy, but I only said I wouldn&rsquo;t recommend doing that.&rdquo;</td>
      </tr>
      <tr>
          <td>&ldquo;Moreover we only have one bathroom.&rdquo;</td>
          <td>&ldquo;Besides, we only have one bathroom.&rdquo;</td>
      </tr>
      <tr>
          <td>&ldquo;He might be thinking that I&rsquo;m kind and easy to get along with.&rdquo;</td>
          <td>&ldquo;He might think I&rsquo;m kind and easy to get along with.&rdquo;</td>
      </tr>
      <tr>
          <td>&ldquo;Perhaps he didn&rsquo;t know all these are from inclusive roommate, or called tolerance.&rdquo;</td>
          <td>&ldquo;Perhaps he doesn&rsquo;t realize this comes from being an inclusive roommate - what you might call tolerance.&rdquo;</td>
      </tr>
  </tbody>
</table>
<p>The rest of your writing is grammatically correct and sounds natural. The main issues were:</p>
<ul>
<li>Some awkward phrasing that could be more natural</li>
<li>A few missing articles (&ldquo;the&rdquo;, &ldquo;a&rdquo;)</li>
<li>Some verb tense inconsistencies</li>
<li>A few missing prepositions</li>
</ul>
<p>Would you like me to explain any of these corrections in more detail?</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-12</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-12/</link>
      <pubDate>Wed, 12 Nov 2025 23:47:22 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-12/</guid>
      <description>&lt;p&gt;This week is reading week, which means it doesn&amp;rsquo;t have any classes.&lt;/p&gt;
&lt;p&gt;I got up early and cooked some pasta for lunch because I didn&amp;rsquo;t cook last night.&lt;/p&gt;
&lt;p&gt;I arrived at the office about 09:48, and got off work at nearly 5.&lt;/p&gt;
&lt;p&gt;I accompanied Amir to buy his trunks, but there isn&amp;rsquo;t any shop selling it. Damnit.&lt;/p&gt;
&lt;p&gt;I should be used to write diary on my phone. Turning on my laptop is a thing which is full of obstacles.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This week is reading week, which means it doesn&rsquo;t have any classes.</p>
<p>I got up early and cooked some pasta for lunch because I didn&rsquo;t cook last night.</p>
<p>I arrived at the office about 09:48, and got off work at nearly 5.</p>
<p>I accompanied Amir to buy his trunks, but there isn&rsquo;t any shop selling it. Damnit.</p>
<p>I should be used to write diary on my phone. Turning on my laptop is a thing which is full of obstacles.</p>
<p>And I need to write more words to practice my writing.</p>
<blockquote>
<p>Practice makes perfect!</p>
</blockquote>
<hr>
<p>Here are some grammar suggestions for your diary entry [[2025-11-12]]:</p>
<ol>
<li>
<p>&ldquo;This week is reading week, which means it doesn&rsquo;t have any classes.&rdquo;</p>
<ul>
<li>More natural: &ldquo;This week is reading week, which means there are no classes.&rdquo;</li>
</ul>
</li>
<li>
<p>&ldquo;I arrived at the office about 09:48, and got off work at nearly 5.&rdquo;</p>
<ul>
<li>More natural: &ldquo;I arrived at the office at about 9:48 AM and left work at nearly 5 PM.&rdquo;</li>
</ul>
</li>
<li>
<p>&ldquo;I accompanied Amir to buy his trunks, but there isn&rsquo;t any shop selling it.&rdquo;</p>
<ul>
<li>Correction: &ldquo;I accompanied Amir to buy his trunks, but there weren&rsquo;t any shops selling them.&rdquo;</li>
<li>(&ldquo;trunks&rdquo; is plural, so &ldquo;shops&rdquo; and &ldquo;them&rdquo; should match)</li>
</ul>
</li>
<li>
<p>&ldquo;I should be used to write diary on my phone.&rdquo;</p>
<ul>
<li>Correction: &ldquo;I should get used to writing my diary on my phone.&rdquo;</li>
<li>(&ldquo;get used to&rdquo; + gerund is the correct form)</li>
</ul>
</li>
<li>
<p>&ldquo;Turning on my laptop is a thing which is full of obstacles.&rdquo;</p>
<ul>
<li>More natural: &ldquo;Turning on my laptop is something that&rsquo;s full of obstacles.&rdquo;</li>
</ul>
</li>
</ol>
<p>The rest of the entry is grammatically correct. The quote &ldquo;Practice makes perfect!&rdquo; is perfect as is.</p>
<p>Would you like me to suggest any stylistic improvements as well?</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-11</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-11/</link>
      <pubDate>Wed, 12 Nov 2025 03:14:32 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-11/</guid>
      <description>&lt;p&gt;Today I watched the Shrek 4. The series is good.&lt;/p&gt;
&lt;p&gt;Chatrangha delivered my new clothes to my home. I gave him some hot pot base.&lt;/p&gt;
&lt;h3 id=&#34;2114-aurora&#34;&gt;21:14 Aurora&lt;/h3&gt;
&lt;p&gt;this is the first time day I saw the aurora. It&amp;rsquo;s beautiful but the light is two much. and I hope I could see aurora at a quiet environment.&lt;/p&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;../../../../static/images/diary/Aurora-20251111.jpg&#34;&gt;</description>
      <content:encoded><![CDATA[<p>Today I watched the Shrek 4. The series is good.</p>
<p>Chatrangha delivered my new clothes to my home. I gave him some hot pot base.</p>
<h3 id="2114-aurora">21:14 Aurora</h3>
<p>this is the first time day I saw the aurora. It&rsquo;s beautiful but the light is two much. and I hope I could see aurora at a quiet environment.</p>
<img loading="lazy" src="../../../../static/images/diary/Aurora-20251111.jpg">]]></content:encoded>
    </item>
    <item>
      <title>2025-11-10</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-10/</link>
      <pubDate>Tue, 11 Nov 2025 00:37:46 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-10/</guid>
      <description>&lt;h3 id=&#34;1837-fido&#34;&gt;18:37 Fido&lt;/h3&gt;
&lt;p&gt;I called Fido all afternoon, due to it sent me a urgent email and asked me to pay $165. It looked like a ghost.&lt;/p&gt;
&lt;p&gt;Finally I paid $2.96 and I hope that&amp;rsquo;s it.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1837-fido">18:37 Fido</h3>
<p>I called Fido all afternoon, due to it sent me a urgent email and asked me to pay $165. It looked like a ghost.</p>
<p>Finally I paid $2.96 and I hope that&rsquo;s it.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-09</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-09/</link>
      <pubDate>Sun, 09 Nov 2025 22:24:59 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-09/</guid>
      <description>&lt;p&gt;Went to Safeway for buying some meat and milk. Did a little assignment.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Went to Safeway for buying some meat and milk. Did a little assignment.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-08</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-08/</link>
      <pubDate>Sat, 08 Nov 2025 22:32:20 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-08/</guid>
      <description>&lt;p&gt;Lying down all day. Did nothing.&lt;/p&gt;
&lt;p&gt;Huan bought a new Pura X a long time ago, but she didn&amp;rsquo;t tell me.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Lying down all day. Did nothing.</p>
<p>Huan bought a new Pura X a long time ago, but she didn&rsquo;t tell me.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-07</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-07/</link>
      <pubDate>Fri, 07 Nov 2025 07:16:03 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-07/</guid>
      <description>&lt;h3 id=&#34;0116-submitted&#34;&gt;01:16 Submitted&lt;/h3&gt;
&lt;p&gt;Submitted the RFI 5 of Concrete.&lt;/p&gt;
&lt;h3 id=&#34;0121-sleep&#34;&gt;01:21 Sleep&lt;/h3&gt;
&lt;p&gt;the guy who offend me yesterday, bought some donuts as a gift to me for apologizing. Amir and Chat said I took it.&lt;/p&gt;
&lt;h3 id=&#34;1545-donuts&#34;&gt;15:45 Donuts&lt;/h3&gt;
&lt;p&gt;I shared the donuts to Mohanmod and group members.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0116-submitted">01:16 Submitted</h3>
<p>Submitted the RFI 5 of Concrete.</p>
<h3 id="0121-sleep">01:21 Sleep</h3>
<p>the guy who offend me yesterday, bought some donuts as a gift to me for apologizing. Amir and Chat said I took it.</p>
<h3 id="1545-donuts">15:45 Donuts</h3>
<p>I shared the donuts to Mohanmod and group members.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-06</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-06/</link>
      <pubDate>Thu, 06 Nov 2025 16:39:39 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-06/</guid>
      <description>&lt;h3 id=&#34;0939-begin&#34;&gt;09:39 Begin&lt;/h3&gt;
&lt;p&gt;I was attending a mindfulness workshop.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s snow today, Amir and I were very happy, we took some photos.&lt;/p&gt;
&lt;h3 id=&#34;1325-thank-chat&#34;&gt;13:25 Thank Chat&lt;/h3&gt;
&lt;p&gt;In the noon, a guy said his friend taught him a Chinese sentence, and asked me wheather know about it.&lt;/p&gt;
&lt;p&gt;But that sentence was a dirty and rude one. I told back: fuck you!&lt;/p&gt;
&lt;p&gt;Later, I told this thing to my friends, just right the guy came across. Chatrangha called the guy and scold him, and the guy immidiately apologized to me.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0939-begin">09:39 Begin</h3>
<p>I was attending a mindfulness workshop.</p>
<p>It&rsquo;s snow today, Amir and I were very happy, we took some photos.</p>
<h3 id="1325-thank-chat">13:25 Thank Chat</h3>
<p>In the noon, a guy said his friend taught him a Chinese sentence, and asked me wheather know about it.</p>
<p>But that sentence was a dirty and rude one. I told back: fuck you!</p>
<p>Later, I told this thing to my friends, just right the guy came across. Chatrangha called the guy and scold him, and the guy immidiately apologized to me.</p>
<h3 id="1650-go-to-the-concrete-class">16:50 Go to the Concrete class</h3>
<p>The Concrete class was really tough, cold, tired, boring, hungry.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-05</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-05/</link>
      <pubDate>Wed, 05 Nov 2025 16:31:35 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-05/</guid>
      <description>&lt;h3 id=&#34;0931-arrive-at-the-office&#34;&gt;09:31 Arrive at the Office&lt;/h3&gt;
&lt;h3 id=&#34;1749-get-off-work&#34;&gt;17:49 Get off work&lt;/h3&gt;</description>
      <content:encoded><![CDATA[<h3 id="0931-arrive-at-the-office">09:31 Arrive at the Office</h3>
<h3 id="1749-get-off-work">17:49 Get off work</h3>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-04</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-04/</link>
      <pubDate>Tue, 04 Nov 2025 17:10:29 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-04/</guid>
      <description>&lt;h3 id=&#34;0935-arrive-at-the-office&#34;&gt;09:35 Arrive at the Office&lt;/h3&gt;
&lt;h3 id=&#34;1010-buy-some-clothes-and-shoes&#34;&gt;10:10 Buy some clothes and shoes&lt;/h3&gt;
&lt;h3 id=&#34;1421-buy-snipaste&#34;&gt;14:21 Buy Snipaste&lt;/h3&gt;
&lt;p&gt;I have become extravagant with my money. I spent ￥81 on Snipaste to unlock the Pro version.&lt;/p&gt;
&lt;h3 id=&#34;1641-tired&#34;&gt;16:41 Tired&lt;/h3&gt;
&lt;p&gt;I hate the Sorush who teaches the MIN E 610, and the assignment is useless.&lt;/p&gt;
&lt;h3 id=&#34;1704-dizzy&#34;&gt;17:04 Dizzy&lt;/h3&gt;
&lt;p&gt;If I buy a black coffee, I can drink it all day.&lt;/p&gt;
&lt;h3 id=&#34;1759-get-out-of-work&#34;&gt;17:59 Get out of work&lt;/h3&gt;
&lt;h3 id=&#34;2036-confuse&#34;&gt;20:36 Confuse&lt;/h3&gt;
&lt;p&gt;It&amp;rsquo;s hard to communicate with my roommate.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0935-arrive-at-the-office">09:35 Arrive at the Office</h3>
<h3 id="1010-buy-some-clothes-and-shoes">10:10 Buy some clothes and shoes</h3>
<h3 id="1421-buy-snipaste">14:21 Buy Snipaste</h3>
<p>I have become extravagant with my money. I spent ￥81 on Snipaste to unlock the Pro version.</p>
<h3 id="1641-tired">16:41 Tired</h3>
<p>I hate the Sorush who teaches the MIN E 610, and the assignment is useless.</p>
<h3 id="1704-dizzy">17:04 Dizzy</h3>
<p>If I buy a black coffee, I can drink it all day.</p>
<h3 id="1759-get-out-of-work">17:59 Get out of work</h3>
<h3 id="2036-confuse">20:36 Confuse</h3>
<p>It&rsquo;s hard to communicate with my roommate.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-03</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-03/</link>
      <pubDate>Mon, 03 Nov 2025 16:34:32 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-03/</guid>
      <description>&lt;h3 id=&#34;0907-arrive-at-the-office&#34;&gt;09:07 Arrive at the Office&lt;/h3&gt;
&lt;h3 id=&#34;1544-go-out-for-haircutting&#34;&gt;15:44 Go out for haircutting&lt;/h3&gt;
&lt;p&gt;An old lady cut my hair, she was really dedicated but really bad at haircutting.&lt;/p&gt;
&lt;p&gt;I haircut again by myself after going home.&lt;/p&gt;
&lt;p&gt;Received the parcel from Huan. It&amp;rsquo;s very happy.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0907-arrive-at-the-office">09:07 Arrive at the Office</h3>
<h3 id="1544-go-out-for-haircutting">15:44 Go out for haircutting</h3>
<p>An old lady cut my hair, she was really dedicated but really bad at haircutting.</p>
<p>I haircut again by myself after going home.</p>
<p>Received the parcel from Huan. It&rsquo;s very happy.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-02</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-02/</link>
      <pubDate>Sun, 02 Nov 2025 22:33:56 -0700</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-02/</guid>
      <description>&lt;p&gt;Stayed at home all day.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Stayed at home all day.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-11-01</title>
      <link>https://jinpeng.cv/en/diary/2025/november/2025-11-01/</link>
      <pubDate>Sat, 01 Nov 2025 22:33:45 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/november/2025-11-01/</guid>
      <description>&lt;p&gt;Dr. Zhao and I went to West Edmonton Mall to eat fried chicken and buy some groceries.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Dr. Zhao and I went to West Edmonton Mall to eat fried chicken and buy some groceries.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-31</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-31/</link>
      <pubDate>Fri, 31 Oct 2025 23:02:46 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-31/</guid>
      <description>&lt;h3 id=&#34;1702-join-the-halloween--with-amir&#34;&gt;17:02 Join the Halloween  with Amir&lt;/h3&gt;
&lt;p&gt;I came back the office and studied till 7 pm.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1702-join-the-halloween--with-amir">17:02 Join the Halloween  with Amir</h3>
<p>I came back the office and studied till 7 pm.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-30</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-30/</link>
      <pubDate>Thu, 30 Oct 2025 20:53:07 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-30/</guid>
      <description>&lt;p&gt;A whole day of courses.&lt;/p&gt;
&lt;h3 id=&#34;1453-arrive-at-the-office&#34;&gt;14:53 Arrive at the Office&lt;/h3&gt;
&lt;p&gt;After GRIT, and Mining classes, Amir and I went to the International student services for free coat.&lt;/p&gt;
&lt;h3 id=&#34;1537-off-the-shelf&#34;&gt;15:37 Off-the-shelf&lt;/h3&gt;</description>
      <content:encoded><![CDATA[<p>A whole day of courses.</p>
<h3 id="1453-arrive-at-the-office">14:53 Arrive at the Office</h3>
<p>After GRIT, and Mining classes, Amir and I went to the International student services for free coat.</p>
<h3 id="1537-off-the-shelf">15:37 Off-the-shelf</h3>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-29</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-29/</link>
      <pubDate>Wed, 29 Oct 2025 16:13:18 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-29/</guid>
      <description>&lt;h3 id=&#34;0955-arrive-at-the-office&#34;&gt;09:55 Arrive at the Office&lt;/h3&gt;
&lt;h3 id=&#34;1350-tired&#34;&gt;13:50 Tired&lt;/h3&gt;</description>
      <content:encoded><![CDATA[<h3 id="0955-arrive-at-the-office">09:55 Arrive at the Office</h3>
<h3 id="1350-tired">13:50 Tired</h3>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-28</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-28/</link>
      <pubDate>Tue, 28 Oct 2025 15:46:34 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-28/</guid>
      <description>&lt;h3 id=&#34;0946-arrive-at-the-office&#34;&gt;09:46 Arrive at the Office&lt;/h3&gt;
&lt;h3 id=&#34;1527-stellarium&#34;&gt;15:27 Stellarium&lt;/h3&gt;
&lt;p&gt;This App can observe the sky.&lt;/p&gt;
&lt;h3 id=&#34;1642-advanced-ethics-and-academic-citizenship&#34;&gt;16:42 Advanced Ethics and Academic Citizenship&lt;/h3&gt;
&lt;p&gt;Finished the Ethics and Academic Citizenship and Advanced Ethics and Academic Citizenship.&lt;/p&gt;
&lt;h3 id=&#34;2138--deswikcad-essentials&#34;&gt;21:38  Deswik.CAD Essentials&lt;/h3&gt;
&lt;p&gt;Finished the Deswik.CAD Essentials module, Open Pit Metals - Scheduling to constraints,  Short term ramp design.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0946-arrive-at-the-office">09:46 Arrive at the Office</h3>
<h3 id="1527-stellarium">15:27 Stellarium</h3>
<p>This App can observe the sky.</p>
<h3 id="1642-advanced-ethics-and-academic-citizenship">16:42 Advanced Ethics and Academic Citizenship</h3>
<p>Finished the Ethics and Academic Citizenship and Advanced Ethics and Academic Citizenship.</p>
<h3 id="2138--deswikcad-essentials">21:38  Deswik.CAD Essentials</h3>
<p>Finished the Deswik.CAD Essentials module, Open Pit Metals - Scheduling to constraints,  Short term ramp design.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-27</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-27/</link>
      <pubDate>Mon, 27 Oct 2025 15:58:11 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-27/</guid>
      <description>&lt;h3 id=&#34;0958-arrive-at-the-office&#34;&gt;09:58 Arrive at the Office&lt;/h3&gt;
&lt;h3 id=&#34;1859-go-home&#34;&gt;18:59 Go home&lt;/h3&gt;
&lt;p&gt;I finally finished the project on sensing and submitted it. Felt a little release.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Today&amp;rsquo;s group meeting, Shiva pointed me out as the chairman. Unbelievable!&lt;/p&gt;
&lt;p&gt;Prof. Liu said Don&amp;rsquo;t work too much. We should focus on our mental health.&lt;/p&gt;
&lt;h3 id=&#34;2305-study-the-ethics-and-academic-citizenship&#34;&gt;23:05 Study the Ethics and Academic Citizenship&lt;/h3&gt;</description>
      <content:encoded><![CDATA[<h3 id="0958-arrive-at-the-office">09:58 Arrive at the Office</h3>
<h3 id="1859-go-home">18:59 Go home</h3>
<p>I finally finished the project on sensing and submitted it. Felt a little release.</p>
<hr>
<p>Today&rsquo;s group meeting, Shiva pointed me out as the chairman. Unbelievable!</p>
<p>Prof. Liu said Don&rsquo;t work too much. We should focus on our mental health.</p>
<h3 id="2305-study-the-ethics-and-academic-citizenship">23:05 Study the Ethics and Academic Citizenship</h3>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-26</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-26/</link>
      <pubDate>Mon, 27 Oct 2025 05:40:35 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-26/</guid>
      <description>&lt;h3 id=&#34;2340-complete-the-my-own-project-part&#34;&gt;23:40 Complete the my own project part&lt;/h3&gt;
&lt;p&gt;Math is a big problem in the future..&lt;/p&gt;
&lt;h3 id=&#34;2341-prepare-to-go-to-bed&#34;&gt;23:41 Prepare to go to bed.&lt;/h3&gt;</description>
      <content:encoded><![CDATA[<h3 id="2340-complete-the-my-own-project-part">23:40 Complete the my own project part</h3>
<p>Math is a big problem in the future..</p>
<h3 id="2341-prepare-to-go-to-bed">23:41 Prepare to go to bed.</h3>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-25</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-25/</link>
      <pubDate>Sat, 25 Oct 2025 22:11:39 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-25/</guid>
      <description>&lt;h3 id=&#34;1611-arrive-at-the-office&#34;&gt;16:11 Arrive at the office&lt;/h3&gt;
&lt;p&gt;For the project 1 of sensing class&lt;/p&gt;
&lt;h3 id=&#34;1942-go-home&#34;&gt;19:42 Go home&lt;/h3&gt;
&lt;p&gt;Boiled the chicken&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1611-arrive-at-the-office">16:11 Arrive at the office</h3>
<p>For the project 1 of sensing class</p>
<h3 id="1942-go-home">19:42 Go home</h3>
<p>Boiled the chicken</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-24</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-24/</link>
      <pubDate>Fri, 24 Oct 2025 21:36:01 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-24/</guid>
      <description>&lt;h3 id=&#34;1536-clearing-conditional-admission&#34;&gt;15:36 Clearing conditional admission&lt;/h3&gt;
&lt;p&gt;Went to Triffo Hall with Amir after the sensing class.&lt;/p&gt;
&lt;h3 id=&#34;1536-special-list&#34;&gt;15:36 Special list&lt;/h3&gt;
&lt;p&gt;Dr. Wu&lt;/p&gt;
&lt;h3 id=&#34;1536-sensing-techniques-and-data-analysis&#34;&gt;15:36 Sensing techniques and data analysis&lt;/h3&gt;
&lt;p&gt;Felt tough, due to unable focus on.&lt;/p&gt;
&lt;h3 id=&#34;1610-can-not-concentrate&#34;&gt;16:10 Can not concentrate&lt;/h3&gt;
&lt;p&gt;A singer sang some songs at university, his voice is very beautiful.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1536-clearing-conditional-admission">15:36 Clearing conditional admission</h3>
<p>Went to Triffo Hall with Amir after the sensing class.</p>
<h3 id="1536-special-list">15:36 Special list</h3>
<p>Dr. Wu</p>
<h3 id="1536-sensing-techniques-and-data-analysis">15:36 Sensing techniques and data analysis</h3>
<p>Felt tough, due to unable focus on.</p>
<h3 id="1610-can-not-concentrate">16:10 Can not concentrate</h3>
<p>A singer sang some songs at university, his voice is very beautiful.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-23</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-23/</link>
      <pubDate>Thu, 23 Oct 2025 15:31:26 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-23/</guid>
      <description>&lt;h3 id=&#34;1447-argue-with-amir&#34;&gt;14:47 Argue with Amir&lt;/h3&gt;
&lt;h3 id=&#34;1447-insomnia&#34;&gt;14:47 Insomnia&lt;/h3&gt;
&lt;p&gt;I had insomnia last night&lt;/p&gt;
&lt;h3 id=&#34;0931-grit&#34;&gt;09:31 GRIT&lt;/h3&gt;
&lt;p&gt;Today was a busy day. three courses.&lt;/p&gt;
&lt;h3 id=&#34;-my-research-journey-map---jinpeng&#34;&gt;&lt;strong&gt;✏️ MY RESEARCH JOURNEY MAP&lt;/strong&gt; - Jinpeng&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Instructions:&lt;/strong&gt;**&lt;br&gt;
** Draw or outline your academic journey so far. Include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Major milestones (e.g., coursework, , publications)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Master thesis&lt;/li&gt;
&lt;li&gt;Decide to go abroad to study&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Challenges or turning points&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Confidence&lt;/li&gt;
&lt;li&gt;English level&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Influences or mentors&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;My tutor during my master&amp;rsquo;s degree&lt;/li&gt;
&lt;li&gt;Introverted personality&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Hopes or goals for the coming year&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1447-argue-with-amir">14:47 Argue with Amir</h3>
<h3 id="1447-insomnia">14:47 Insomnia</h3>
<p>I had insomnia last night</p>
<h3 id="0931-grit">09:31 GRIT</h3>
<p>Today was a busy day. three courses.</p>
<h3 id="-my-research-journey-map---jinpeng"><strong>✏️ MY RESEARCH JOURNEY MAP</strong> - Jinpeng</h3>
<p><strong>Instructions:</strong>**<br>
** Draw or outline your academic journey so far. Include:</p>
<ul>
<li>
<p>Major milestones (e.g., coursework, , publications)</p>
<ul>
<li>Master thesis</li>
<li>Decide to go abroad to study</li>
</ul>
</li>
<li>
<p>Challenges or turning points</p>
<ul>
<li>Confidence</li>
<li>English level</li>
</ul>
</li>
<li>
<p>Influences or mentors</p>
<ul>
<li>My tutor during my master&rsquo;s degree</li>
<li>Introverted personality</li>
</ul>
</li>
<li>
<p>Hopes or goals for the coming year</p>
<ul>
<li>Build confidence</li>
<li>Improve English</li>
</ul>
</li>
</ul>
<p>🗺️ Use arrows, paths, or symbols if you like — this doesn’t need to be artistic!<br>
After 10 minutes, share highlights in a small group:</p>
<ul>
<li>What patterns or insights do you notice?
<ul>
<li>The meaning of learning culture and history</li>
</ul>
</li>
<li>What do you hope GRIT will help you with?
<ul>
<li>How to expand academic abilities and skills</li>
<li>Help me to be passionate and brave</li>
</ul>
</li>
</ul>
<h3 id="mining">Mining</h3>
<p>Crude oil</p>
<pre><code>- definition: natural occuring liquid petroleum
- flowability: they can flow naturally through wells
- mining method: conventional mining
</code></pre>
<p>Bitumen:</p>
<pre><code>- definition: a very thick, heavy, and sticky form of petroleum (very viscous)
- flwability: hard to flow on its natural temperature and must be mined/heated
- mining method: Suface mining (depth&lt;= 75m)j; in-situ mining (depth&gt;200m)
</code></pre>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-22</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-22/</link>
      <pubDate>Wed, 22 Oct 2025 22:36:12 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-22/</guid>
      <description>&lt;h3 id=&#34;1000-arrive-at-the-office&#34;&gt;10:00 Arrive at the office&lt;/h3&gt;
&lt;h3 id=&#34;1026-arrive-at-the-office&#34;&gt;10:26 Arrive at the office&lt;/h3&gt;
&lt;h3 id=&#34;1309-talk-to-mr-mohammod&#34;&gt;13:09 Talk to Mr. Mohammod&lt;/h3&gt;
&lt;p&gt;I wanted to take care to him, but I didn&amp;rsquo;t do that. I even cannot express this, akwarddraf.&lt;/p&gt;
&lt;h3 id=&#34;1310-lunch&#34;&gt;13:10 Lunch&lt;/h3&gt;
&lt;p&gt;Now, starting to feel sleepy.&lt;/p&gt;
&lt;h3 id=&#34;1617-buy-a-coffee&#34;&gt;16:17 Buy a coffee&lt;/h3&gt;
&lt;p&gt;With Amir.&lt;/p&gt;
&lt;h3 id=&#34;2055-get-off-work&#34;&gt;20:55 Get off work&lt;/h3&gt;</description>
      <content:encoded><![CDATA[<h3 id="1000-arrive-at-the-office">10:00 Arrive at the office</h3>
<h3 id="1026-arrive-at-the-office">10:26 Arrive at the office</h3>
<h3 id="1309-talk-to-mr-mohammod">13:09 Talk to Mr. Mohammod</h3>
<p>I wanted to take care to him, but I didn&rsquo;t do that. I even cannot express this, akwarddraf.</p>
<h3 id="1310-lunch">13:10 Lunch</h3>
<p>Now, starting to feel sleepy.</p>
<h3 id="1617-buy-a-coffee">16:17 Buy a coffee</h3>
<p>With Amir.</p>
<h3 id="2055-get-off-work">20:55 Get off work</h3>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-21</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-21/</link>
      <pubDate>Tue, 21 Oct 2025 15:58:13 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-21/</guid>
      <description>&lt;h3 id=&#34;0958-arrive-at-the-office&#34;&gt;09:58 Arrive at the Office&lt;/h3&gt;
&lt;p&gt;The third one arrived at the Office.&lt;/p&gt;
&lt;h3 id=&#34;1214-preview-the-lecture-16-mining&#34;&gt;12:14 Preview the lecture 16 mining&lt;/h3&gt;
&lt;p&gt;However, the lecture teacher used is lecture 14; he made a mistake in the last class.&lt;/p&gt;
&lt;h3 id=&#34;1436-sleepy&#34;&gt;14:36 Sleepy&lt;/h3&gt;
&lt;h3 id=&#34;1602-fail-to-use-scss-in-hugo&#34;&gt;16:02 Fail to use SCSS in Hugo&lt;/h3&gt;
&lt;p&gt;I have to write the concrete assignment now.&lt;/p&gt;
&lt;h3 id=&#34;1607-achieve-the-line-break-function-in-quick-record&#34;&gt;16:07 Achieve the line break function in quick record&lt;/h3&gt;
&lt;p&gt;This is a test line.&lt;/p&gt;
&lt;h3 id=&#34;2214-cant-understand-the-twits&#34;&gt;22:14 Can&#39;t understand &lt;em&gt;The Twits&lt;/em&gt;&lt;/h3&gt;
&lt;p&gt;It seems there is a lot of irony.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0958-arrive-at-the-office">09:58 Arrive at the Office</h3>
<p>The third one arrived at the Office.</p>
<h3 id="1214-preview-the-lecture-16-mining">12:14 Preview the lecture 16 mining</h3>
<p>However, the lecture teacher used is lecture 14; he made a mistake in the last class.</p>
<h3 id="1436-sleepy">14:36 Sleepy</h3>
<h3 id="1602-fail-to-use-scss-in-hugo">16:02 Fail to use SCSS in Hugo</h3>
<p>I have to write the concrete assignment now.</p>
<h3 id="1607-achieve-the-line-break-function-in-quick-record">16:07 Achieve the line break function in quick record</h3>
<p>This is a test line.</p>
<h3 id="2214-cant-understand-the-twits">22:14 Can't understand <em>The Twits</em></h3>
<p>It seems there is a lot of irony.</p>
<h3 id="2225-wash">22:25 Wash</h3>
<p>Recently, my eyes have always felt uncomfortable. I need more good sleep, or I need to go to the hospital to do a medical exam.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-20</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-20/</link>
      <pubDate>Mon, 20 Oct 2025 16:17:50 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-20/</guid>
      <description>&lt;h3 id=&#34;1017-email-to-prof-liu&#34;&gt;10:17 Email to Prof. Liu&lt;/h3&gt;
&lt;p&gt;I applied a training program and was selected, I sent an email to Prof. Liu to inform him and get his approving.&lt;/p&gt;
&lt;h3 id=&#34;1202-buy-a-coffee-with-jian-and-chat&#34;&gt;12:02 Buy a coffee with Jian and Chat&lt;/h3&gt;
&lt;p&gt;It seemed that coffee is not effective for me.&lt;/p&gt;
&lt;h3 id=&#34;1211-achieive-directly-record&#34;&gt;12:11 Achieive directly record&lt;/h3&gt;
&lt;p&gt;Upgrade the &lt;code&gt;now.ps1&lt;/code&gt; to perform direct recording.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;now&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;D:\A\Jeapo&amp;#39;s blog\assets\code\now.ps1&amp;#34;&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;@args&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;1225-have-lunch-with-jian-and-chat&#34;&gt;12:25 Have lunch with Jian and Chat&lt;/h3&gt;
&lt;p&gt;Bitter gourd was not bad.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1017-email-to-prof-liu">10:17 Email to Prof. Liu</h3>
<p>I applied a training program and was selected, I sent an email to Prof. Liu to inform him and get his approving.</p>
<h3 id="1202-buy-a-coffee-with-jian-and-chat">12:02 Buy a coffee with Jian and Chat</h3>
<p>It seemed that coffee is not effective for me.</p>
<h3 id="1211-achieive-directly-record">12:11 Achieive directly record</h3>
<p>Upgrade the <code>now.ps1</code> to perform direct recording.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-powershell" data-lang="powershell"><span class="line"><span class="cl"><span class="kd">function</span><span class="w"> </span><span class="nb">now</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="p">&amp;</span> <span class="s2">&#34;D:\A\Jeapo&#39;s blog\assets\code\now.ps1&#34;</span> <span class="nv">@args</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="1225-have-lunch-with-jian-and-chat">12:25 Have lunch with Jian and Chat</h3>
<p>Bitter gourd was not bad.</p>
<h3 id="1325-test-recording-via-powertoys">13:25 Test recording via PowerToys</h3>
<h3 id="1328-so-convenient">13:28 So convenient</h3>
<p>Test the enter function， it doesn&rsquo;t work well.</p>
<h3 id="1332-tba-means-to-be-announced">13:32 TBA means To Be Announced</h3>
<p>Stupidly, I thought the room TBA is a room named TBA. Amir told me that means to be announced.</p>
<h3 id="1531-drink-jasmine-tea-with-jian-and-chat">15:31 Drink Jasmine Tea with Jian and Chat</h3>
<p>Drink some hot water is good for us.</p>
<h3 id="1656-have-a-toothache">16:56 Have a toothache</h3>
<p>Toothache is so painful, due to eating KFC fried chicken last Sunday.</p>
<h3 id="1731-get-off-work">17:31 Get off work</h3>
<p>I couldn&rsquo;t continue working now, just get off work.</p>
<h3 id="2241-wash-the-dirty-socks">22:41 Wash the dirty socks</h3>
<p>Tired</p>
<h3 id="2333-follow-and-read-the-movie-the-twits">23:33 Follow and read the movie: <em>The Twits</em></h3>
<p>I took a tablet of melatonin and feel sleepy now.</p>
<p>Good night.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-19</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-19/</link>
      <pubDate>Sun, 19 Oct 2025 22:16:03 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-19/</guid>
      <description>&lt;h3 id=&#34;1616-exhausted&#34;&gt;16:16 Exhausted&lt;/h3&gt;
&lt;p&gt;I just want to sleep all day, but I can&amp;rsquo;t fall asleep.&lt;/p&gt;
&lt;h3 id=&#34;1631-detroit-become-human&#34;&gt;16:31 Detroit: become human&lt;/h3&gt;
&lt;p&gt;I bought a game from Steam, and I heard that it is very amusing.&lt;/p&gt;
&lt;h3 id=&#34;2244-watch-k-pop-demon-hunter&#34;&gt;22:44 Watch &lt;em&gt;K-POP: Demon Hunter&lt;/em&gt;&lt;/h3&gt;
&lt;p&gt;At first, I didn&amp;rsquo;t like this movie, especially the type and the style. But I found that the cover I saw knew its songs very popular. After watching, it&amp;rsquo;s really a nice movie.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1616-exhausted">16:16 Exhausted</h3>
<p>I just want to sleep all day, but I can&rsquo;t fall asleep.</p>
<h3 id="1631-detroit-become-human">16:31 Detroit: become human</h3>
<p>I bought a game from Steam, and I heard that it is very amusing.</p>
<h3 id="2244-watch-k-pop-demon-hunter">22:44 Watch <em>K-POP: Demon Hunter</em></h3>
<p>At first, I didn&rsquo;t like this movie, especially the type and the style. But I found that the cover I saw knew its songs very popular. After watching, it&rsquo;s really a nice movie.</p>
<h3 id="2248-watch-how-to-train-dragons-the-hidden-world">22:48 Watch <em>How to Train Dragons: The Hidden World</em></h3>
<p>A nice movie, it made me calm down and feel relaxed.</p>
<p>And I found that I can understand a movie without Chinese; I am getting more and more familiar with English.</p>
<p>The information from cellphones always makes me feel dizzy and eye-hurt.</p>
<h3 id="2251-bitter-gourd-stewed-pork-ribs">22:51 Bitter gourd stewed pork ribs</h3>
<p>Not bad, I cooked it while watching movies, for tomorrow&rsquo;s lunch.</p>
<p>And I had a KFC with a nice offer, and bought some groceries from Safeway.</p>
<p>We feel happy if our tummy is satisfied.</p>
<h3 id="2243-take-a-shower">22:43 Take a shower</h3>
<p>Felt more awake</p>
<h3 id="2340">23:40</h3>
<p>andn</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-18</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-18/</link>
      <pubDate>Sat, 18 Oct 2025 23:58:37 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-18/</guid>
      <description>&lt;h3 id=&#34;1758-lied-down-all-day&#34;&gt;17:58 Lied down all day&lt;/h3&gt;
&lt;p&gt;In the afternoon, I decided to do some assignments. It&amp;rsquo;s so tough.&lt;/p&gt;
&lt;h3 id=&#34;2135-dizzy&#34;&gt;21:35 Dizzy&lt;/h3&gt;
&lt;p&gt;I&amp;rsquo;ve been looking at my phone for too long; I even get dizzy now.&lt;/p&gt;
&lt;h3 id=&#34;2359-mail--to-amir&#34;&gt;23:59 Mail  to Amir&lt;/h3&gt;
&lt;p&gt;Writing project phase 1 to part C4.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1758-lied-down-all-day">17:58 Lied down all day</h3>
<p>In the afternoon, I decided to do some assignments. It&rsquo;s so tough.</p>
<h3 id="2135-dizzy">21:35 Dizzy</h3>
<p>I&rsquo;ve been looking at my phone for too long; I even get dizzy now.</p>
<h3 id="2359-mail--to-amir">23:59 Mail  to Amir</h3>
<p>Writing project phase 1 to part C4.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-17</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-17/</link>
      <pubDate>Fri, 17 Oct 2025 15:47:07 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-17/</guid>
      <description>&lt;h3 id=&#34;0947-arrive-at-the-office&#34;&gt;09:47 Arrive at the Office&lt;/h3&gt;
&lt;p&gt;I need to arrive at the office earlier; the daytime is too short.&lt;/p&gt;
&lt;h3 id=&#34;2229-quarto-shortcuts&#34;&gt;22:29 Quarto shortcuts&lt;/h3&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Quarto Command&lt;/th&gt;
          &lt;th&gt;Keyboard Shortcut&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Run Current Cell&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;⇧⌃ Enter&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Run Selected Line(s)&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;⌃ Enter&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Run Next Cell&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;⌥⌃ N&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Run Previous Cell&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;⌥⌃ P&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Run All Cells&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;⌥⌃ R&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Run Cells Above&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;⇧⌥⌃ P&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Run Cells Below&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;⇧⌥⌃ N&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;</description>
      <content:encoded><![CDATA[<h3 id="0947-arrive-at-the-office">09:47 Arrive at the Office</h3>
<p>I need to arrive at the office earlier; the daytime is too short.</p>
<h3 id="2229-quarto-shortcuts">22:29 Quarto shortcuts</h3>
<table>
  <thead>
      <tr>
          <th>Quarto Command</th>
          <th>Keyboard Shortcut</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Run Current Cell</td>
          <td><code>⇧⌃ Enter</code></td>
      </tr>
      <tr>
          <td>Run Selected Line(s)</td>
          <td><code>⌃ Enter</code></td>
      </tr>
      <tr>
          <td>Run Next Cell</td>
          <td><code>⌥⌃ N</code></td>
      </tr>
      <tr>
          <td>Run Previous Cell</td>
          <td><code>⌥⌃ P</code></td>
      </tr>
      <tr>
          <td>Run All Cells</td>
          <td><code>⌥⌃ R</code></td>
      </tr>
      <tr>
          <td>Run Cells Above</td>
          <td><code>⇧⌥⌃ P</code></td>
      </tr>
      <tr>
          <td>Run Cells Below</td>
          <td><code>⇧⌥⌃ N</code></td>
      </tr>
  </tbody>
</table>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-16</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-16/</link>
      <pubDate>Thu, 16 Oct 2025 16:14:48 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-16/</guid>
      <description>&lt;h3 id=&#34;1014-start-study&#34;&gt;10:14 Start study&lt;/h3&gt;
&lt;p&gt;Every day is busy, but I&amp;rsquo;m lazy; I can&amp;rsquo;t be lazy.&lt;/p&gt;
&lt;h3 id=&#34;1601-submit-assignment-3-of-mining&#34;&gt;16:01 Submit Assignment 3 of Mining&lt;/h3&gt;
&lt;p&gt;I am still concerned about the 50% deduction on my assignment 1.&lt;/p&gt;
&lt;h3 id=&#34;1652-preview-study&#34;&gt;16:52 Preview study&lt;/h3&gt;
&lt;p&gt;Focus Verb. I felt calm when I focused on the verb in each sentence.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Today Jian and Chathuranga invited us to have bear together. This is the first time drinking in Canada, it was a new expierience.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1014-start-study">10:14 Start study</h3>
<p>Every day is busy, but I&rsquo;m lazy; I can&rsquo;t be lazy.</p>
<h3 id="1601-submit-assignment-3-of-mining">16:01 Submit Assignment 3 of Mining</h3>
<p>I am still concerned about the 50% deduction on my assignment 1.</p>
<h3 id="1652-preview-study">16:52 Preview study</h3>
<p>Focus Verb. I felt calm when I focused on the verb in each sentence.</p>
<hr>
<p>Today Jian and Chathuranga invited us to have bear together. This is the first time drinking in Canada, it was a new expierience.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-15</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-15/</link>
      <pubDate>Wed, 15 Oct 2025 15:53:57 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-15/</guid>
      <description>&lt;h3 id=&#34;0953-arrive-at-the-office&#34;&gt;09:53 Arrive at the Office&lt;/h3&gt;
&lt;p&gt;I didn&amp;rsquo;t sleep well due to not taking melatonin.&lt;/p&gt;
&lt;h3 id=&#34;1000-sad&#34;&gt;10:00 Sad&lt;/h3&gt;
&lt;p&gt;I only got 50/100 scores on the assignment of Mining. I forgot to click the submit button, and I sent an email to appologize, and the techer said no worries. Damn it.&lt;/p&gt;
&lt;h3 id=&#34;2358-准备睡觉&#34;&gt;23:58 准备睡觉&lt;/h3&gt;
&lt;p&gt;今天发生了很多伤心的事情&lt;/p&gt;
&lt;p&gt;首先是查看成绩，自己因为迟交被扣除了50%的成绩，非常难过；其次和Amirthan有一些观念上的不合，关于跛脚、作业、披萨；再就是作业实在有点多。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0953-arrive-at-the-office">09:53 Arrive at the Office</h3>
<p>I didn&rsquo;t sleep well due to not taking melatonin.</p>
<h3 id="1000-sad">10:00 Sad</h3>
<p>I only got 50/100 scores on the assignment of Mining. I forgot to click the submit button, and I sent an email to appologize, and the techer said no worries. Damn it.</p>
<h3 id="2358-准备睡觉">23:58 准备睡觉</h3>
<p>今天发生了很多伤心的事情</p>
<p>首先是查看成绩，自己因为迟交被扣除了50%的成绩，非常难过；其次和Amirthan有一些观念上的不合，关于跛脚、作业、披萨；再就是作业实在有点多。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-14</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-14/</link>
      <pubDate>Tue, 14 Oct 2025 06:09:33 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-14/</guid>
      <description>&lt;h3 id=&#34;0009-powershell-编码问题&#34;&gt;00:09 PowerShell 编码问题&lt;/h3&gt;
&lt;p&gt;不设置编码会导致保存的时候乱码，切记。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;回顾今天：起床，意面，学习，上课，吃饭，学习，困，看电影，回家做饭。刷抖音&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0009-powershell-编码问题">00:09 PowerShell 编码问题</h3>
<p>不设置编码会导致保存的时候乱码，切记。</p>
<hr>
<p>回顾今天：起床，意面，学习，上课，吃饭，学习，困，看电影，回家做饭。刷抖音</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-13</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-13/</link>
      <pubDate>Mon, 13 Oct 2025 23:41:18 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-13/</guid>
      <description>&lt;p&gt;今天是加拿大感恩节，放假不用去学校。&lt;/p&gt;
&lt;p&gt;躺到中午准备学习一下，师兄叫我准备出去走走。天气比较好，欣然前往。路上风景都还挺好的，就是太冷了。&lt;/p&gt;
&lt;p&gt;最后走到 Downtown，我们还去喝了茉莉奶白，师兄请的客，然后去吃了黄焖鸡，点了太多吃的了，直接吃撑了。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天是加拿大感恩节，放假不用去学校。</p>
<p>躺到中午准备学习一下，师兄叫我准备出去走走。天气比较好，欣然前往。路上风景都还挺好的，就是太冷了。</p>
<p>最后走到 Downtown，我们还去喝了茉莉奶白，师兄请的客，然后去吃了黄焖鸡，点了太多吃的了，直接吃撑了。</p>
<p>然后走到芝强师兄家，他给我们拿了饺子。走回来的路上感觉肚子不大舒服，还去师兄家上了个厕所。</p>
<p>回来就一直躺着了。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-12</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-12/</link>
      <pubDate>Sun, 12 Oct 2025 23:48:03 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-12/</guid>
      <description>&lt;p&gt;今天周天，早上躺到中午，起床学习了一会儿。吃完午饭，Amirthan 开始联系我去 West Edmonton Mall.&lt;/p&gt;
&lt;p&gt;West Edmonton Mall 确实很大，但是好像也并没有什么逛的。好多都是中国制造，也让我认识到了，中国作为制造大国，不仅服务着自己的国家，也服务着全世界的国家，尤其是发达国家，一线工人可能永远也不知道他们几毛钱一件的衣服在外卖能卖多少钱。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天周天，早上躺到中午，起床学习了一会儿。吃完午饭，Amirthan 开始联系我去 West Edmonton Mall.</p>
<p>West Edmonton Mall 确实很大，但是好像也并没有什么逛的。好多都是中国制造，也让我认识到了，中国作为制造大国，不仅服务着自己的国家，也服务着全世界的国家，尤其是发达国家，一线工人可能永远也不知道他们几毛钱一件的衣服在外卖能卖多少钱。</p>
<p>一直逛到天黑，实在太冷了，已经开始飘着小雪了。</p>
<p>最后去大统华买了些蔬菜，娃娃菜可贵了，以后不能再买这玩意了。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-11</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-11/</link>
      <pubDate>Sat, 11 Oct 2025 21:28:25 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-11/</guid>
      <description>&lt;h3 id=&#34;1528-relax&#34;&gt;15:28 Relax&lt;/h3&gt;
&lt;p&gt;Finally, I have a good relax. I haven&amp;rsquo;t been sleeping well lately.&lt;/p&gt;
&lt;h3 id=&#34;1547-furrier-trasform&#34;&gt;15:47 Furrier Trasform&lt;/h3&gt;
&lt;p&gt;��Ƶ�ź�������������Ƶ�ź�����ϸ�ڡ�&lt;/p&gt;
&lt;h3 id=&#34;1619-ӱ&#34;&gt;16:19 ���ӱ�����&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://www.bilibili.com/video/BV1pW411J7s8/&#34;&gt;https://www.bilibili.com/video/BV1pW411J7s8/&lt;/a&gt; 3B1B�������Ƶ����̫���ˣ����ӱ��򿪵ĸо���á�����ȥProject��Ӧ�ÿ�����&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1528-relax">15:28 Relax</h3>
<p>Finally, I have a good relax. I haven&rsquo;t been sleeping well lately.</p>
<h3 id="1547-furrier-trasform">15:47 Furrier Trasform</h3>
<p>��Ƶ�ź�������������Ƶ�ź�����ϸ�ڡ�</p>
<h3 id="1619-ӱ">16:19 ���ӱ�����</h3>
<p><a href="https://www.bilibili.com/video/BV1pW411J7s8/">https://www.bilibili.com/video/BV1pW411J7s8/</a> 3B1B�������Ƶ����̫���ˣ����ӱ��򿪵ĸо���á�����ȥProject��Ӧ�ÿ�����</p>
<p>因为编码问题，上面的中文信息保存失败了。回想一下：主要是第一次感叹理解了傅里叶变换，脑子被打开了。3B1B 做的视频太好了，点赞。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-10</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-10/</link>
      <pubDate>Fri, 10 Oct 2025 23:49:43 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-10/</guid>
      <description>&lt;p&gt;周五，早上去 Catlab 学习了一会儿，中午直接去上课了。中午分 Amirthan 吃了饺子，他觉得好吃，但是我觉得很不好吃，放一晚上面了。&lt;/p&gt;
&lt;p&gt;下午做了一下午的 project，还是比较耗时间。下午去陪 Amirthan 参加了学校社团里的一个活动，聊天交朋友的。特别紧张和内向，感觉还是需要克服一下。到 Southgate 又买了件衣服，还遇到了 Chataranga 和他老婆，哈哈。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>周五，早上去 Catlab 学习了一会儿，中午直接去上课了。中午分 Amirthan 吃了饺子，他觉得好吃，但是我觉得很不好吃，放一晚上面了。</p>
<p>下午做了一下午的 project，还是比较耗时间。下午去陪 Amirthan 参加了学校社团里的一个活动，聊天交朋友的。特别紧张和内向，感觉还是需要克服一下。到 Southgate 又买了件衣服，还遇到了 Chataranga 和他老婆，哈哈。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-09</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-09/</link>
      <pubDate>Thu, 09 Oct 2025 17:50:59 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-09/</guid>
      <description>&lt;h3 id=&#34;1150-preview-mining-lesson&#34;&gt;11:50 Preview Mining Lesson&lt;/h3&gt;
&lt;p&gt;I couldn&amp;rsquo;t fully understand if I was not preview lessons in advance.&lt;/p&gt;
&lt;h3 id=&#34;1428-catched-by-dr-liu&#34;&gt;14:28 Catched by Dr. Liu&lt;/h3&gt;
&lt;p&gt;I will be catched ever time if I didn&amp;rsquo;t study.&lt;/p&gt;
&lt;h3 id=&#34;1644-use-balabolka-and-naturalvoicesapiadapter-achive-read-aloud&#34;&gt;16:44 Use Balabolka and NaturalVoiceSAPIAdapter achive read aloud&lt;/h3&gt;
&lt;p&gt;I can use computer to read any lecture materials. Nice&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1150-preview-mining-lesson">11:50 Preview Mining Lesson</h3>
<p>I couldn&rsquo;t fully understand if I was not preview lessons in advance.</p>
<h3 id="1428-catched-by-dr-liu">14:28 Catched by Dr. Liu</h3>
<p>I will be catched ever time if I didn&rsquo;t study.</p>
<h3 id="1644-use-balabolka-and-naturalvoicesapiadapter-achive-read-aloud">16:44 Use Balabolka and NaturalVoiceSAPIAdapter achive read aloud</h3>
<p>I can use computer to read any lecture materials. Nice</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-08</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-08/</link>
      <pubDate>Wed, 08 Oct 2025 18:47:46 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-08/</guid>
      <description>&lt;h3 id=&#34;1247-have-lunch&#34;&gt;12:47 Have lunch&lt;/h3&gt;
&lt;p&gt;I felt that my speaking and listening ability had decreased.&lt;/p&gt;
&lt;h3 id=&#34;1249-janice&#34;&gt;12:49 Janice&lt;/h3&gt;
&lt;p&gt;Janice is a cross-platform open-source software, especially for viewing and simply handling JSON files. It&amp;rsquo;s perfect to help me solve the big JSON file problem.&lt;/p&gt;
&lt;h3 id=&#34;1815-get-out-of-work&#34;&gt;18:15 Get out of work&lt;/h3&gt;
&lt;p&gt;Today is a focus day.&lt;/p&gt;
&lt;h3 id=&#34;2059-eat-dumplings&#34;&gt;20:59 Eat dumplings&lt;/h3&gt;
&lt;p&gt;Recently, I became busier than before. I am already lazy for cooking.&lt;/p&gt;
&lt;p&gt;Prepare to do some assignments after eating dumplings.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1247-have-lunch">12:47 Have lunch</h3>
<p>I felt that my speaking and listening ability had decreased.</p>
<h3 id="1249-janice">12:49 Janice</h3>
<p>Janice is a cross-platform open-source software, especially for viewing and simply handling JSON files. It&rsquo;s perfect to help me solve the big JSON file problem.</p>
<h3 id="1815-get-out-of-work">18:15 Get out of work</h3>
<p>Today is a focus day.</p>
<h3 id="2059-eat-dumplings">20:59 Eat dumplings</h3>
<p>Recently, I became busier than before. I am already lazy for cooking.</p>
<p>Prepare to do some assignments after eating dumplings.</p>
<h3 id="2134-improve-powershell-profile">21:34 Improve PowerShell profile</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span><span class="lnt">30
</span><span class="lnt">31
</span><span class="lnt">32
</span><span class="lnt">33
</span><span class="lnt">34
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># Record now</span>
</span></span><span class="line"><span class="cl"><span class="k">function</span> now <span class="o">{</span>
</span></span><span class="line"><span class="cl">    param<span class="o">(</span>
</span></span><span class="line"><span class="cl">        <span class="o">[</span>switch<span class="o">]</span><span class="nv">$t</span>,
</span></span><span class="line"><span class="cl">        <span class="o">[</span>string<span class="o">]</span><span class="nv">$TyporaPath</span>
</span></span><span class="line"><span class="cl">    <span class="o">)</span>
</span></span><span class="line"><span class="cl">    <span class="p">&amp;</span> <span class="s2">&#34;D:\blog\assets\code\now.ps1&#34;</span> @PSBoundParameters
</span></span><span class="line"><span class="cl"><span class="o">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">function</span> push <span class="o">{</span>
</span></span><span class="line"><span class="cl">    param<span class="o">(</span>
</span></span><span class="line"><span class="cl">        <span class="o">[</span>string<span class="o">]</span><span class="nv">$Message</span> <span class="o">=</span> <span class="s2">&#34;&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="o">)</span>
</span></span><span class="line"><span class="cl">    
</span></span><span class="line"><span class="cl">    <span class="c1"># ���û���ṩ��Ϣ��ʹ�õ�ǰ����ʱ��</span>
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="o">([</span>string<span class="o">]</span>::IsNullOrWhiteSpace<span class="o">(</span><span class="nv">$Message</span><span class="o">))</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl">        <span class="nv">$date</span> <span class="o">=</span> Get-Date -Format <span class="s2">&#34;MMMM d, yyyy&#34;</span>
</span></span><span class="line"><span class="cl">        <span class="nv">$time</span> <span class="o">=</span> Get-Date -Format <span class="s2">&#34;HH:mm&#34;</span>
</span></span><span class="line"><span class="cl">        <span class="nv">$Message</span> <span class="o">=</span> <span class="s2">&#34;diary: </span><span class="nv">$date</span><span class="s2"> </span><span class="nv">$time</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="o">}</span>
</span></span><span class="line"><span class="cl">    
</span></span><span class="line"><span class="cl">    Write-Host <span class="s2">&#34;Adding all changes...&#34;</span> -ForegroundColor Cyan
</span></span><span class="line"><span class="cl">    git add .
</span></span><span class="line"><span class="cl">    
</span></span><span class="line"><span class="cl">    Write-Host <span class="s2">&#34;Committing with message: </span><span class="nv">$Message</span><span class="s2">&#34;</span> -ForegroundColor Yellow
</span></span><span class="line"><span class="cl">    git commit -m <span class="nv">$Message</span>
</span></span><span class="line"><span class="cl">    
</span></span><span class="line"><span class="cl">    Write-Host <span class="s2">&#34;Pushing to remote...&#34;</span> -ForegroundColor Green
</span></span><span class="line"><span class="cl">    git push
</span></span><span class="line"><span class="cl">    
</span></span><span class="line"><span class="cl">    Write-Host <span class="s2">&#34;Done!&#34;</span> -ForegroundColor Green
</span></span><span class="line"><span class="cl"><span class="o">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Set-Alias -Name n -Value now
</span></span></code></pre></td></tr></table>
</div>
</div><p>Now can directly call Typora to edit diary so that can get Grammarly support.</p>
<h3 id="2300-learn-how-to-input-en-dash-and-em-dash-">23:00 Learn how to input en dash(–) and em dash (—)</h3>
<p>An en dash is used to express a range and to build a relationship.</p>
<p>An em dash is used to express a stop or supplementary explanation and tone shift.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-07</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-07/</link>
      <pubDate>Tue, 07 Oct 2025 21:50:09 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-07/</guid>
      <description>&lt;p&gt;今天干了啥了？这是来自后一天的回想。&lt;/p&gt;
&lt;p&gt;对了，早上等 Fido 来打电话。他们一直在尝试从我的银行卡里面扣钱，好在最后他们说给我把扣款方式删除了，应该不会再尝试扣我的钱了。Bell 里的那个中国人也是有点过于自信，也谈不上特别好，还是不要带有情怀滤镜为好。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天干了啥了？这是来自后一天的回想。</p>
<p>对了，早上等 Fido 来打电话。他们一直在尝试从我的银行卡里面扣钱，好在最后他们说给我把扣款方式删除了，应该不会再尝试扣我的钱了。Bell 里的那个中国人也是有点过于自信，也谈不上特别好，还是不要带有情怀滤镜为好。</p>
<p>到学校已经十点过一些，比较晚了。直接去了 CatLab 学习 Deswik，然后就是上课，再然后就是困，直到开始整理自己学习记录，开始梳理完善工作流畅，才开始进入心流的状态。</p>
<p>梳理完毕后，开始着手写混泥土课的作业。不熟悉的领域是真的难受，写到晚上七点过，交了作业，九点过老师回复 AI 生成率过高，需要重新表述。</p>
<p>十点爬起来改到十二点，给老师发了邮件。也不知道可以不可以，就这样吧。</p>
<hr>
<p>What did I do today?  This is a recollection from the following day.</p>
<p>Right, in the morning, I waited for Fido to call. They had been charging money from my bank card, but fortunately, they said they would delete the payment method, so they should not try to charge me more money. The Chinese woman is also a little overconfident — not particularly good, really. It&rsquo;s not to look at her through a sentimental filter.</p>
<p>I got to school a little after 10 am, which was pretty late. I went straight to CatLab to study Deswik, then went to class, and then felt sleepy. Until I started organizing my study notes and refining my workflow. That&rsquo;s when I finally entered a flow state.</p>
<p>After finishing that, I began working on my concrete assignment. It&rsquo;s really tough dealing with an unfamiliar field.</p>
<p>I worked on it until after 7 pm, submitted it, and around 9 pm Mr. Robert replied, saying the AI-generated rate was too high and I needed to revise it.</p>
<p>I got up at 10 pm, revised until midnight, and sent the email to Robert.</p>
<p>No idea if it will be accepted — but oh well, that&rsquo;s that.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-W41</title>
      <link>https://jinpeng.cv/en/diary/2025/weekly/2025-w41/</link>
      <pubDate>Mon, 06 Oct 2025 16:45:56 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/weekly/2025-w41/</guid>
      <description>&lt;p&gt;这篇是后记录的。&lt;/p&gt;
&lt;p&gt;鉴于每周都要开组会，每周都要汇报干了啥，且每次都找不到话说。还是在自己的博客上增加周记，提前做做准备也锻炼下自己。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;This entry was written afterward.&lt;/p&gt;
&lt;p&gt;Since I have group meetings every week and need to report what we have done each time, and I often find myself with nothing to say. So, I decided to start keeping weekly journal on my blog.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>这篇是后记录的。</p>
<p>鉴于每周都要开组会，每周都要汇报干了啥，且每次都找不到话说。还是在自己的博客上增加周记，提前做做准备也锻炼下自己。</p>
<hr>
<p>This entry was written afterward.</p>
<p>Since I have group meetings every week and need to report what we have done each time, and I often find myself with nothing to say. So, I decided to start keeping weekly journal on my blog.</p>
<p>It helps me prepare in advance and also serves as good practice.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-06</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-06/</link>
      <pubDate>Mon, 06 Oct 2025 21:21:28 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-06/</guid>
      <description>&lt;h3 id=&#34;1521-bought-two-long-sleeve-shirts&#34;&gt;15:21 Bought two long-sleeve shirts&lt;/h3&gt;
&lt;p&gt;Why is the quality of these clothes so bad? I don&amp;rsquo;t know&lt;/p&gt;
&lt;h3 id=&#34;1541-feel-sleepy&#34;&gt;15:41 Feel sleepy&lt;/h3&gt;
&lt;p&gt;I don&amp;rsquo;t know why I&amp;rsquo;m so sleepy.&lt;/p&gt;
&lt;h3 id=&#34;2006-smelly-lamb-meat&#34;&gt;20:06 Smelly lamb meat&lt;/h3&gt;
&lt;p&gt;I bought a lamb leg on Saturday and I boiled it yesterday.&lt;/p&gt;
&lt;p&gt;The lamb of Canada is so smelly. I became a fat lamb after eating.&lt;/p&gt;
&lt;h3 id=&#34;2008-weekly-journal&#34;&gt;20:08 Weekly journal&lt;/h3&gt;
&lt;p&gt;I added the weekly journal function on my blog so that I can prepare the notes for the group meeting on Monday. I hope I can keep it as a good habit.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1521-bought-two-long-sleeve-shirts">15:21 Bought two long-sleeve shirts</h3>
<p>Why is the quality of these clothes so bad? I don&rsquo;t know</p>
<h3 id="1541-feel-sleepy">15:41 Feel sleepy</h3>
<p>I don&rsquo;t know why I&rsquo;m so sleepy.</p>
<h3 id="2006-smelly-lamb-meat">20:06 Smelly lamb meat</h3>
<p>I bought a lamb leg on Saturday and I boiled it yesterday.</p>
<p>The lamb of Canada is so smelly. I became a fat lamb after eating.</p>
<h3 id="2008-weekly-journal">20:08 Weekly journal</h3>
<p>I added the weekly journal function on my blog so that I can prepare the notes for the group meeting on Monday. I hope I can keep it as a good habit.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-05</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-05/</link>
      <pubDate>Sun, 05 Oct 2025 19:47:41 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-05/</guid>
      <description>&lt;p&gt;Today was a recovery day. I stayed in bed all day.&lt;/p&gt;
&lt;p&gt;In the afternoon, I boiled a lamb leg and washed my dirty clothes.&lt;/p&gt;
&lt;p&gt;Releasing too much energy is bad for health.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today was a recovery day. I stayed in bed all day.</p>
<p>In the afternoon, I boiled a lamb leg and washed my dirty clothes.</p>
<p>Releasing too much energy is bad for health.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-04</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-04/</link>
      <pubDate>Sat, 04 Oct 2025 16:36:29 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-04/</guid>
      <description>&lt;h3 id=&#34;1036-received-150-from-xue&#34;&gt;10:36 Received ¥150 from Xue&lt;/h3&gt;
&lt;p&gt;Huan told Xue that today is my birthday, and I jokingly asked Xue to give me some money. In the end, Xue actually transferred ¥150 to me. I felt very happy—and Huan was even happier than I was.&lt;/p&gt;
&lt;p&gt;I boiled some dumplings for breakfast. Not bad!&lt;/p&gt;
&lt;h3 id=&#34;afternoon&#34;&gt;Afternoon&lt;/h3&gt;
&lt;p&gt;On the afternoon, I walked at river valley with Amir. The autumn is very beautiful, but it&amp;rsquo;s so cold today.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1036-received-150-from-xue">10:36 Received ¥150 from Xue</h3>
<p>Huan told Xue that today is my birthday, and I jokingly asked Xue to give me some money. In the end, Xue actually transferred ¥150 to me. I felt very happy—and Huan was even happier than I was.</p>
<p>I boiled some dumplings for breakfast. Not bad!</p>
<h3 id="afternoon">Afternoon</h3>
<p>On the afternoon, I walked at river valley with Amir. The autumn is very beautiful, but it&rsquo;s so cold today.</p>
<p>Nice day!</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-03</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-03/</link>
      <pubDate>Fri, 03 Oct 2025 06:00:13 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-03/</guid>
      <description>&lt;h3 id=&#34;0014-no-more-stroll&#34;&gt;00:14 no more stroll&lt;/h3&gt;
&lt;p&gt;It&amp;rsquo;s perfect now.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;35
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;36
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;37
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;38
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;39
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;40
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;41
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;42
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;43
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;44
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;45
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;46
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;47
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;48
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;49
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;50
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;51
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;52
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;53
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;54
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;55
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;56
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;57
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;58
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;59
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;60
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;61
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;62
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;63
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;64
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;65
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;66
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;67
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;68
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;69
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;70
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;71
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;72
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;73
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ===== CONFIG =====&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$hostname&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$env&lt;/span&gt;:COMPUTERNAME
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$hostname&lt;/span&gt; -eq &lt;span class=&#34;s2&#34;&gt;&amp;#34;DESKTOP-KC9K3N7&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;$vault&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;D:\blog&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;$vault&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;D:\A\Jeapo&amp;#39;s blog&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Set-Location -Path &lt;span class=&#34;nv&#34;&gt;$vault&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ===== DATE INFO =====&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$yyyy&lt;/span&gt;    &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; Get-Date -Format &lt;span class=&#34;s2&#34;&gt;&amp;#34;yyyy&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$month&lt;/span&gt;   &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; Get-Date -Format &lt;span class=&#34;s2&#34;&gt;&amp;#34;MMMM&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$mm&lt;/span&gt;      &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; Get-Date -Format &lt;span class=&#34;s2&#34;&gt;&amp;#34;MM&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$dd&lt;/span&gt;      &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; Get-Date -Format &lt;span class=&#34;s2&#34;&gt;&amp;#34;dd&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$curtime&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; Get-Date -Format &lt;span class=&#34;s2&#34;&gt;&amp;#34;HH:mm&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$isodate&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;Get-Date&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;.ToUniversalTime&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt;.ToString&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;yyyy-MM-ddTHH:mm:ssZ&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$folder&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; Join-Path &lt;span class=&#34;nv&#34;&gt;$vault&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;\content\diary\$yyyy\$month&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$file&lt;/span&gt;    &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; Join-Path &lt;span class=&#34;nv&#34;&gt;$folder&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$yyyy&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$mm&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$dd&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;.md&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ===== Ensure folders =====&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;-not &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;Test-Path &lt;span class=&#34;nv&#34;&gt;$folder&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;))&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt; New-Item -ItemType Directory -Path &lt;span class=&#34;nv&#34;&gt;$folder&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; Out-Null &lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ===== Create file with template if missing =====&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;-not &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;Test-Path &lt;span class=&#34;nv&#34;&gt;$file&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;))&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;@&lt;span class=&#34;s2&#34;&gt;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;title: &amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$yyyy&lt;/span&gt;-&lt;span class=&#34;nv&#34;&gt;$mm&lt;/span&gt;-&lt;span class=&#34;nv&#34;&gt;$dd&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;date: &amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$isodate&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;categories:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;  - diary
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;series:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;tags:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;mood:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;weather:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;location:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;rating: 1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;stime:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;release: 0
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;draft: true
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;@ &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; Set-Content &lt;span class=&#34;nv&#34;&gt;$file&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ===== Input Mode =====&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Write-Host &amp;#34;Wow! What did you do just now?&amp;#34; -ForegroundColor Cyan&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Write-Host &amp;#34;Type your entry. Press Enter 3 times to finish.&amp;#34; -ForegroundColor DarkGray&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Write-Host &lt;span class=&#34;s2&#34;&gt;&amp;#34;`r`n### &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$curtime&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &amp;#34;&lt;/span&gt; -ForegroundColor DarkYellow -NoNewline
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$lines&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; @&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$emptyCount&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;   &lt;span class=&#34;c1&#34;&gt;# 记录连续空行次数&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;while&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$true&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;$line&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; Read-Host
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;([&lt;/span&gt;string&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;::IsNullOrWhiteSpace&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$line&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;))&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nv&#34;&gt;$emptyCount&lt;/span&gt;++
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$emptyCount&lt;/span&gt; -ge 3&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;break&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nv&#34;&gt;$lines&lt;/span&gt; +&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;o&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nv&#34;&gt;$emptyCount&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nv&#34;&gt;$lines&lt;/span&gt; +&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$line&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$entry&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$lines&lt;/span&gt; -join &lt;span class=&#34;s2&#34;&gt;&amp;#34;`r`n&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$entry&lt;/span&gt;.Trim&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt;.Length -gt 0&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Add-Content -Path &lt;span class=&#34;nv&#34;&gt;$file&lt;/span&gt; -Value &lt;span class=&#34;s2&#34;&gt;&amp;#34;`r`n### &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$curtime&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt; &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$entry&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Write-Host &lt;span class=&#34;s2&#34;&gt;&amp;#34;Saved to &lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$file&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    Write-Host &lt;span class=&#34;s2&#34;&gt;&amp;#34;No entry written.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;0021-good-night&#34;&gt;00:21 Good Night&lt;/h3&gt;
&lt;p&gt;Go to bed.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0014-no-more-stroll">00:14 no more stroll</h3>
<p>It&rsquo;s perfect now.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span><span class="lnt">21
</span><span class="lnt">22
</span><span class="lnt">23
</span><span class="lnt">24
</span><span class="lnt">25
</span><span class="lnt">26
</span><span class="lnt">27
</span><span class="lnt">28
</span><span class="lnt">29
</span><span class="lnt">30
</span><span class="lnt">31
</span><span class="lnt">32
</span><span class="lnt">33
</span><span class="lnt">34
</span><span class="lnt">35
</span><span class="lnt">36
</span><span class="lnt">37
</span><span class="lnt">38
</span><span class="lnt">39
</span><span class="lnt">40
</span><span class="lnt">41
</span><span class="lnt">42
</span><span class="lnt">43
</span><span class="lnt">44
</span><span class="lnt">45
</span><span class="lnt">46
</span><span class="lnt">47
</span><span class="lnt">48
</span><span class="lnt">49
</span><span class="lnt">50
</span><span class="lnt">51
</span><span class="lnt">52
</span><span class="lnt">53
</span><span class="lnt">54
</span><span class="lnt">55
</span><span class="lnt">56
</span><span class="lnt">57
</span><span class="lnt">58
</span><span class="lnt">59
</span><span class="lnt">60
</span><span class="lnt">61
</span><span class="lnt">62
</span><span class="lnt">63
</span><span class="lnt">64
</span><span class="lnt">65
</span><span class="lnt">66
</span><span class="lnt">67
</span><span class="lnt">68
</span><span class="lnt">69
</span><span class="lnt">70
</span><span class="lnt">71
</span><span class="lnt">72
</span><span class="lnt">73
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># ===== CONFIG =====</span>
</span></span><span class="line"><span class="cl"><span class="nv">$hostname</span> <span class="o">=</span> <span class="nv">$env</span>:COMPUTERNAME
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="o">(</span><span class="nv">$hostname</span> -eq <span class="s2">&#34;DESKTOP-KC9K3N7&#34;</span><span class="o">)</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl">    <span class="nv">$vault</span> <span class="o">=</span> <span class="s2">&#34;D:\blog&#34;</span>
</span></span><span class="line"><span class="cl"><span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl">    <span class="nv">$vault</span> <span class="o">=</span> <span class="s2">&#34;D:\A\Jeapo&#39;s blog&#34;</span>
</span></span><span class="line"><span class="cl"><span class="o">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Set-Location -Path <span class="nv">$vault</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># ===== DATE INFO =====</span>
</span></span><span class="line"><span class="cl"><span class="nv">$yyyy</span>    <span class="o">=</span> Get-Date -Format <span class="s2">&#34;yyyy&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nv">$month</span>   <span class="o">=</span> Get-Date -Format <span class="s2">&#34;MMMM&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nv">$mm</span>      <span class="o">=</span> Get-Date -Format <span class="s2">&#34;MM&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nv">$dd</span>      <span class="o">=</span> Get-Date -Format <span class="s2">&#34;dd&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nv">$curtime</span> <span class="o">=</span> Get-Date -Format <span class="s2">&#34;HH:mm&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nv">$isodate</span> <span class="o">=</span> <span class="o">(</span>Get-Date<span class="o">)</span>.ToUniversalTime<span class="o">()</span>.ToString<span class="o">(</span><span class="s2">&#34;yyyy-MM-ddTHH:mm:ssZ&#34;</span><span class="o">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nv">$folder</span>  <span class="o">=</span> Join-Path <span class="nv">$vault</span> <span class="s2">&#34;\content\diary\$yyyy\$month&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nv">$file</span>    <span class="o">=</span> Join-Path <span class="nv">$folder</span> <span class="s2">&#34;</span><span class="nv">$yyyy</span><span class="s2">-</span><span class="nv">$mm</span><span class="s2">-</span><span class="nv">$dd</span><span class="s2">.md&#34;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># ===== Ensure folders =====</span>
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="o">(</span>-not <span class="o">(</span>Test-Path <span class="nv">$folder</span><span class="o">))</span> <span class="o">{</span> New-Item -ItemType Directory -Path <span class="nv">$folder</span> <span class="p">|</span> Out-Null <span class="o">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># ===== Create file with template if missing =====</span>
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="o">(</span>-not <span class="o">(</span>Test-Path <span class="nv">$file</span><span class="o">))</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl">@<span class="s2">&#34;
</span></span></span><span class="line"><span class="cl"><span class="s2">---
</span></span></span><span class="line"><span class="cl"><span class="s2">title: &#34;</span><span class="nv">$yyyy</span>-<span class="nv">$mm</span>-<span class="nv">$dd</span><span class="s2">&#34;
</span></span></span><span class="line"><span class="cl"><span class="s2">date: &#34;</span><span class="nv">$isodate</span><span class="s2">&#34;
</span></span></span><span class="line"><span class="cl"><span class="s2">categories:
</span></span></span><span class="line"><span class="cl"><span class="s2">  - diary
</span></span></span><span class="line"><span class="cl"><span class="s2">series:
</span></span></span><span class="line"><span class="cl"><span class="s2">tags:
</span></span></span><span class="line"><span class="cl"><span class="s2">mood:
</span></span></span><span class="line"><span class="cl"><span class="s2">weather:
</span></span></span><span class="line"><span class="cl"><span class="s2">location:
</span></span></span><span class="line"><span class="cl"><span class="s2">rating: 1
</span></span></span><span class="line"><span class="cl"><span class="s2">stime:
</span></span></span><span class="line"><span class="cl"><span class="s2">release: 0
</span></span></span><span class="line"><span class="cl"><span class="s2">draft: true
</span></span></span><span class="line"><span class="cl"><span class="s2">---
</span></span></span><span class="line"><span class="cl"><span class="s2">&#34;</span>@ <span class="p">|</span> Set-Content <span class="nv">$file</span>
</span></span><span class="line"><span class="cl"><span class="o">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># ===== Input Mode =====</span>
</span></span><span class="line"><span class="cl"><span class="c1"># Write-Host &#34;Wow! What did you do just now?&#34; -ForegroundColor Cyan</span>
</span></span><span class="line"><span class="cl"><span class="c1"># Write-Host &#34;Type your entry. Press Enter 3 times to finish.&#34; -ForegroundColor DarkGray</span>
</span></span><span class="line"><span class="cl">Write-Host <span class="s2">&#34;`r`n### </span><span class="nv">$curtime</span><span class="s2"> &#34;</span> -ForegroundColor DarkYellow -NoNewline
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nv">$lines</span> <span class="o">=</span> @<span class="o">()</span>
</span></span><span class="line"><span class="cl"><span class="nv">$emptyCount</span> <span class="o">=</span> <span class="m">0</span>   <span class="c1"># 记录连续空行次数</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">while</span> <span class="o">(</span><span class="nv">$true</span><span class="o">)</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl">    <span class="nv">$line</span> <span class="o">=</span> Read-Host
</span></span><span class="line"><span class="cl">    <span class="k">if</span> <span class="o">([</span>string<span class="o">]</span>::IsNullOrWhiteSpace<span class="o">(</span><span class="nv">$line</span><span class="o">))</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl">        <span class="nv">$emptyCount</span>++
</span></span><span class="line"><span class="cl">        <span class="k">if</span> <span class="o">(</span><span class="nv">$emptyCount</span> -ge 3<span class="o">)</span> <span class="o">{</span> <span class="nb">break</span> <span class="o">}</span>
</span></span><span class="line"><span class="cl">        <span class="nv">$lines</span> +<span class="o">=</span> <span class="s2">&#34;&#34;</span>
</span></span><span class="line"><span class="cl">    <span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl">        <span class="nv">$emptyCount</span> <span class="o">=</span> <span class="m">0</span>
</span></span><span class="line"><span class="cl">        <span class="nv">$lines</span> +<span class="o">=</span> <span class="nv">$line</span>
</span></span><span class="line"><span class="cl">    <span class="o">}</span>
</span></span><span class="line"><span class="cl"><span class="o">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="nv">$entry</span> <span class="o">=</span> <span class="nv">$lines</span> -join <span class="s2">&#34;`r`n&#34;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">if</span> <span class="o">(</span><span class="nv">$entry</span>.Trim<span class="o">()</span>.Length -gt 0<span class="o">)</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl">    Add-Content -Path <span class="nv">$file</span> -Value <span class="s2">&#34;`r`n### </span><span class="nv">$curtime</span><span class="s2"> </span><span class="nv">$entry</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">    Write-Host <span class="s2">&#34;Saved to </span><span class="nv">$file</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl"><span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
</span></span><span class="line"><span class="cl">    Write-Host <span class="s2">&#34;No entry written.&#34;</span>
</span></span><span class="line"><span class="cl"><span class="o">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="0021-good-night">00:21 Good Night</h3>
<p>Go to bed.</p>
<h3 id="1045-improve-the-add-note-script">10:45 improve the add note script</h3>
<p>I probably won&rsquo;t update it anymore, it&rsquo;s very useful.</p>
<h3 id="1530-get-some-free-pizza">15:30 get some free pizza</h3>
<p>During the class break, I and Amir went to triffo hall to get some pizza. Because we heard that there will be a lecture today, and there will be free pizza.</p>
<p>Indeed, we got some pizza there, but we backed the class late. In addition, We made some disturb to the lecture.</p>
<p>So, I was regret for this and I think I won&rsquo;t do that anymore.</p>
<h3 id="1611-profile-config">16:11 Profile config</h3>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span><span class="lnt">9
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl"><span class="c1"># ? $Profile ??????</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">function</span> now <span class="o">{</span>
</span></span><span class="line"><span class="cl">	<span class="p">&amp;</span> <span class="s2">&#34;D:\A\Jeapo&#39;s blog\assets\code\now.ps1&#34;</span>
</span></span><span class="line"><span class="cl">	clear
</span></span><span class="line"><span class="cl"><span class="o">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># ===== ??????? =====</span>
</span></span><span class="line"><span class="cl">Set-Alias -Name n -Value now
</span></span></code></pre></td></tr></table>
</div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>2025-10-02</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-02/</link>
      <pubDate>Fri, 03 Oct 2025 04:45:52 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-02/</guid>
      <description>&lt;h3 id=&#34;2248-finished-the-addnote-script&#34;&gt;22:48 finished the addnote script&lt;/h3&gt;
&lt;p&gt;Now, I can conveniently add note to diary without startupping Obsidian.&lt;/p&gt;
&lt;h3 id=&#34;2339-give-up-to-set-writing-at-startup&#34;&gt;23:39 give up to set writing at startup&lt;/h3&gt;
&lt;p&gt;It is very convenient to use alias start recording.&lt;/p&gt;
&lt;h3 id=&#34;2342-optimize-line-break&#34;&gt;23:42 Optimize line break&lt;/h3&gt;
&lt;p&gt;now can automatic add a line break at each record.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="2248-finished-the-addnote-script">22:48 finished the addnote script</h3>
<p>Now, I can conveniently add note to diary without startupping Obsidian.</p>
<h3 id="2339-give-up-to-set-writing-at-startup">23:39 give up to set writing at startup</h3>
<p>It is very convenient to use alias start recording.</p>
<h3 id="2342-optimize-line-break">23:42 Optimize line break</h3>
<p>now can automatic add a line break at each record.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-10-01</title>
      <link>https://jinpeng.cv/en/diary/2025/october/2025-10-01/</link>
      <pubDate>Wed, 01 Oct 2025 12:11:42 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/october/2025-10-01/</guid>
      <description>&lt;p&gt;Today is normal day, no class, no meeting.&lt;/p&gt;
&lt;p&gt;I just did an assignment of &lt;em&gt;Principles of Mining Engineering&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I played the &lt;em&gt;Red Dead Redemption 2&lt;/em&gt; for a while after school.&lt;/p&gt;
&lt;p&gt;It was a tiring day.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today is normal day, no class, no meeting.</p>
<p>I just did an assignment of <em>Principles of Mining Engineering</em></p>
<p>I played the <em>Red Dead Redemption 2</em> for a while after school.</p>
<p>It was a tiring day.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-30</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-30/</link>
      <pubDate>Tue, 30 Sep 2025 23:21:12 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-30/</guid>
      <description>&lt;p&gt;I stayed in the room all day today and didn&amp;rsquo;t go out. It&amp;rsquo;s so comfortable to lie down. I bought a lot of games. I don&amp;rsquo;t have the patience to play many of the games that others say are fun.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I stayed in the room all day today and didn&rsquo;t go out. It&rsquo;s so comfortable to lie down. I bought a lot of games. I don&rsquo;t have the patience to play many of the games that others say are fun.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-29</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-29/</link>
      <pubDate>Mon, 29 Sep 2025 23:21:21 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-29/</guid>
      <description>&lt;p&gt;I stayed up all night yesterday to finish my homework. I went to bed at six in the morning and still haven’t fallen asleep.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s so sad. I have a group meeting at noon, and I have to be the host. I will come back after the group meeting.&lt;/p&gt;
&lt;p&gt;In the afternoon, I went to get a free haircut with Amirthan. I didn’t like the fact that my hair was cut by three people.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I stayed up all night yesterday to finish my homework. I went to bed at six in the morning and still haven’t fallen asleep.</p>
<p>It&rsquo;s so sad. I have a group meeting at noon, and I have to be the host. I will come back after the group meeting.</p>
<p>In the afternoon, I went to get a free haircut with Amirthan. I didn’t like the fact that my hair was cut by three people.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-28</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-28/</link>
      <pubDate>Sun, 28 Sep 2025 23:28:05 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-28/</guid>
      <description>&lt;p&gt;Today is also a day to catch up on homework. The busier I am, the more I have to cook.&lt;/p&gt;
&lt;p&gt;Today I stewed pork ribs myself and made beef spring rolls in the evening. They were very delicious.&lt;/p&gt;
&lt;p&gt;In the afternoon, I went to help Amirthan solve his homework problems for the afternoon.&lt;/p&gt;
&lt;p&gt;Chat PGT is still not very reliable when it comes to complex issues. The more you help, the more confused you become. You still have to rely on yourself.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today is also a day to catch up on homework. The busier I am, the more I have to cook.</p>
<p>Today I stewed pork ribs myself and made beef spring rolls in the evening. They were very delicious.</p>
<p>In the afternoon, I went to help Amirthan solve his homework problems for the afternoon.</p>
<p>Chat PGT is still not very reliable when it comes to complex issues. The more you help, the more confused you become. You still have to rely on yourself.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-27</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-27/</link>
      <pubDate>Sat, 27 Sep 2025 23:32:32 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-27/</guid>
      <description>&lt;p&gt;Today is the day to do homework and make dumplings.&lt;/p&gt;
&lt;p&gt;I still spent a whole day doing homework. It was still quite complicated, but I didn’t find it difficult.&lt;/p&gt;
&lt;p&gt;I made some dumplings myself in the evening and they were quite delicious. I’ll freeze them and eat them later.&lt;/p&gt;
&lt;p&gt;There is a big age gap and a generation gap between us, which always feels a bit awkward.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today is the day to do homework and make dumplings.</p>
<p>I still spent a whole day doing homework. It was still quite complicated, but I didn’t find it difficult.</p>
<p>I made some dumplings myself in the evening and they were quite delicious. I’ll freeze them and eat them later.</p>
<p>There is a big age gap and a generation gap between us, which always feels a bit awkward.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-26</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-26/</link>
      <pubDate>Fri, 26 Sep 2025 23:21:30 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-26/</guid>
      <description>&lt;p&gt;We prepped for class this morning, and then left after class.&lt;/p&gt;
&lt;p&gt;We redeemed the pizza voucher I&amp;rsquo;d redeemed for my phone card. It was delicious, though a little light on the chicken.&lt;/p&gt;
&lt;p&gt;After we finished, we headed back home.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>We prepped for class this morning, and then left after class.</p>
<p>We redeemed the pizza voucher I&rsquo;d redeemed for my phone card. It was delicious, though a little light on the chicken.</p>
<p>After we finished, we headed back home.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-25</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-25/</link>
      <pubDate>Thu, 25 Sep 2025 23:21:35 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-25/</guid>
      <description>&lt;p&gt;I have two classes today, and preparing before class is very helpful.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I have two classes today, and preparing before class is very helpful.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-24</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-24/</link>
      <pubDate>Wed, 24 Sep 2025 23:21:49 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-24/</guid>
      <description>&lt;p&gt;I don’t have classes today and I have already forgotten what I did today.&lt;/p&gt;
&lt;p&gt;Supplementary recording on September 30&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I don’t have classes today and I have already forgotten what I did today.</p>
<p>Supplementary recording on September 30</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-23</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-23/</link>
      <pubDate>Tue, 23 Sep 2025 23:21:53 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-23/</guid>
      <description>&lt;h3 id=&#34;0948-i-forgot-my-onecard-again&#34;&gt;09:48 I forgot my Onecard again&lt;/h3&gt;
&lt;p&gt;I don&amp;rsquo;t even dare to pick up the water.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I don’t have classes today and I have already forgotten what I did today.&lt;/p&gt;
&lt;p&gt;Supplementary recording on September 30&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0948-i-forgot-my-onecard-again">09:48 I forgot my Onecard again</h3>
<p>I don&rsquo;t even dare to pick up the water.</p>
<hr>
<p>I don’t have classes today and I have already forgotten what I did today.</p>
<p>Supplementary recording on September 30</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-22</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-22/</link>
      <pubDate>Mon, 22 Sep 2025 17:06:54 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-22/</guid>
      <description>&lt;p&gt;Time always goes so fast.&lt;/p&gt;
&lt;p&gt;In the morning, I felt colder than before. I quickly washed my face and brushed my teeth, and then took some rice into my lunch box.&lt;/p&gt;
&lt;p&gt;I was the first arrival at the office. I just did some check-in procedure; the time went to noon.&lt;/p&gt;
&lt;p&gt;There was a group meeting at noon. I was a little nervous about the group meeting because I hadn&amp;rsquo;t done too much last week.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Time always goes so fast.</p>
<p>In the morning, I felt colder than before. I quickly washed my face and brushed my teeth, and then took some rice into my lunch box.</p>
<p>I was the first arrival at the office. I just did some check-in procedure; the time went to noon.</p>
<p>There was a group meeting at noon. I was a little nervous about the group meeting because I hadn&rsquo;t done too much last week.</p>
<p>In the afternoon, I just replied to some emails and helped Amirthan with the assignment for the sensing technique class.</p>
<p>Maybe I should spend more time at home.</p>
<hr>
<h3 id="附记">附记</h3>
<p>昨晚接到诈骗电话说给我送快递，说没联系上（我确实最近有买东西），然后帮我查询，然后说是我寄出去的，是违禁品，被海关查了，然后要给证据啥的说明，然后就开始不对劲了，说接到广州海关警察那边，我已经发现90%诈骗了。我继续跳转，发现警察口音明显装模作样的，我直接开始大骂，那边一开始还没反应过来，反应过来我挂了。然后开始搞我了</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-21</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-21/</link>
      <pubDate>Sun, 21 Sep 2025 21:30:04 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-21/</guid>
      <description>&lt;p&gt;The weather is getting colder day by day.&lt;/p&gt;
&lt;p&gt;I didn&amp;rsquo;t even step out the door today. At noon, I boiled the green beans that I bought from T&amp;amp;T as lunch, and fried rice as dinner.&lt;/p&gt;
&lt;p&gt;I studied English grammar for a while. I am getting lazier and more.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The weather is getting colder day by day.</p>
<p>I didn&rsquo;t even step out the door today. At noon, I boiled the green beans that I bought from T&amp;T as lunch, and fried rice as dinner.</p>
<p>I studied English grammar for a while. I am getting lazier and more.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-20</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-20/</link>
      <pubDate>Sat, 20 Sep 2025 23:19:07 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-20/</guid>
      <description>&lt;p&gt;It was almost noon, and then I dug out a box of pizza and put it into the oven. It really wasn&amp;rsquo;t delicious at all, but my roommate said it&amp;rsquo;s not bad. Alright.&lt;/p&gt;
&lt;p&gt;I sent a message to Dr. Zhao and invited him to go hiking and enjoy the beautiful fall. I took a shower after quickly eating lunch.&lt;/p&gt;
&lt;p&gt;Dr. Zhao walked so fast that I had to walk very hard so that I could follow him. We walked more than 10 kilometers.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It was almost noon, and then I dug out a box of pizza and put it into the oven. It really wasn&rsquo;t delicious at all, but my roommate said it&rsquo;s not bad. Alright.</p>
<p>I sent a message to Dr. Zhao and invited him to go hiking and enjoy the beautiful fall. I took a shower after quickly eating lunch.</p>
<p>Dr. Zhao walked so fast that I had to walk very hard so that I could follow him. We walked more than 10 kilometers.</p>
<p>After a while, I was getting thirsty due to forgetting to bring water. Fortunately, I picked some wild apples on the side of the road. We walked for about 2 hours.</p>
<p>Finally, I treated him to a cold beverage. So cool and so comfortable!</p>
<p>After going home, I made two bags of Chinese instant noodles and added many extra vegetables. It&rsquo;s the taste of home.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-19</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-19/</link>
      <pubDate>Fri, 19 Sep 2025 09:49:39 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-19/</guid>
      <description>&lt;h3 id=&#34;0947--the-first-to-arrive-at-the-office&#34;&gt;09:47  The first to arrive at the office&lt;/h3&gt;
&lt;p&gt;The weather is getting colder day by day. It seems there are a lot of things that haven&amp;rsquo;t been done yet.&lt;/p&gt;
&lt;h3 id=&#34;1426-after-class-and-lunch&#34;&gt;14:26 After class and lunch&lt;/h3&gt;
&lt;p&gt;Talk to Chatragan about our experiences.&lt;/p&gt;
&lt;p&gt;Then I took a nap, and then Prof. Liu came to the office to talk with Chatragan. I was a little embarrassed.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0947--the-first-to-arrive-at-the-office">09:47  The first to arrive at the office</h3>
<p>The weather is getting colder day by day. It seems there are a lot of things that haven&rsquo;t been done yet.</p>
<h3 id="1426-after-class-and-lunch">14:26 After class and lunch</h3>
<p>Talk to Chatragan about our experiences.</p>
<p>Then I took a nap, and then Prof. Liu came to the office to talk with Chatragan. I was a little embarrassed.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-18</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-18/</link>
      <pubDate>Thu, 18 Sep 2025 23:13:06 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-18/</guid>
      <description>&lt;p&gt;Today is a brave man day.&lt;/p&gt;
&lt;p&gt;In the morning, I talked to the Bell staff who helped me get a phone card. I told her that I solved my problem yesterday. She was very happy and asked about the conditions of using Tellus. I even taught her how to set the DNS to boost the Chinese service.&lt;/p&gt;
&lt;p&gt;Then I went to the TD ATM to withdraw some money, and then I deposited this money into the RBC bank.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today is a brave man day.</p>
<p>In the morning, I talked to the Bell staff who helped me get a phone card. I told her that I solved my problem yesterday. She was very happy and asked about the conditions of using Tellus. I even taught her how to set the DNS to boost the Chinese service.</p>
<p>Then I went to the TD ATM to withdraw some money, and then I deposited this money into the RBC bank.</p>
<p>I bought a hot dog, which cost me CA$7.89. This is a simple robbery. Unfortunately, some sauce from the hot dog accidentally dropped on my pants. The spot position was just in the middle of my groin. I&rsquo;m so embarrassed. Fortunately, I bought a tissue today.</p>
<p>I had an appointment with Mr. Robert. I was a little afraid of talking to the teacher. The ending is good because Mr. Robert is very patient and kind.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-17</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-17/</link>
      <pubDate>Wed, 17 Sep 2025 23:14:37 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-17/</guid>
      <description>&lt;p&gt;Too many diaries are needed to write. I am tired.&lt;/p&gt;
&lt;p&gt;Today is a shy day. I studied for a while in the morning. Afternoon, I had some coffee with my classmate, Dr. Zhao, who ordered for me because I forgot to link my bank card with the App.&lt;/p&gt;
&lt;p&gt;I went to a mixer with Amirthan. I am always shy and introverted in these situations.&lt;/p&gt;
&lt;p&gt;I hated myself. Especially the English is very poor.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Too many diaries are needed to write. I am tired.</p>
<p>Today is a shy day. I studied for a while in the morning. Afternoon, I had some coffee with my classmate, Dr. Zhao, who ordered for me because I forgot to link my bank card with the App.</p>
<p>I went to a mixer with Amirthan. I am always shy and introverted in these situations.</p>
<p>I hated myself. Especially the English is very poor.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-16</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-16/</link>
      <pubDate>Tue, 16 Sep 2025 23:15:34 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-16/</guid>
      <description>&lt;p&gt;Last Friday, I received an email saying a payment failed on Fido.&lt;/p&gt;
&lt;p&gt;So, I talked to the Bell staff for 1 hour after arriving at school.&lt;/p&gt;
&lt;p&gt;There were two classes today. The class at noon, I am always getting sleepy. I had a little blame to myself.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Last Friday, I received an email saying a payment failed on Fido.</p>
<p>So, I talked to the Bell staff for 1 hour after arriving at school.</p>
<p>There were two classes today. The class at noon, I am always getting sleepy. I had a little blame to myself.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-15</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-15/</link>
      <pubDate>Mon, 15 Sep 2025 22:57:33 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-15/</guid>
      <description>&lt;p&gt;In the morning, I cleaned our house because the cleaner will spray insecticides today.&lt;/p&gt;
&lt;p&gt;I did some assignments on the day.&lt;/p&gt;
&lt;p&gt;In the afternoon, Dr. Zhao, Dr. Chatranga, Amirthan and I went to buy some coffee. I don&amp;rsquo;t like drinking coffee, but I would like to hang out with someone.&lt;/p&gt;
&lt;p&gt;After getting back home, ZJ made some noodles to share with me. It&amp;rsquo;s not bad.&lt;/p&gt;
&lt;p&gt;Perhaps due to drink too much coffee, I felt sleepy, but I can&amp;rsquo;t get to sleep.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In the morning, I cleaned our house because the cleaner will spray insecticides today.</p>
<p>I did some assignments on the day.</p>
<p>In the afternoon, Dr. Zhao, Dr. Chatranga, Amirthan and I went to buy some coffee. I don&rsquo;t like drinking coffee, but I would like to hang out with someone.</p>
<p>After getting back home, ZJ made some noodles to share with me. It&rsquo;s not bad.</p>
<p>Perhaps due to drink too much coffee, I felt sleepy, but I can&rsquo;t get to sleep.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-14</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-14/</link>
      <pubDate>Sun, 14 Sep 2025 12:21:43 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-14/</guid>
      <description>&lt;h3 id=&#34;1222-make-up-yesterdays-diary&#34;&gt;12:22 Make up yesterday&amp;rsquo;s diary&lt;/h3&gt;
&lt;p&gt;Recording a diary in real-time is better than writing many diaries at once.&lt;/p&gt;
&lt;h3 id=&#34;divergence&#34;&gt;Divergence&lt;/h3&gt;
&lt;p&gt;ZJ came back home with a lot of things he bought, but he said that the things I didn&amp;rsquo;t need would split the bill, because all the things were what he wanted.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s okay, maybe we can buy ourselves food in the future. Undoubtedly, this is a good thing for me. However, the relationship between us made me upset.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1222-make-up-yesterdays-diary">12:22 Make up yesterday&rsquo;s diary</h3>
<p>Recording a diary in real-time is better than writing many diaries at once.</p>
<h3 id="divergence">Divergence</h3>
<p>ZJ came back home with a lot of things he bought, but he said that the things I didn&rsquo;t need would split the bill, because all the things were what he wanted.</p>
<p>It&rsquo;s okay, maybe we can buy ourselves food in the future. Undoubtedly, this is a good thing for me. However, the relationship between us made me upset.</p>
<h3 id="1608-bored">16:08 Bored</h3>
<p>I need to make more friends in Edmonton; otherwise, life is so boring. Days repeat day by day is not what I want.</p>
<h3 id="2224-preparing-to-go-to-sleep">22:24 Preparing to go to sleep</h3>
<p>I washed my dirty clothes in the afternoon. It is unnecessary to use a washing machine if I don&rsquo;t have too many clothes.</p>
<p>I wanted to make pork stewed with vermicelli for tomorrow&rsquo;s lunch; however, ZJ ate it with me, and he made the pasta for me for tomorrow.</p>
<p>I spent too much time on Wild Drift (lolm foreign version), and it is naive that I wanted to learn English from this game.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-13</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-13/</link>
      <pubDate>Sat, 13 Sep 2025 12:09:28 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-13/</guid>
      <description>&lt;p&gt;Today was a boring day.&lt;/p&gt;
&lt;p&gt;I woke up early, and then I continue sleep again. I cooked noodles with some vegetables as lunch for us.&lt;/p&gt;
&lt;p&gt;In the afternoon, I decided to go to the T&amp;amp;T supermarket to buy some grocery and some food. I don&amp;rsquo;t want to do anything while I am alone.&lt;/p&gt;
&lt;p&gt;In the evening, I wanted to have a look for assignment of sensor course. I found that this assignment was very interesting, though it had a little difficult. To finish this assignment, there are a lot of programming skills and computer skills what I really am good at.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today was a boring day.</p>
<p>I woke up early, and then I continue sleep again. I cooked noodles with some vegetables as lunch for us.</p>
<p>In the afternoon, I decided to go to the T&amp;T supermarket to buy some grocery and some food. I don&rsquo;t want to do anything while I am alone.</p>
<p>In the evening, I wanted to have a look for assignment of sensor course. I found that this assignment was very interesting, though it had a little difficult. To finish this assignment, there are a lot of programming skills and computer skills what I really am good at.</p>
<p>I hope I can get the excellent grade in this course.</p>
<p>Come on!</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-12</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-12/</link>
      <pubDate>Fri, 12 Sep 2025 15:05:09 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-12/</guid>
      <description>&lt;h3 id=&#34;1506-a-little-difficult&#34;&gt;15:06 A little difficult&lt;/h3&gt;
&lt;p&gt;Writing in English is still a little difficult for me, and it is related to my speaking capacity. My brain is still a Chinese brain. Before speaking, it needs to be translated into Chinese first.&lt;/p&gt;
&lt;p&gt;Therefore, what I should to do is insisting practice my writing and speaking skill by writing diaries and speaking everything.&lt;/p&gt;
&lt;h3 id=&#34;writing-diary&#34;&gt;Writing diary&lt;/h3&gt;
&lt;p&gt;In the morning, Tellus&amp;rsquo;s staff followed the appointment and called me to install the WiFi router. I came out of the apartment to pick him up.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1506-a-little-difficult">15:06 A little difficult</h3>
<p>Writing in English is still a little difficult for me, and it is related to my speaking capacity. My brain is still a Chinese brain. Before speaking, it needs to be translated into Chinese first.</p>
<p>Therefore, what I should to do is insisting practice my writing and speaking skill by writing diaries and speaking everything.</p>
<h3 id="writing-diary">Writing diary</h3>
<p>In the morning, Tellus&rsquo;s staff followed the appointment and called me to install the WiFi router. I came out of the apartment to pick him up.</p>
<p>I don&rsquo;t know whether I should have paid a tip to him. ChatGPT said, You don&rsquo;t need to pay a tip to him, because they are the employees of Tellus.</p>
<p>After finishing it, I ate a banana and then took the train to go to school. I bought Spotify Premium with a student offer yesterday, so I installed this software on my office computer this morning.</p>
<p>A few moments later, I went to the Sensing course. This classroom is very cold, at least for the three of us, that&rsquo;s the case. And the course time covered the whole noon, we didn&rsquo;t have time to have lunch. It will be better than the afternoon in winter, the teacher said.</p>
<p>Writing more words is always good. Today is a nice day, and I found that I could gradually understand what others said.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-11</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-11/</link>
      <pubDate>Thu, 11 Sep 2025 15:05:11 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-11/</guid>
      <description>&lt;p&gt;This diary was written on Sep 12, 2025, because I felt so tired yesterday.&lt;/p&gt;
&lt;p&gt;There were two classes yesterday. The first one is Principles of Mining Engineering, and the second class is Concrete Materials in Practice. The first should be easy for me, but it became difficult in the English environment, so I need to put in extra effort to learn it after the class. About the second class, there are too many chemical terms and concrete terms. That&amp;rsquo;s why I feel it&amp;rsquo;s difficult; even my classmate who is from Shiri Laka also felt it was a little difficult.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This diary was written on Sep 12, 2025, because I felt so tired yesterday.</p>
<p>There were two classes yesterday. The first one is Principles of Mining Engineering, and the second class is Concrete Materials in Practice. The first should be easy for me, but it became difficult in the English environment, so I need to put in extra effort to learn it after the class. About the second class, there are too many chemical terms and concrete terms. That&rsquo;s why I feel it&rsquo;s difficult; even my classmate who is from Shiri Laka also felt it was a little difficult.</p>
<p>It&rsquo;s already 8 PM after class. ZJ made some pasta for me. My sister and mom called me while ZJ was cooking.</p>
<p>Not a bad day.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-10</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-10/</link>
      <pubDate>Wed, 10 Sep 2025 09:48:49 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-10/</guid>
      <description>&lt;h3 id=&#34;0947-learned-a-new-git-command-stash&#34;&gt;09:47 Learned a new git command: stash&lt;/h3&gt;
&lt;p&gt;This command is very useful when syncing files between different devices.&lt;/p&gt;
&lt;h3 id=&#34;1508-prepare-to-go-home&#34;&gt;15:08 Prepare to go home&lt;/h3&gt;
&lt;p&gt;In the morning, I went out to practice my English speaking on the lawn. Learning a language by speaking is a useful method. I think I should insist on this way.&lt;/p&gt;
&lt;p&gt;At noon, I submitted the Mine 610 assignment to Canvas and sent the concrete assignment to the teacher&amp;rsquo;s email. I felt a little bit nervous, because I want to get an excellent score, and this is my first assignment in English.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0947-learned-a-new-git-command-stash">09:47 Learned a new git command: stash</h3>
<p>This command is very useful when syncing files between different devices.</p>
<h3 id="1508-prepare-to-go-home">15:08 Prepare to go home</h3>
<p>In the morning, I went out to practice my English speaking on the lawn. Learning a language by speaking is a useful method. I think I should insist on this way.</p>
<p>At noon, I submitted the Mine 610 assignment to Canvas and sent the concrete assignment to the teacher&rsquo;s email. I felt a little bit nervous, because I want to get an excellent score, and this is my first assignment in English.</p>
<p>The time in the afternoon is always tiring and boring, so I want to go outside to enjoy the nice weather and the beautiful nature.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-09</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-09/</link>
      <pubDate>Tue, 09 Sep 2025 12:07:41 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-09/</guid>
      <description>&lt;h3 id=&#34;1205-waiting-for-class&#34;&gt;12:05 Waiting for class&lt;/h3&gt;
&lt;p&gt;I am afraid of I don&amp;rsquo;t have enough time to eat, so I ate my lunch early.&lt;/p&gt;
&lt;p&gt;In the morning, I pre-learned the content of today&amp;rsquo;s lecture, and I might feel better while in class.&lt;/p&gt;
&lt;h3 id=&#34;1502-feel-a-little-tired&#34;&gt;15:02 Feel a little tired&lt;/h3&gt;
&lt;p&gt;Communication via Email is a very efficient way. Today I received a lot of Email about my roll-in, funding. I only see the school&amp;rsquo;s staff in person once, due to re-image my computer, otherwise we just sit in front of the computer, and then all things will be done.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1205-waiting-for-class">12:05 Waiting for class</h3>
<p>I am afraid of I don&rsquo;t have enough time to eat, so I ate my lunch early.</p>
<p>In the morning, I pre-learned the content of today&rsquo;s lecture, and I might feel better while in class.</p>
<h3 id="1502-feel-a-little-tired">15:02 Feel a little tired</h3>
<p>Communication via Email is a very efficient way. Today I received a lot of Email about my roll-in, funding. I only see the school&rsquo;s staff in person once, due to re-image my computer, otherwise we just sit in front of the computer, and then all things will be done.</p>
<h2 id="starving">Starving</h2>
<p>Because I ate too less lunch, I felt hungry and sleepy. So I went home at 4:30 PM, and I cost $10 to buy a pan of India food.</p>
<p>I was still hungry, I quickly went to the University station, and then take the train to go to home. I cooked some pasta and double-cooked meat for dinner.</p>
<p>The oven had a some spots which was dirty after a long cooking. I do my best to clean it, and it just had a little effect. Whatever, I cooked the eggs with tomatoes for tomorrow&rsquo;s lunch.</p>
<p>I&rsquo;m so tired that I didn&rsquo;t finish the journal in the office.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-08</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-08/</link>
      <pubDate>Mon, 08 Sep 2025 21:15:13 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-08/</guid>
      <description>&lt;p&gt;I got up early in the morning, prepared some breakfast, and went out to take the train.&lt;/p&gt;
&lt;p&gt;Since I received a $120 bill from Fido the day before yesterday, I was still feeling a bit upset about it. So today I think I should go ask Bell, because the people at Bell had promised me that no money would be charged.&lt;/p&gt;
&lt;p&gt;The Bell staff spent an hour helping me, but still couldn&amp;rsquo;t get in touch with anyone from Fido-totally ridiculous. In the end, I asked the person who helped me open the account, and even the manager of Bell, who was already at work. The consistent answer I got was that no money would be deducted, which put my mind at ease.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I got up early in the morning, prepared some breakfast, and went out to take the train.</p>
<p>Since I received a $120 bill from Fido the day before yesterday, I was still feeling a bit upset about it. So today I think I should go ask Bell, because the people at Bell had promised me that no money would be charged.</p>
<p>The Bell staff spent an hour helping me, but still couldn&rsquo;t get in touch with anyone from Fido-totally ridiculous. In the end, I asked the person who helped me open the account, and even the manager of Bell, who was already at work. The consistent answer I got was that no money would be deducted, which put my mind at ease.</p>
<p>At school, I started working on my coursework. Doing assignments in English is still quite difficult for me, and I don&rsquo;t even know how to get a lot of resources I need.</p>
<p>By the afternoon, I had basically finished the homework, so I got ready to slip back home and cook. At home, I fried some rice and boiled some vegetables. Cooking for myself feels a lot more casual and free.</p>
<p>Oh, and since I bricked my old phone yesterday, today I secretly took a break and flashed Lineage OS on it. With the school&rsquo;s network, it should work pretty well, and all the Google apps are connecting normally.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-07</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-07/</link>
      <pubDate>Sun, 07 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-07/</guid>
      <description>&lt;p&gt;Got up lazily in the morning, already forgot what I did.&lt;/p&gt;
&lt;p&gt;Near noon, I cooked some pasta, added my twice-cooked pork ,and brought it to school to study for a while. Reviewed the class PPT again, tried to guess the teacher&amp;rsquo;s intentions for the assignment questions, and wrote a rough outline.&lt;/p&gt;
&lt;p&gt;In the afternoon, I came back and made beef fried rice. It was really delicious. Then I took a shower and washed my dirty socks and clothes.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Got up lazily in the morning, already forgot what I did.</p>
<p>Near noon, I cooked some pasta, added my twice-cooked pork ,and brought it to school to study for a while. Reviewed the class PPT again, tried to guess the teacher&rsquo;s intentions for the assignment questions, and wrote a rough outline.</p>
<p>In the afternoon, I came back and made beef fried rice. It was really delicious. Then I took a shower and washed my dirty socks and clothes.</p>
<p>I thought about going to the gym to have a look. I kind of wanted to go swimming, but I didn&rsquo;t have the gear. While chat with Huan, it turned out she was just about to buy it for me.</p>
<p>That&rsquo;s great!</p>
]]></content:encoded>
    </item>
    <item>
      <title>September 6, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-06/</link>
      <pubDate>Sat, 06 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-06/</guid>
      <description>&lt;h2 id=&#34;go-shopping-with-zj&#34;&gt;Go Shopping with ZJ&lt;/h2&gt;
&lt;p&gt;We ate too much bread and hamburgers last week, so we decided to go to Walmart to buy some food and household items.&lt;/p&gt;
&lt;p&gt;ZJ emptied his travel box to carry the goods. He wanted to walk to the mall, but I was a bit reluctant. In the end, I agreed with his idea.&lt;/p&gt;
&lt;p&gt;We bought a lot of items, including vegetables, a pot, bowls, and so on.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h2 id="go-shopping-with-zj">Go Shopping with ZJ</h2>
<p>We ate too much bread and hamburgers last week, so we decided to go to Walmart to buy some food and household items.</p>
<p>ZJ emptied his travel box to carry the goods. He wanted to walk to the mall, but I was a bit reluctant. In the end, I agreed with his idea.</p>
<p>We bought a lot of items, including vegetables, a pot, bowls, and so on.</p>
<h2 id="first-home-cooked-rice-meal">First Home-Cooked Rice Meal</h2>
<p>I bought 2kg of rice myself in the afternoon, so I decided to make Chinese food for dinner.</p>
<p>This was my first rice meal since arriving in Edmonton, and it was delicious. ZJ ate a lot, and I also enjoyed it, though I only had one bowl.</p>
<h2 id="collecting-second-hand-furniture">Collecting Second-Hand Furniture</h2>
<p>After dinner, ZJ asked me to post an ad to buy some second-hand furniture like desks and lamps. I left both of our phone numbers, with ZJ’s listed first. Jenny was very helpful—I was worried about getting nonstop calls, so having two numbers seemed better.</p>
<p>Soon enough, someone contacted us about selling furniture. They lived nearby and even picked us up to choose the items at their place.</p>
<p>I picked out a desk, a mattress, chairs, and more. It cost quite a bit, but we probably won’t need to buy much more furniture after this.</p>
<p>The seller gave us a mirror for free. At first, I thought it was nice, but after bringing it home, it felt eerie, so we threw it away. It’s better not to casually accept things from others.</p>
<h2 id="tidying-up-my-little-room">Tidying Up My Little Room</h2>
<p>I cleaned the desk and chairs and rearranged the layout of the room, making it much cozier. The mattress is also very comfortable—it’s great!</p>
<p>PS: My English writing is still quite poor, so I used translation software for help and manually copied it over. I’ll improve gradually.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-04</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-04/</link>
      <pubDate>Thu, 04 Sep 2025 22:58:12 -0600</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-04/</guid>
      <description>&lt;p&gt;今天有两节课，有点点焦虑。早上早早的工作室了，然后在 Canvas 上面下载了课件提前预习了一下。&lt;/p&gt;
&lt;p&gt;快中午的时候把工位的电脑装好了，有了自己的电脑和两块显示器。学习 PPT 啥的都能够比较方便了。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天有两节课，有点点焦虑。早上早早的工作室了，然后在 Canvas 上面下载了课件提前预习了一下。</p>
<p>快中午的时候把工位的电脑装好了，有了自己的电脑和两块显示器。学习 PPT 啥的都能够比较方便了。</p>
<p>预习过之后，在上课的时候果然好了很多，上次课几乎听不懂，这次能够听懂 30%以上了。</p>
<p>不过下午的课程，老师说话极其的快，直接把我干懵逼了，还好大部分内容都在 PPT 上面。后面也能够跟着课程走，但是生僻的单词太多了，需要经常拿起手机来。</p>
<p>下午上完课已经是 8 点了，下 LRT 后去 Safeway 逛了一圈。里面卖的东西特别多，想买的也特别多。不过很多东西都很贵，好些都舍不得买；另外一方面是需要考虑室友的情况，还是有点难办的。</p>
<p>一天过得好快，今天只感觉自己的英文需要提升和练习的太多了。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-05</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-05/</link>
      <pubDate>Fri, 05 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-05/</guid>
      <description>&lt;h3 id=&#34;1018-most-of-all-things-are--settled-down&#34;&gt;10:18 Most of All things are  settled down&lt;/h3&gt;
&lt;p&gt;I already can write blog on my new computer at office. Everything is becoming good over time.&lt;/p&gt;
&lt;h3 id=&#34;1536-orientation-with-professor-liu&#34;&gt;15:36 Orientation with Professor Liu&lt;/h3&gt;
&lt;p&gt;objectives, money, future&lt;/p&gt;
&lt;p&gt;After the noon&amp;rsquo;s class, Amirthan and I go to the Dr. Liu&amp;rsquo;s office. He said he will give me a orientation.&lt;/p&gt;
&lt;p&gt;The key words of  the orientation are about the objectives, money and future. But so many content we talk about, I can&amp;rsquo;t write all of things. The core concepts is as follow:&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1018-most-of-all-things-are--settled-down">10:18 Most of All things are  settled down</h3>
<p>I already can write blog on my new computer at office. Everything is becoming good over time.</p>
<h3 id="1536-orientation-with-professor-liu">15:36 Orientation with Professor Liu</h3>
<p>objectives, money, future</p>
<p>After the noon&rsquo;s class, Amirthan and I go to the Dr. Liu&rsquo;s office. He said he will give me a orientation.</p>
<p>The key words of  the orientation are about the objectives, money and future. But so many content we talk about, I can&rsquo;t write all of things. The core concepts is as follow:</p>
<ul>
<li>We must learn how to concentrate on our research</li>
<li>Do not work for long time, 40 hours a week is enough</li>
<li>Do save money, take care of ourself</li>
<li>Keep the private time, keep respect with each other</li>
</ul>
<h3 id="finished-the-config-of-new-computer">Finished the Config of New Computer</h3>
<p>There is nothing in my home. So I don&rsquo;t want to go home even after 5 PM. I utilized this time to set up my blog config and complete the internet appointment.</p>
<p>May be I should learn how to relax and enjoy Life. Canada is a beatiful contry, We should take more time for the nature.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-03</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-03/</link>
      <pubDate>Wed, 03 Sep 2025 16:29:25 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-03/</guid>
      <description>&lt;h3 id=&#34;1622-现在在-registry-办健康卡和-id-card&#34;&gt;16:22 现在在 registry 办健康卡和 ID card&lt;/h3&gt;
&lt;p&gt;似乎一切都在慢慢变好，昨天发现床垫有血渍，然后办电话卡被坑了80刀。今天早上郁闷了一早上，快中午的时候，决定去学校hub mall看看。顺利的把套餐转了，然后还办了银行卡，非常勇敢的选择了活动送iPad的任务，希望能够成功。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1622-现在在-registry-办健康卡和-id-card">16:22 现在在 registry 办健康卡和 ID card</h3>
<p>似乎一切都在慢慢变好，昨天发现床垫有血渍，然后办电话卡被坑了80刀。今天早上郁闷了一早上，快中午的时候，决定去学校hub mall看看。顺利的把套餐转了，然后还办了银行卡，非常勇敢的选择了活动送iPad的任务，希望能够成功。</p>
<p>下午去Canada place办了sin号码。越来越能够</p>
<h3 id="2311-整理了一下房间">23:11 整理了一下房间</h3>
<p>房间一直乱糟糟的，虽然啥家具都没有。简单整理了一下。</p>
<p>对了泡澡能使人放松，抽空去买点游泳装备。尝试学会游泳，然后经常去健身房。</p>
<p>对了去，卖床垫的老板来给我重新换了一张床垫。感觉质量不大行，但是比上一张干净一些，就这样吧。看看以后可以放在客厅啥的。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-02</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-02/</link>
      <pubDate>Tue, 02 Sep 2025 23:13:33 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-02/</guid>
      <description>&lt;p&gt;日子总是过得很快，稍不注意就忘记记录了。&lt;/p&gt;
&lt;p&gt;今天早上早早的去领了学生卡，然后去到办公室找赵师兄，师兄带着我去到老师的办公室。这是我第一次见到老师，老师给人很亲切的感觉，说的英语我也能几乎听懂。最后还用中文给我谈了好一会儿，挺安心的。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>日子总是过得很快，稍不注意就忘记记录了。</p>
<p>今天早上早早的去领了学生卡，然后去到办公室找赵师兄，师兄带着我去到老师的办公室。这是我第一次见到老师，老师给人很亲切的感觉，说的英语我也能几乎听懂。最后还用中文给我谈了好一会儿，挺安心的。</p>
<p>然后 chathuranga 和师兄给我搬了电脑，没几分钟就中午了。和 amirthan 一起去上课，他的胡子是真的茂盛。感觉他们说话有点听不懂。</p>
<p>到教室开始第一堂课，采矿概论。老师不是很熟练的样子，连怎么连接电脑都不会。老师是博士候选人，干起来很强壮的样子，说的英语我是一句也听不懂。</p>
<p>课程结束我就去办电话卡和银行卡了。结果银行卡没办成功，需要预约。电话卡办好了不能用，弄了一下午，最后搜小红书设置才搞好。不过居然要 80 刀的开台费，有点肉疼。</p>
<p>最后做了 40 多分钟的公交回来，到家已经比较晚了。发现大家都没有开台费，于是便自己在网上开始搜索。属于是中国人专坑中国人了，因为这件事导致我一直很郁闷。</p>
<p>晚上发现床垫上面有血渍，也是挺膈应的，我还是喜欢睡地板的感觉。</p>
<p>PS：对了，办卡被坑归被坑，但了解到了 ua 硕士的申请，并不是想象中那么困难。办卡小姐姐的情况和我和欢欢简直一模一样，要是她也能来这边就好了。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-09-01</title>
      <link>https://jinpeng.cv/en/diary/2025/september/2025-09-01/</link>
      <pubDate>Mon, 01 Sep 2025 23:27:35 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/september/2025-09-01/</guid>
      <description>&lt;p&gt;本来以为政嘉会陪我一起去开卡的，结果并没有，然后师兄说他来带我一起逛逛。&lt;/p&gt;
&lt;p&gt;师兄准备陪我去领卡，结果长周末，啥都没开门。去学校 sub 还碰上了免费发热狗。结果热狗是素的，给吃的恶心得不行。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>本来以为政嘉会陪我一起去开卡的，结果并没有，然后师兄说他来带我一起逛逛。</p>
<p>师兄准备陪我去领卡，结果长周末，啥都没开门。去学校 sub 还碰上了免费发热狗。结果热狗是素的，给吃的恶心得不行。</p>
<p>师兄真的是超级好，我们一起几乎逛遍了校园，还走到河谷，走到 downtown，然后做地铁回家。</p>
<p>回家后做了汉堡吃，实在是有点不喜欢吃这些。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-31</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-31/</link>
      <pubDate>Sun, 31 Aug 2025 20:27:56 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-31/</guid>
      <description>&lt;p&gt;订了四点五十的闹钟早早起床，一边洗漱一边和小欢欢录了视频。&lt;/p&gt;
&lt;p&gt;这一路来非常感动，脑海里突然浮现出了张学友唱的一路上有你。想着放给小欢欢听，发现学友哥哪里能表达出我的情绪嘛，我又自己唱了一遍，小欢欢的眼泪又悄悄落下来了。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>订了四点五十的闹钟早早起床，一边洗漱一边和小欢欢录了视频。</p>
<p>这一路来非常感动，脑海里突然浮现出了张学友唱的一路上有你。想着放给小欢欢听，发现学友哥哪里能表达出我的情绪嘛，我又自己唱了一遍，小欢欢的眼泪又悄悄落下来了。</p>
<p>我们一起乘坐酒店送机的车子到机场。这是我第一次坐飞机，心理还是有点紧张的。</p>
<p>看到自助值机的机器，发现怎么都识别不到我证件相关的机票，我开始慌了。</p>
<p>赶忙问工作人员，说有行李直接去柜台，我赶紧排了个急客通道。结果柜台也查不到我的航班信息，身份证和护照都不行。彻底慌了，我脑子里已经开始想各种可能的问题以及结果。</p>
<p>几分钟后，我赶忙把行程单拿给工作人员看，查了大约一分钟后，终于出票了。悬着的石头终于落了。</p>
<p>然后到安检口我就和小欢欢分别了，我并没有小欢欢那般难过，因为我还要赶着熟悉接下来的流程；还有另外一个原因就是我们已经提前好久做了心理准备。</p>
<p>安检完毕，等待乘坐我人生的第一趟飞机，吉祥航空。</p>
<p>还是比较新奇的，尤其是穿过云层的那一刹那。只不过这种惊奇持续不了多久，身体上的疲惫就开始显现。</p>
<p>10 点就到了上海，第一次到上海。网络因为限速给我造成了较大的困难。无法在线值机，值机窗口要十二点半才开。</p>
<p>想着可能吃完会比较晚，还是要吃一碗面。一碗面加一杯柠檬水 98，也算是感受了一波沪币的震撼。</p>
<p>给小欢欢打了视频。不久后顺利值机。</p>
<p>看到中国海关和中国出入境管理的关卡，内心还是有些担心的，担心解除备案手续可能还没完成。不过好在一切顺利，出入境工作人员和我说再见，我也说再见。此刻，我已经走出国门了。</p>
<p>坐飞机并不是很害怕，因为我知道害怕没用，哪怕有突然剧烈的颠簸。</p>
<h3 id="英语太差想喝牛奶点了一罐啤酒">英语太差，想喝牛奶点了一罐啤酒</h3>
<p>我怀疑乘务员把我的 milk 听成了 bear，发现她听错了，我中文赶紧过来补救：这个。“这个”则变成了 lager。最终我获得了一罐 lager 啤酒。</p>
<p>EMMM，也还好，就是口语和听力要多练。发现自己也不够自信，不大敢和人交流。后面尝试要了冰块，尝试自己去找垃圾位置扔了垃圾。</p>
<h3 id="2027-现在飞到太平洋上空了">20:27 现在飞到太平洋上空了</h3>
<p>怎么也睡不着觉，干脆补一下日记吧。</p>
<h3 id="1341-终于冷静下来">13:41 终于冷静下来</h3>
<p>现在在候机AC240，身上的汗刚刚才干了一些。</p>
<p>刚刚转机出现很多意料之外的情况，语言不通畅会造成相当多的问题。今天是一个粗鲁的人，无知的人，粗心的人。</p>
<p>一开始不知道要去immigration办大签，走到出口，才手机翻译找到另外一个人告知我要跟着immigration走。</p>
<p>提取到行李办大签的时候，officer说她follow一下另外一个人，我以为我也要follow，结果走到其他人的窗口，说我要干啥？哈哈。这边流行一种等待叫号的文化，哪怕只有你一个人，你也需要先在正确的地方坐好，等人家叫你再行动。</p>
<p>无知则是对于文化的不了解，对于语言的不熟悉。好多人说话我都听不懂，更生怕自己说的别人听不懂。但是行程不可能推迟或者逃避，只能硬着头皮上。</p>
<p>最粗心的事情莫过于把大签弄丢了。过了安检，然后去找登机口，找到登机口才发现自己的大签不在了。我赶忙跑回去，跑了一身汗特别慌张。安检人员告知我放松，然后说大签的重要性。</p>
<p>最终他们帮我找回了我的大签，然后还一直强调要我把大签放包里面，不要拿出来。我一个劲的感谢，心里一边骂自己。</p>
<h3 id="1448-登上第三程飞机了">14:48 登上第三程飞机了</h3>
<p>想和小欢欢发好多消息，但是怕吵醒她。以后睡觉都要调成勿扰模式才好了。</p>
<p>做了一天飞机，累的不行。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-30</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-30/</link>
      <pubDate>Sat, 30 Aug 2025 20:38:23 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-30/</guid>
      <description>&lt;p&gt;昨晚睡得还算可以。今天相比昨天要简单许多，和室友吃饭，帮助骚坤求婚顺便见朋友们一面。&lt;/p&gt;
&lt;p&gt;中午和小欢欢去吃了冰粉，姚述屿也来和我们一起，绿豆冰粉可好吃了。吃完对面 36 块钱开了两个小时自助 KTV，休息了一下。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>昨晚睡得还算可以。今天相比昨天要简单许多，和室友吃饭，帮助骚坤求婚顺便见朋友们一面。</p>
<p>中午和小欢欢去吃了冰粉，姚述屿也来和我们一起，绿豆冰粉可好吃了。吃完对面 36 块钱开了两个小时自助 KTV，休息了一下。</p>
<p>晚上我们一起和峰哥，猛哥吃了牛肉，味道还可以，就是相对来说太贵了，不划算，两斤半就吃了 300 多。</p>
<p>吃完后去骚坤求婚的地方，我觉得这些事情有点尴尬，并不是很想布置。但最后的效果还是挺经验了，超乎预期，果然真诚最重要。</p>
<p>仪式弄完，我们就准备撤了。后面因为没有提前化的蛋糕，又继续坐着聊了好一会儿。十点钟，再不走就不行了。峰哥开着他新提的理想送我们去龙洞堡机场。峰哥说他这个车听日落大道效果特别好。</p>
<p>结果没唱几句，想到只能和小欢欢呆几个小时了。眼泪就在眼眶里打转转留下来了。音乐具有击穿心理屏障的作用。</p>
<p>和峰哥道别后，在酒店马上就和小欢欢相拥而泣了。难过并不是我们没有信心，而只是单纯的不舍，想时刻在彼此身边。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-29</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-29/</link>
      <pubDate>Fri, 29 Aug 2025 20:28:28 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-29/</guid>
      <description>&lt;p&gt;今天准备收拾行李出发前往贵阳了。幸好有小欢欢，帮我收拾行李，不然我一个人肯定要头疼很久。最害怕收拾行李了。&lt;/p&gt;
&lt;p&gt;中午到了贵阳，预约了个滴滴直奔白云区，我提前在兄弟牛杂订好了位置。好久没吃了，还是挺好吃的。好久没见有些生疏了，我要习惯于人际交往中的突然安静。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天准备收拾行李出发前往贵阳了。幸好有小欢欢，帮我收拾行李，不然我一个人肯定要头疼很久。最害怕收拾行李了。</p>
<p>中午到了贵阳，预约了个滴滴直奔白云区，我提前在兄弟牛杂订好了位置。好久没吃了，还是挺好吃的。好久没见有些生疏了，我要习惯于人际交往中的突然安静。</p>
<p>郭师傅带我去办理护照的相关事情，在半路把小欢欢放在了酒店休息。郭师傅对我的事情非常的伤心，带着我东跑西跑。很快便把事情弄完了，还去去入境管理局咨询了出境的相关事情，最后又开着车把我送回酒店。非常感谢郭师傅，心里暖暖的。</p>
<p>欢欢给我买了个超贵的耳机，很开心但是还是有些不想要，太贵了。去打印了保留党籍的资料并寄了出去。</p>
<p>晚上约了老师们吃饭，想到今天是七夕节，突然想到给老师们买一束花吧。点好菜之后我们问着工作人员找到了花鸟市场。买到了非常漂亮的花，一朵一朵挑的。</p>
<p>吃完已经比较晚了，打车回酒店准备休息了。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-26</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-26/</link>
      <pubDate>Tue, 26 Aug 2025 18:13:47 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-26/</guid>
      <description>&lt;p&gt;今天欢欢爸爸妈妈起的比较早，听到他们说话声音，就醒了。虽然困得不行。&lt;/p&gt;
&lt;p&gt;告诉老师们我的机票行程，想着走之前请老师们吃个饭。老师们纷纷表示他们来安排就好。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天欢欢爸爸妈妈起的比较早，听到他们说话声音，就醒了。虽然困得不行。</p>
<p>告诉老师们我的机票行程，想着走之前请老师们吃个饭。老师们纷纷表示他们来安排就好。</p>
<p>时间差不多就来到了八点，和小欢欢分别，我和欢欢爸爸去买排烟管，一直折腾到早上十点半才弄好，算是勉强能用。</p>
<p>然后欢欢爸爸送我来坐车，我们还加了微信。还是那个美女司机，还是一样的晕车。</p>
<p>中午直接回住的地方了，准备休息一下。</p>
<h3 id="1812-来到哥哥家">18:12 来到哥哥家</h3>
<p>爸爸今天来水城了，一直想叫我来吃饭。我并不想来，不喜欢这种带熟不熟的社交。</p>
<p>来了之后发现也还好，吃完饭，妈妈洗好碗。带他们去人民广场逛了逛。</p>
<p>虽然言语不多，但是能够明显感觉到挺好的。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-25</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-25/</link>
      <pubDate>Mon, 25 Aug 2025 18:14:29 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-25/</guid>
      <description>&lt;p&gt;今天周一，小欢欢和他妈妈一大早就去上班了。他爸爸准备今天回来。&lt;/p&gt;
&lt;p&gt;此时 i 人属性体现了，我很想今晚继续和小欢欢在一起，但是我待不住。想过去图书馆，去公园，自己开一个酒店。想想还是和小欢欢一起去水城吧。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天周一，小欢欢和他妈妈一大早就去上班了。他爸爸准备今天回来。</p>
<p>此时 i 人属性体现了，我很想今晚继续和小欢欢在一起，但是我待不住。想过去图书馆，去公园，自己开一个酒店。想想还是和小欢欢一起去水城吧。</p>
<p>下午的时候又和小欢欢一起回去了。欢欢妈妈做了炒蚕豆，拌辣椒和折耳根。油烟机坏了，明天去修修看。</p>
<p>晚上我们还去买了烧烤回来吃，和欢欢爸爸喝了一杯酒。欢欢爸爸妈妈还给我塞了 1000 块钱。</p>
<p>一点钟才睡。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-24</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-24/</link>
      <pubDate>Sun, 24 Aug 2025 18:39:02 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-24/</guid>
      <description>&lt;p&gt;今天早上带着小何、欢欢和妈妈去菜市场逛街。我和小何在市集上吃了牛肉汤锅，因为没有吃过想尝一尝，小欢欢则留着肚子去吃酸汤鱼粉。&lt;/p&gt;
&lt;p&gt;逛完之后，又和小欢欢去二香酸汤鱼粉，我们贪婪地加了鱼头、鱼翅、鱼排。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天早上带着小何、欢欢和妈妈去菜市场逛街。我和小何在市集上吃了牛肉汤锅，因为没有吃过想尝一尝，小欢欢则留着肚子去吃酸汤鱼粉。</p>
<p>逛完之后，又和小欢欢去二香酸汤鱼粉，我们贪婪地加了鱼头、鱼翅、鱼排。</p>
<p>在出租屋简单休息了一下，出发前往盘州。欢欢找小雪帮我拿了护照，我们一起去吃了干锅牛肉，还把在水城市集买的菌子也洗了吃了。</p>
<p>然后一起去欢欢的房子看了看，走路回到欢欢家，已经接近十点钟了。</p>
<p>有点小累的一天。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-23</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-23/</link>
      <pubDate>Sat, 23 Aug 2025 18:52:54 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-23/</guid>
      <description>&lt;p&gt;小何昨天打电话来，问我什么时候走。我说可能 30 号 31 号就走了。他说明天来水城找我玩。&lt;/p&gt;
&lt;p&gt;于是今天就来了，早上小欢欢加了一早上班，写出来一个看起来像报告的报告。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>小何昨天打电话来，问我什么时候走。我说可能 30 号 31 号就走了。他说明天来水城找我玩。</p>
<p>于是今天就来了，早上小欢欢加了一早上班，写出来一个看起来像报告的报告。</p>
<p>然后我们就去车站接小何，突然想到叫璇璇一起。我就把璇璇的刚准备吃的螺蛳粉抢来了。</p>
<p>然后我们去吃了黄金烤洋芋，下午去 KTV 唱了一会儿歌，然后去吃了青瓦房烙锅。</p>
<p>吃撑的一天。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-22</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-22/</link>
      <pubDate>Fri, 22 Aug 2025 18:47:03 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-22/</guid>
      <description>&lt;p&gt;今天继续下雨，早上起来继续租房。昨晚最后决定租在了 the village of Southgate, 不想再看了。&lt;/p&gt;
&lt;p&gt;今天早上起来把保险一起看了，租房算是告一段落了。&lt;/p&gt;
&lt;p&gt;中午下雨又没带我妈出去玩，每天都在等待，浑浑噩噩。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天继续下雨，早上起来继续租房。昨晚最后决定租在了 the village of Southgate, 不想再看了。</p>
<p>今天早上起来把保险一起看了，租房算是告一段落了。</p>
<p>中午下雨又没带我妈出去玩，每天都在等待，浑浑噩噩。</p>
<p>小欢欢下班来找我了。我们一起去吃了 39 元的自助烧烤，雨一直下，有些烦。</p>
<p>我们走路回家，到出租屋的时候已经快 12 点了。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-21</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-21/</link>
      <pubDate>Thu, 21 Aug 2025 18:39:16 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-21/</guid>
      <description>&lt;p&gt;忘记记录的星期四就比较难想起来了。&lt;/p&gt;
&lt;p&gt;在小红书上加了一个好友，今天一大早就和他打视频租房子。煮了个玉米，看了好多候选的，租房子还是挺难的。&lt;/p&gt;
&lt;p&gt;环境，交通，租金，设施，很难两全其美。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>忘记记录的星期四就比较难想起来了。</p>
<p>在小红书上加了一个好友，今天一大早就和他打视频租房子。煮了个玉米，看了好多候选的，租房子还是挺难的。</p>
<p>环境，交通，租金，设施，很难两全其美。</p>
<p>本来准备带我妈出去玩的，结果我妈刚约好我二姨妈，就下雨了。停留片刻，将车开回停车场。回出租屋躺着了。</p>
<p>妈妈给了我一块肉，切了一些炒了土豆回锅肉盖饭，好吃。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-20</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-20/</link>
      <pubDate>Wed, 20 Aug 2025 20:46:24 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-20/</guid>
      <description>&lt;p&gt;昨晚睡觉的时候，之前联系一起申请签证的同学被安调了。想把她租的房子转给我，我说今天给她答复。这时我才意识到确实到了该租房的时候了。&lt;/p&gt;
&lt;p&gt;看了一早上的手机，联系了好多人。发现好地段的房子确实比较难找，其他的要么远，要么价格和定位不匹配。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>昨晚睡觉的时候，之前联系一起申请签证的同学被安调了。想把她租的房子转给我，我说今天给她答复。这时我才意识到确实到了该租房的时候了。</p>
<p>看了一早上的手机，联系了好多人。发现好地段的房子确实比较难找，其他的要么远，要么价格和定位不匹配。</p>
<p>云霆师兄说他离职了，后面叫一个斯里兰卡的师弟带我 check in。很慌张，签证进度也比较慢。</p>
<p>中午差点没有睡着，数着呼吸睡着了。想着其实也不必慌，大不了先随便租着一个。</p>
<p>哥哥叫我开车带妈妈出去玩，睡醒午觉下雨了，便作罢了。</p>
<h3 id="2049-白鹤公园里面石头上坐着">20:49 白鹤公园里面石头上坐着</h3>
<p>现在在白鹤公园，旁边是跳广场舞的大妈们，大妈们的旁边是两眼直勾勾看着的我妈。</p>
<p>她想跳但是并不好意思跳，我也不管。虽然我也不好意思，但是好在我并不喜欢。她看到队伍后面有个人站着和人家聊天去了</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-19</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-19/</link>
      <pubDate>Tue, 19 Aug 2025 16:24:50 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-19/</guid>
      <description>&lt;p&gt;早上发消息联系了前单位，脱密以及护照相关的事情，然后开始玩手机，在网上搜索相关的信息。发现 29 号是情人节，而且刚好是周末，萌发了自费去上海玩一天，正好多玩一天，然后从上海飞加拿大的想法。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>早上发消息联系了前单位，脱密以及护照相关的事情，然后开始玩手机，在网上搜索相关的信息。发现 29 号是情人节，而且刚好是周末，萌发了自费去上海玩一天，正好多玩一天，然后从上海飞加拿大的想法。</p>
<p>快中午出去进了一些货，买了米，鸡蛋，猪板油，玉米，白菜，还有半只烤鸭。这家烤鸭店半只烤鸭就要 38 元，一开始我还觉得很贵；直到老板给我片了鸭皮，将带有骨头的炸了拌，然后配上面饼、甜酱、黄瓜大葱丝。瞬间就值这个价了，不过一个人吃半只还是比较多。洗了脏袜子和鞋子，炼了猪油，准备睡午觉了。</p>
<p>下午测试 obsidian 1.9.10 版本的 bases 功能时，发现自己七月好几篇日记没有记录完整。花了一个小时来记录，如果没有任何线索的话，是不可能记得上个月某一天的事情的。好在每天都有和小欢欢聊天，能够从聊天记录捡起一些些线索。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-18</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-18/</link>
      <pubDate>Mon, 18 Aug 2025 21:07:04 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-18/</guid>
      <description>&lt;p&gt;短信，退货，酸汤鱼粉，卖塑料品，激活银行卡，玩手机&lt;/p&gt;
&lt;p&gt;今天早上收到短信说签证开始受理了，应该快了，接下来就是租房、订票，和前单位打交道了。还是有点焦虑，毕竟还没正儿八经的租过房子。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>短信，退货，酸汤鱼粉，卖塑料品，激活银行卡，玩手机</p>
<p>今天早上收到短信说签证开始受理了，应该快了，接下来就是租房、订票，和前单位打交道了。还是有点焦虑，毕竟还没正儿八经的租过房子。</p>
<p>早上去拿了快递，试了试小欢欢给我买的羽绒服。还是 M 码要更合适一些，于是联系顺丰退了。</p>
<p>中午去吃了酸汤鱼粉，正是中午下班时间，人太多了。我天真的以为会很快，然而并没有。</p>
<p>等了快一个小时，然后老板还给我后面的人先做了，给我鱼泡煮少了一个。体验非常不愉快，心里很生气。下次再也不人多的时候去了。</p>
<p>下午打电话联系收废品的，把我的塑料瓶子拿去卖了。只卖了 13.4 块钱。我觉得这些东西以后还是扔了比较好，留着难得折腾。</p>
<p>卖完瓶子，我马上坐着 5 路公交去工商银行，准备把我新办的信用卡激活。刚好卡着下班的点激活了。</p>
<p>回来的路上完成了首刷，买了杯柠檬水，只付了 1 分钱。卡能够正常使用就好。</p>
<p>晚饭吃了玉米和火鸡面，不大像自己煮饭，不过不吃饭感觉还是不大行，尤其没有冰箱，保存不了蔬菜。</p>
<p>明天还是去超市买一点点米吧。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-17</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-17/</link>
      <pubDate>Sun, 17 Aug 2025 21:08:03 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-17/</guid>
      <description>&lt;p&gt;短暂相聚之后，又该分别了。吃完饺子，炒饭，简单收拾收拾行李。该返程了。&lt;/p&gt;
&lt;p&gt;在街上的时候，宁宁一如既往的依依不舍，她想不明白，为什么我们每次都要这样狠心的离开。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>短暂相聚之后，又该分别了。吃完饺子，炒饭，简单收拾收拾行李。该返程了。</p>
<p>在街上的时候，宁宁一如既往的依依不舍，她想不明白，为什么我们每次都要这样狠心的离开。</p>
<p>她伤心的如此纯粹，不掺杂一丝丝任何其他的情绪，只是想我们能在彼此身边。她和曼曼拥抱亲吻了每一个人，我们各自带着彼此心里的祝福离开。</p>
<p>下一站是爸爸上班的地方——湾田煤矿。因为不怎么顺路，而且路比较脏，爸爸上班也比较早。妈妈姐姐都叫他自己先走，不要叫我送。而我则将这些复杂的情感转嫁到金钱上来：都可以送，把油加满就行！</p>
<p>这次爸爸没有叫我们送到他的住处，到煤矿门口跟前就喝止我们，就在这里下车了。爸爸如我预言的一样回头。</p>
<p>下一站是欢欢家，我想多和欢欢呆在一起，不管是什么环境。于是提前和妈妈说好要在欢欢家吃晚饭。</p>
<p>我们特意留他们两个大人单独相处，感受 i 人的情绪；而我和欢欢则乘机去看看凤仙和她的宝宝，有自己的小家挺好的，虽然可能会有各种烦恼。</p>
<p>吃完晚饭，我和欢欢把哥哥的车擦了一遍，不然实在是太脏了。擦完感觉干净了许多，心里也舒服了许多。</p>
<p>到水城已经是 8 点四十了，和妈妈分别，前往出租屋。</p>
<p>感觉今天好累啊，躺着休息了一会儿舒服了很多。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-16</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-16/</link>
      <pubDate>Sat, 16 Aug 2025 21:08:38 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-16/</guid>
      <description>&lt;p&gt;本来想着叫小欢欢爸爸妈妈一起去我家的，但是小欢欢可能会导致昨晚我和小欢欢不能在一起，索性就没叫了。&lt;/p&gt;
&lt;p&gt;今天早上刚七点半，妈妈就打电话来说啥时候出发。我说雨非常大，我再睡一会儿。然后我妈去卖核桃，我想着叫她去明湖菜场旁边的蜜雪冰城避避雨，就借口叫她买柠檬水分我们喝。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>本来想着叫小欢欢爸爸妈妈一起去我家的，但是小欢欢可能会导致昨晚我和小欢欢不能在一起，索性就没叫了。</p>
<p>今天早上刚七点半，妈妈就打电话来说啥时候出发。我说雨非常大，我再睡一会儿。然后我妈去卖核桃，我想着叫她去明湖菜场旁边的蜜雪冰城避避雨，就借口叫她买柠檬水分我们喝。</p>
<p>结果他走了好远好远，走到了体育局这边，把自己的鞋都弄湿了。昨天小欢欢就已经帮我把大部分的行李收拾好了。我去找到妈妈，然后把车开过来，还买了糯米饭。嘲笑了妈妈一番，她只顾傻傻的笑着。</p>
<p>上下楼梯三两次，我们就把该拿的东西拿得差不多了。出发回家！</p>
<p>一路上的空气特别好，因为一直在下雨的缘故。我们心情也都非常好。</p>
<p>开了两个小时就到四格了，妈妈说带我们下馆子。于是我想起来之前说要带小欢欢尝尝干锅牛肉的味道，正好就提议这次来吃干过牛肉。牛肉特别的新鲜，第一碗酸菜也非常好吃。</p>
<p>吃完姐姐他们也来了，在街上简单逛了逛。把我的洗衣机搬上六楼，便从四个回到家里了。</p>
<p>玩了一会儿我和小欢欢就困了，然后就睡觉。曼曼宁宁你也特别听话的没有来打扰我们。</p>
<p>妈妈自己一个人弄好了晚饭，还包好了饺子。快五点的时候我叫宁宁去叫欢欢起床。然后爸爸也快到了，我我们带着宁宁去接老爸。老爸他也给宁宁买了牛奶，宁宁一靠在她外公的怀里，马上就静静地不说话睡着了。</p>
<p>晚饭很好吃，我吃了三碗饭。吃完就简单的聊天，和曼曼玩游戏，就到了该入睡的时候了。</p>
<p>一整夜都睡得很安稳。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-15</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-15/</link>
      <pubDate>Fri, 15 Aug 2025 21:09:59 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-15/</guid>
      <description>&lt;p&gt;昨天给刘老师发了邮件赶忙给刘老师发一封邮件询问能否缺席，以及选课的事情。早上醒来检查邮件，发现老师给了回复了。于是选了三门核心课程，也填了 Orientation 的问卷。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>昨天给刘老师发了邮件赶忙给刘老师发一封邮件询问能否缺席，以及选课的事情。早上醒来检查邮件，发现老师给了回复了。于是选了三门核心课程，也填了 Orientation 的问卷。</p>
<p>然后一早上开始帮小欢欢着急护照的事情，很想叫她赶紧把护照办好，以后的联系就能够更方便些。</p>
<p>中午吃完酸汤鱼粉回来，自己给自己剪了头发。发现没有想象中那么难，就是左手有点不大跟脑子。</p>
<p>然后下午去农行、建行激活了对应的银行卡，为以后可能要用到做好工作，虽然大概率可能用不到，但就怕万一，多留一些信用额度也是好的。</p>
<p>弄好回来把脏碗筷洗了，时间就差不多了。雨下得特别大，穿着洞洞鞋，撑着伞去坐一路公交接小欢欢。在车上突然想吃手枪腿了，于是在闲鱼上花了十三块钱买了一个。</p>
<p>我在德克士避雨，等小欢欢来手枪腿差不多好了。两个人一起吃就会美味加倍，很奇怪。然后我们走着光着，小欢欢想吃香辣虾，我想加加点螃蟹，就点了一个虾蟹大战的套餐。味道还不错，就是量有些少。不过吃其他的也吃饱了。</p>
<p>见面就很幸福！</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-14</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-14/</link>
      <pubDate>Thu, 14 Aug 2025 21:13:23 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-14/</guid>
      <description>&lt;p&gt;早上起床查了签证，没收到 OPR。刷了一早上的手机。&lt;/p&gt;
&lt;p&gt;中午去吃了酸汤鱼粉，点了大碗的，还加了鱼翅。吃太撑了。这里的一个鱼翅 5 元一碗，一碗有 10 个鱼翅。每个鱼翅的重量都能够给其他家单独卖一碗鱼粉了。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>早上起床查了签证，没收到 OPR。刷了一早上的手机。</p>
<p>中午去吃了酸汤鱼粉，点了大碗的，还加了鱼翅。吃太撑了。这里的一个鱼翅 5 元一碗，一碗有 10 个鱼翅。每个鱼翅的重量都能够给其他家单独卖一碗鱼粉了。</p>
<p>午觉也没怎么睡，又是继续玩手机。到四点过的时候，收到了登录 IRCC 看收到了 OPR。赶紧对照着签证中心所需的文件，叫了顺丰小哥来给我寄过去。</p>
<p>一步一步走来，八九不离十了。看似非常不容易，实则也非常不容易。这个世界给穷人的所制造的障碍和挑战太多了。</p>
<p>可以马上着手计划下一步了。</p>
<p>焦虑稍微好了一点，但是还是焦虑。完完全全的踏出自己的舒适区应该会是一件很令人痛苦的事情。</p>
<p>还好有小欢欢和家人的关怀和支持，爱你们。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-13</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-13/</link>
      <pubDate>Wed, 13 Aug 2025 23:13:39 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-13/</guid>
      <description>&lt;p&gt;今天早上天气特别好，阳光一大早就满满地照在窗帘上。赶紧起床查了一下签证，发现依旧一点儿动静没有。&lt;/p&gt;
&lt;p&gt;然后开始刷手机，学习英语，看短视频。短视频真是害人，我发现我蹲坑的时候如果打开短视频，就不能拉得很顺畅，而且会有点头疼。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天早上天气特别好，阳光一大早就满满地照在窗帘上。赶紧起床查了一下签证，发现依旧一点儿动静没有。</p>
<p>然后开始刷手机，学习英语，看短视频。短视频真是害人，我发现我蹲坑的时候如果打开短视频，就不能拉得很顺畅，而且会有点头疼。</p>
<p>中午继续煮了冒烤鸭拌面吃，放了点黄瓜好吃多了。</p>
<p>下午打了两把游戏，然后去把快递拿了。最后一次出去再次查了 IRCC，发现居然收到了 Correspondence Letter（根据网友的经验，收到这个大概率马上就能收到贴签信了）。突然有了点盼头，想着出去走走，便打电话给妈妈叫她来拿她的衣服。</p>
<p>于是和她散步，走了好久。中途妈妈说口渴了嗓子难受，想喝水。一直没有碰到卖水的，走到蜜雪冰城，给她买了一杯常温的五分糖的柠檬水。她一开还嫌多，叫我喝一半，我没喝。她走着走着突然发现就喝完了，感觉她还挺喜欢的。</p>
<p>回来的路上给小欢欢打电话，想吃一串豆腐皮，但是想着还有面包，就没买。试了小欢欢给买的羽绒服，感觉质量挺好的，就是太贵了，有点舍不得。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-12</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-12/</link>
      <pubDate>Tue, 12 Aug 2025 22:27:58 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-12/</guid>
      <description>&lt;p&gt;早上醒的很早，感觉总是没睡够。生活作息比较混乱，继续看完了昨晚没看完的 Anki 文档。然后学习了一会儿英语，开始搜寻准备出国需要准备的物品。&lt;/p&gt;
&lt;p&gt;一直以来学英语总是断断续续的，每天都只是一小点。但最近突然发现自己面对较长的文档也能静下来较为流畅的看懂了。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>早上醒的很早，感觉总是没睡够。生活作息比较混乱，继续看完了昨晚没看完的 Anki 文档。然后学习了一会儿英语，开始搜寻准备出国需要准备的物品。</p>
<p>一直以来学英语总是断断续续的，每天都只是一小点。但最近突然发现自己面对较长的文档也能静下来较为流畅的看懂了。</p>
<p>在电脑上刷视频看到夏冰雹新发的视频，没点开之前还想着会有一些广告私货啥的。看完后发现都是她自己的分享，他的理念我还挺赞同的，只是好像自己都没有做到。</p>
<ol>
<li>早睡，保持充足的睡眠</li>
<li>运动，多接触大自然，保持适度运动</li>
<li>避免超加工十五，尽量吃食物原本的样子</li>
<li>利用好每天专注力好的时间段，一天刚开始的时候</li>
</ol>
<div class="bilibili"><iframe src="//player.bilibili.com/player.html?bvid=BV1ExtbzKERz&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe></div>

]]></content:encoded>
    </item>
    <item>
      <title>2025-08-11</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-11/</link>
      <pubDate>Mon, 11 Aug 2025 23:30:39 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-11/</guid>
      <description>&lt;p&gt;早上做了一个梦，梦到自己的整个牙龈连着牙齿掉了。DeepSeek 说牙齿是根基，意味着焦虑，压力，或失控感。对的，就是这样。&lt;/p&gt;
&lt;p&gt;我马上打开 IRCC 的官网差签证，不出意外的继续没有任何消息，于是叫 ChatGPT 协助我写了一封信件通过 Webform 提交给 IRCC 了。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>早上做了一个梦，梦到自己的整个牙龈连着牙齿掉了。DeepSeek 说牙齿是根基，意味着焦虑，压力，或失控感。对的，就是这样。</p>
<p>我马上打开 IRCC 的官网差签证，不出意外的继续没有任何消息，于是叫 ChatGPT 协助我写了一封信件通过 Webform 提交给 IRCC 了。</p>
<p>周末小欢欢给我带了两个面包，再不吃就要坏了，于是中午我就吃的面包。</p>
<p>下午学了会儿多邻国后，开始打游戏，游戏能够轻而易举地暂时忽略焦虑的感觉。这点还挺好的，就是打多了眼睛痛，游戏也变得无聊了。</p>
<p>晚上煮了番茄鸡蛋面，吃完又开始学多邻国，打游戏。</p>
<p>无法掌控的焦虑让人堕落……</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-10</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-10/</link>
      <pubDate>Sun, 10 Aug 2025 23:31:35 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-10/</guid>
      <description>&lt;p&gt;今天睡得比昨天好很多，中午带小欢欢去吃了鹅肉粉，得到了她的肯定。真的是很好吃！&lt;/p&gt;
&lt;p&gt;吃完我们去菜市场逛了逛，买了一些西红柿，烤鹌鹑蛋，黄瓜还有羊角蜜。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天睡得比昨天好很多，中午带小欢欢去吃了鹅肉粉，得到了她的肯定。真的是很好吃！</p>
<p>吃完我们去菜市场逛了逛，买了一些西红柿，烤鹌鹑蛋，黄瓜还有羊角蜜。</p>
<p>回来吃吃喝喝就已经三点过了，好想时间暂停。简单休息会儿，送小欢欢去坐车了。自己坐公交回来，没啥胃口。简单把剩菜热了热，煮了碗面放进去，不大好吃。</p>
<p>然后晚上又玩了好久的游戏，MOBA 游戏太看运气了。总是会有各种气人的情况出现。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-09</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-09/</link>
      <pubDate>Sat, 09 Aug 2025 23:27:05 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-09/</guid>
      <description>&lt;p&gt;今天早上起来就打了一早上的游戏，中午和小欢欢一起去吃了酸汤鱼粉，我吃的羊肉粉，都很好吃。&lt;/p&gt;
&lt;p&gt;白天一开始想着去水库逛逛，后面发现太热了，在公园里面躺了好久。然后就准备回来了。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天早上起来就打了一早上的游戏，中午和小欢欢一起去吃了酸汤鱼粉，我吃的羊肉粉，都很好吃。</p>
<p>白天一开始想着去水库逛逛，后面发现太热了，在公园里面躺了好久。然后就准备回来了。</p>
<p>晚上去买了两个大鱼头，叫老板多给了我们一些汤。我们拿回来煮上素菜，超级好吃。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-08</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-08/</link>
      <pubDate>Fri, 08 Aug 2025 13:09:22 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-08/</guid>
      <description>&lt;p&gt;今天看到遇真纪事的视频，很羡慕也很感慨。&lt;/p&gt;
&lt;p&gt;我曾经也有同样的想法，而且还不止一次，却没有一次付诸行动。比如开发网站让人们互相鼓励好好生活，比如买了相机去给到各地大家拍照。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天看到遇真纪事的视频，很羡慕也很感慨。</p>
<p>我曾经也有同样的想法，而且还不止一次，却没有一次付诸行动。比如开发网站让人们互相鼓励好好生活，比如买了相机去给到各地大家拍照。</p>
<div class="bilibili"><iframe src="//player.bilibili.com/player.html?bvid=BV1uFtizTEoa&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe></div>

<p>还有更多时候是感慨，哀民生之多艰，却只能无能为力。总觉得自己没有能力，没有精力和金钱。可动起来迈一步就已经是前进一步。</p>
<div class="bilibili"><iframe src="//player.bilibili.com/player.html?bvid=BV1kY4y1N78D&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe></div>

<p>晚上带小欢欢去吃了羊肉串，没有馕了，后面才发现美团上面便宜很多，亏大了，难受。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-07</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-07/</link>
      <pubDate>Thu, 07 Aug 2025 13:19:32 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-07/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;忘记记录了今天，还是补一补&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;早上小欢欢提醒我帮抢五月天的票，圈钱的事情还是比较好抢的，他们自己抢到了。&lt;/p&gt;
&lt;p&gt;然后随心点着点到 QQ 空间了，去飞哥的空间逛了一圈，还挺好玩的，只是感叹时光太匆匆了。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<blockquote>
<p>忘记记录了今天，还是补一补</p>
</blockquote>
<p>早上小欢欢提醒我帮抢五月天的票，圈钱的事情还是比较好抢的，他们自己抢到了。</p>
<p>然后随心点着点到 QQ 空间了，去飞哥的空间逛了一圈，还挺好玩的，只是感叹时光太匆匆了。</p>
<p>中午去吃了鹅肉粉，超级好吃，还比较清爽，周末又带小欢欢来吃。</p>
<p>签证一直不出来又是，有点焦虑。晚上吃水煮茄子拌面。</p>
<p>然后和朋友打游戏打到很晚。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-06</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-06/</link>
      <pubDate>Wed, 06 Aug 2025 20:01:16 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-06/</guid>
      <description>&lt;p&gt;最近每天都睡得不是很好，有点点焦虑。每天都靠打游戏度过。&lt;/p&gt;
&lt;p&gt;早上学习了多邻国，达到了 100 分的水平，但是听说能力还是很有欠缺。&lt;/p&gt;
&lt;p&gt;中午打了两把游戏，吃了茄子烩面，下午又玩了好久的手机。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>最近每天都睡得不是很好，有点点焦虑。每天都靠打游戏度过。</p>
<p>早上学习了多邻国，达到了 100 分的水平，但是听说能力还是很有欠缺。</p>
<p>中午打了两把游戏，吃了茄子烩面，下午又玩了好久的手机。</p>
<p>发现自己的自制力好差，记忆力也很差。昨天洗的衣服也忘记晾了。</p>
<p>和朋友一起打游戏还是挺快乐的，可是自己总是很菜。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-05</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-05/</link>
      <pubDate>Tue, 05 Aug 2025 23:29:13 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-05/</guid>
      <description>&lt;p&gt;今天又是浑浑噩噩的一天，啥都没干。不自律，打游戏，洗衣服。&lt;/p&gt;
&lt;p&gt;出去吃了碗酸汤鱼粉，还挺好吃的。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天又是浑浑噩噩的一天，啥都没干。不自律，打游戏，洗衣服。</p>
<p>出去吃了碗酸汤鱼粉，还挺好吃的。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-04</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-04/</link>
      <pubDate>Mon, 04 Aug 2025 19:17:30 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-04/</guid>
      <description>&lt;p&gt;下午打了一下午的游戏，自己实在菜的扣脚。&lt;/p&gt;
&lt;p&gt;软件安装到机械硬盘还是有些慢，尤其是常用的软件，还是安装到固态硬盘比较好。所以我把我的 Obsidian 迁移到 C 盘了。&lt;/p&gt;
&lt;p&gt;查询了下签证还是啥消息都没有，这也太慢了，让人等待得无语。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>下午打了一下午的游戏，自己实在菜的扣脚。</p>
<p>软件安装到机械硬盘还是有些慢，尤其是常用的软件，还是安装到固态硬盘比较好。所以我把我的 Obsidian 迁移到 C 盘了。</p>
<p>查询了下签证还是啥消息都没有，这也太慢了，让人等待得无语。</p>
  

  


  
  <blockquote class="alert-blockquote alert-note" data-collapsible="&#43;">
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <path d="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"></path><path d="m15 5 4 4"></path>
      </svg>
      
      <span>关于挣钱<br></span>
      
    </p>
    <div class="alert-content callout-content">
      <p>想起上周六的时候，和小欢欢去吃烤鱼，买的鲜榨橙汁。卖橙汁的是一对 01 年的小夫妻，他们是过来这边避暑的。短租了几个月，同时开始摆摊挣钱。成本也非常的简单，就一个收押的机器，一个小桌子，一天两三百也没有问题。<br>
然后开始想到我最近突然想起来，想去跑外卖。但是外卖的这个装备就比这个困难多了，电动车这些装备成本比较高。<br>
于是我得出一个结论，如果只是想糊口的话。只要肯出来，那么就一定饿不死。</p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-03</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-03/</link>
      <pubDate>Sun, 03 Aug 2025 20:42:59 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-03/</guid>
      <description>&lt;p&gt;今天准备回去了，昨晚峰哥那里有点热，没睡太好。&lt;/p&gt;
&lt;p&gt;起来看回盘州的车票，密密麻麻全是候补。无奈放弃回盘州的想法，改为回水城。&lt;/p&gt;
&lt;p&gt;我和小欢欢在车上吃了泡面，下车我们去吃了舂舂鸡自助火锅。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天准备回去了，昨晚峰哥那里有点热，没睡太好。</p>
<p>起来看回盘州的车票，密密麻麻全是候补。无奈放弃回盘州的想法，改为回水城。</p>
<p>我和小欢欢在车上吃了泡面，下车我们去吃了舂舂鸡自助火锅。</p>
<p>头晕晕的，太难受了。</p>
<p>妈妈他们最近那边婆媳关系不好，害，我也无能为力。每个人都做的很好，但就是相处不好。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-02</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-02/</link>
      <pubDate>Sat, 02 Aug 2025 20:42:29 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-02/</guid>
      <description>&lt;p&gt;今天要去贵阳和朋友们聚会吃饭，我们中午把昨天打包回来的鱼弄了吃了。&lt;/p&gt;
&lt;p&gt;为了省点钱开始我们选择坐火车去，提前买了蜜雪冰城。一路坐过去还挺舒服的。&lt;/p&gt;
&lt;p&gt;菜还可以，但就是特别贵。酒也喝的很多，到KTV那一步已经醉了。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天要去贵阳和朋友们聚会吃饭，我们中午把昨天打包回来的鱼弄了吃了。</p>
<p>为了省点钱开始我们选择坐火车去，提前买了蜜雪冰城。一路坐过去还挺舒服的。</p>
<p>菜还可以，但就是特别贵。酒也喝的很多，到KTV那一步已经醉了。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-08-01</title>
      <link>https://jinpeng.cv/en/diary/2025/august/2025-08-01/</link>
      <pubDate>Fri, 01 Aug 2025 00:48:24 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/august/2025-08-01/</guid>
      <description>&lt;h3 id=&#34;0046-终于把手机上的git推送折腾好了&#34;&gt;00:46 终于把手机上的git推送折腾好了&lt;/h3&gt;
&lt;p&gt;使用了git sync的软件，然后手动将obsidian和主题文件夹复制过来。在obsidian git的插件上设置好了同步的认证和相关参数。昨天的日记就是由手机推送的。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0046-终于把手机上的git推送折腾好了">00:46 终于把手机上的git推送折腾好了</h3>
<p>使用了git sync的软件，然后手动将obsidian和主题文件夹复制过来。在obsidian git的插件上设置好了同步的认证和相关参数。昨天的日记就是由手机推送的。</p>
<p>非常完美，以后随时随地都可以推送了。</p>
<h3 id="0102-睡觉">01:02 睡觉</h3>
<p>把手机上同步到 GitHUB 折腾好了</p>
<h3 id="1045-洗完澡">10:45 洗完澡</h3>
<p>洗完澡，整个人开始火起来了，算是一天当中正式的起床。早上躺床上，玩了会手机，聊了些天。</p>
<h3 id="0619-肚子饿了">06:19 肚子饿了</h3>
<p>今天把老手机机型改了，然后英雄联盟手游锁帧解除了。改成小米 15 ultra 之后，明显发现手机变得流畅多了。</p>
<p>小欢欢已经在前往红果坐车了，捞点小零食吃吃，等她来再一起去吃烤鱼。</p>
<h3 id="0825-坐上公交了">08:25 坐上公交了</h3>
<p>准备去接小欢欢咯，眼睛有点难受。</p>
<p>黄土坡这边还是有点老了，没啥人，去看了几家烤鱼店好像要不看起来不好吃，要就比较贵。</p>
<p>最后我们在白鹤公园旁边找了家店，买了炸土豆，买了鲜榨果汁，买了羊肉串，然后等烤鱼好的时候我们已经吃不动了。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-31</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-31/</link>
      <pubDate>Thu, 31 Jul 2025 00:28:37 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-31/</guid>
      <description>&lt;p&gt;前天晚上看到小胖玩手机里有三张和另外一个男生的照片，这个男生我不认识，我还挺疑惑的。想着也没啥，但是晚上睡觉的时候就多想了，导致心情一直挺低落的。然后晚上就和小欢欢说了这个事情，把他也弄得挺难受。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>前天晚上看到小胖玩手机里有三张和另外一个男生的照片，这个男生我不认识，我还挺疑惑的。想着也没啥，但是晚上睡觉的时候就多想了，导致心情一直挺低落的。然后晚上就和小欢欢说了这个事情，把他也弄得挺难受。</p>
<p>今天上午学习多邻国把中级英语学习到了 75 分,然后继续完善同步错题的脚本，现在可以比较方便的，能够正常使用了。</p>
<p>早上给小欢欢点完外卖，然后我给自己点了一个炸鸡腿。我并没有吃完，中午的时候切了一些，再加上一些包菜，然后做成了一个烤肉拌饭的样子，还挺好吃的。</p>
<p>中午准备睡觉，很困，但是没有睡着，于是起来继续完善优化脚本。打了两把游戏，玩着手机，不知不觉就到下午了。煮了一碗面吃，然后开始学习多邻国。</p>
<p>晚上叫朋友们一起打了三把英雄联盟手游，和朋友一起玩，还挺好玩的。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-30</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-30/</link>
      <pubDate>Wed, 30 Jul 2025 15:07:35 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-30/</guid>
      <description>&lt;h3 id=&#34;1505-睡醒午觉&#34;&gt;15:05 睡醒午觉&lt;/h3&gt;
&lt;p&gt;睡觉是心灵充电的方式，人与机械的差别就在于此。&lt;/p&gt;
&lt;p&gt;刚刚睡醒午觉，太舒服了。早上洗了澡，学习多邻国，慢慢悠悠的捡豆，准备午饭，然后中午打了一把游戏。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1505-睡醒午觉">15:05 睡醒午觉</h3>
<p>睡觉是心灵充电的方式，人与机械的差别就在于此。</p>
<p>刚刚睡醒午觉，太舒服了。早上洗了澡，学习多邻国，慢慢悠悠的捡豆，准备午饭，然后中午打了一把游戏。</p>
<h3 id="1728-玩了一下午的手机">17:28 玩了一下午的手机</h3>
<p>打了一个小时，刷了一个小时的视频，一个下午就这样荒废了。很想把王者荣耀卸载了，觉得没有什么意思，但是真的想着没意思的话，那我不玩就好了。</p>
<h3 id="2333-写了一个脚本">23:33 写了一个脚本</h3>
<p>折腾了一下午，加一个晚上</p>
<p>写了一个脚本，用于将多邻国上填写错误的题目直接导出到anki中。本来还想适配其他题目的，但是想着其他题目比较简单，也没有必要，而且适配比较复杂，就这样吧。</p>
<p>对了，今天凌晨的时候打游戏到两点半。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-29</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-29/</link>
      <pubDate>Tue, 29 Jul 2025 10:55:38 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-29/</guid>
      <description>&lt;h3 id=&#34;1055-反思&#34;&gt;10:55 反思&lt;/h3&gt;
&lt;p&gt;自从开始慢慢的接触抖音后，对其他事情很难提起兴趣。有有一点点碎片化的时间，就不自觉的打开抖音开始将这碎片化的时间填满。&lt;/p&gt;
&lt;h3 id=&#34;1100-通过快捷方式快速记录当下&#34;&gt;11:00 通过快捷方式快速记录当下&lt;/h3&gt;
&lt;p&gt;通过URL实现了快速访问obsidian和quickadd的功能，实现了快速记录当下的功能&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1055-反思">10:55 反思</h3>
<p>自从开始慢慢的接触抖音后，对其他事情很难提起兴趣。有有一点点碎片化的时间，就不自觉的打开抖音开始将这碎片化的时间填满。</p>
<h3 id="1100-通过快捷方式快速记录当下">11:00 通过快捷方式快速记录当下</h3>
<p>通过URL实现了快速访问obsidian和quickadd的功能，实现了快速记录当下的功能</p>
<h3 id="1538-打了三把王者荣耀">15:38 打了三把王者荣耀</h3>
<p>现在才大概明白一局游戏赢的关键，那就是认清自己的定位，做好自己角色所能做的事情。</p>
<p>着眼于全局而不是屏幕当前的视野，用动态和换位的思想来预判分析，只要队友不是特别离谱，那大概率能成功。</p>
<h3 id="2349-上床">23:49 上床</h3>
<p>在多邻国上学习了一会儿英语，又打了几把游戏。小欢欢他们领导在下班时间召集他们开会，开到很晚才回来，真的是太无语了。</p>
<p>小欢欢还把她的安卓手机弄丢了。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-28</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-28/</link>
      <pubDate>Mon, 28 Jul 2025 23:54:06 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-28/</guid>
      <description>&lt;p&gt;今天打游戏打到凌晨五点钟，终于上了王者，赶紧截图把游戏卸载了。&lt;/p&gt;
&lt;p&gt;然后白天就是开始补觉，熬夜还是非常的伤人，脸上长了好大一个痘痘。&lt;/p&gt;
&lt;p&gt;不过第一次感受到团队游戏的魅力，凌晨的游戏玩家都是具有较高技术水平和职业素养的。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天打游戏打到凌晨五点钟，终于上了王者，赶紧截图把游戏卸载了。</p>
<p>然后白天就是开始补觉，熬夜还是非常的伤人，脸上长了好大一个痘痘。</p>
<p>不过第一次感受到团队游戏的魅力，凌晨的游戏玩家都是具有较高技术水平和职业素养的。</p>
<p>空闲时间学习了下多邻国。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-27</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-27/</link>
      <pubDate>Sun, 27 Jul 2025 23:54:16 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-27/</guid>
      <description>&lt;p&gt;今天我们去的比较早，因为我们想着早一点去菜市场看看有没有卖菌子的，买一些回来自己弄了吃。&lt;/p&gt;
&lt;p&gt;现在妈妈可能也要去买菜，于是打电话问她要不要一起去，结果她说她已经到了。我们起床洗漱，然后就出门了，去菜市场买了好多东西，但是没有看到有卖菌子的。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天我们去的比较早，因为我们想着早一点去菜市场看看有没有卖菌子的，买一些回来自己弄了吃。</p>
<p>现在妈妈可能也要去买菜，于是打电话问她要不要一起去，结果她说她已经到了。我们起床洗漱，然后就出门了，去菜市场买了好多东西，但是没有看到有卖菌子的。</p>
<p>中午回来欢欢炒了空心菜，然后我们煮了小瓜，还有昨天没吃完的鱼，继续炖了个汤，美好的午餐就完成了。</p>
<p>吃完午餐照例休息会儿就开始睡午觉，下午小欢欢就要走了，难过。</p>
<p>然后开始打游戏，证明自己，准备像飞哥一样把王者荣耀卸载了。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-26</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-26/</link>
      <pubDate>Sat, 26 Jul 2025 23:54:20 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-26/</guid>
      <description>&lt;p&gt;今天睡了个懒觉，已经记不得中午吃了什么了。哦，对了，想起来了，中午我们去外面吃了两碗，猪蹄粉还加了一个猪蹄，还挺好吃的。&lt;/p&gt;
&lt;p&gt;然后我们就开始去买菜，准备晚饭。欢欢说的想吃鱼了，我也有点想吃鱼，然后我们就去后面的菜市场去买了鱼。本来想买黑鱼的，但是没有卖的这一家。然后我们就买了草鱼，最小的草鱼都有 3 斤 6 两，13块钱 1 斤。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天睡了个懒觉，已经记不得中午吃了什么了。哦，对了，想起来了，中午我们去外面吃了两碗，猪蹄粉还加了一个猪蹄，还挺好吃的。</p>
<p>然后我们就开始去买菜，准备晚饭。欢欢说的想吃鱼了，我也有点想吃鱼，然后我们就去后面的菜市场去买了鱼。本来想买黑鱼的，但是没有卖的这一家。然后我们就买了草鱼，最小的草鱼都有 3 斤 6 两，13块钱 1 斤。</p>
<p>我们尝试把鱼刺剔除，我们把鱼分成了两份，一份用来煮酸菜鱼，另外一份用来炸。都非常的好吃，就是油炸的那份有点过于油腻了。</p>
<p>吃饭的时候我突然想起，我们两个基本上已经掌握了生活的基本技能，至少以后不会饿肚子了。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-25</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-25/</link>
      <pubDate>Fri, 25 Jul 2025 21:06:51 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-25/</guid>
      <description>&lt;p&gt;用语音来记录博客，真的是一件特别方便的事情。一分钟不到就可以记录完一天。&lt;/p&gt;
&lt;p&gt;昨天凌晨和小欢欢说晚安之后，又叫飞哥打游戏，打到两点钟。今天早上起床之后又叫飞哥打游戏，下午又继续打，相当于打了一整天的游戏。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>用语音来记录博客，真的是一件特别方便的事情。一分钟不到就可以记录完一天。</p>
<p>昨天凌晨和小欢欢说晚安之后，又叫飞哥打游戏，打到两点钟。今天早上起床之后又叫飞哥打游戏，下午又继续打，相当于打了一整天的游戏。</p>
<p>下午小欢欢下班比较累，打电话过来，我刚刚开始了一局游戏。我想静静的听他诉说完这些事情，没想到王者荣耀的惩罚机制现在太过于变态了。挂机了几分钟就直接把我踢出游戏，并且判定为失败。</p>
<p>无所谓了，游戏而已。</p>
<p>小欢欢说想吃素瓜豆，我赶忙去菜市场买了新鲜的小瓜和金豆。煮好了之后赶紧坐上公交车来到龙城广场来接她。我们都想珍惜好每一分钟可以相聚的时间，太难得了。</p>
<p>见到小欢欢以后，我们走到人民广场的时候，突然想看到对面的炸鸡，想吃一份，然后我们就去买了，就坐在路边吃，炸的一份脆皮藕特别好吃，其他的一般。</p>
<p>吃的时候内心突然涌出一股特别幸福的感觉，平平淡淡的，又特别难得。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-24</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-24/</link>
      <pubDate>Thu, 24 Jul 2025 21:04:33 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-24/</guid>
      <description>&lt;p&gt;今天也是打游戏的一天，什么都不想干，静不下心来，也不想看书，学习，或者是做一些其他的事情。&lt;/p&gt;
&lt;p&gt;关键是游戏也一直输，似乎人和人的差距，只有在打游戏的时候才是比较公平的，能够体现出来。因为抛开了外部环境的一些固有阶级所带来的其他东西。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天也是打游戏的一天，什么都不想干，静不下心来，也不想看书，学习，或者是做一些其他的事情。</p>
<p>关键是游戏也一直输，似乎人和人的差距，只有在打游戏的时候才是比较公平的，能够体现出来。因为抛开了外部环境的一些固有阶级所带来的其他东西。</p>
<p>人的平凡就如同游戏，输输赢赢。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-23</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-23/</link>
      <pubDate>Wed, 23 Jul 2025 21:02:03 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-23/</guid>
      <description>&lt;p&gt;最近总是懒得去记录。因为似乎生活没有什么可以值得记录的。每天都是呆在出租屋，和飞哥一起打游戏。&lt;/p&gt;
&lt;p&gt;签证的结果也一直没有出来，焦虑不安，需要置办的东西和那边的房子也没有租，也没有寻找伙伴，也没有给老师汇报。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>最近总是懒得去记录。因为似乎生活没有什么可以值得记录的。每天都是呆在出租屋，和飞哥一起打游戏。</p>
<p>签证的结果也一直没有出来，焦虑不安，需要置办的东西和那边的房子也没有租，也没有寻找伙伴，也没有给老师汇报。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-22</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-22/</link>
      <pubDate>Tue, 22 Jul 2025 11:49:35 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-22/</guid>
      <description>&lt;p&gt;今天初步在网上找了一些加拿大的住宿信息，还都是挺贵的。其他基本都没有做些什么事情，浑浑噩噩的躺着刷视频。&lt;/p&gt;
&lt;p&gt;下午和飞哥打了会儿游戏，一整天都吃的炸粑粑，有点上火了。下午去外卖买了些黄瓜和小瓜，还去超市买了些零碎吃的。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天初步在网上找了一些加拿大的住宿信息，还都是挺贵的。其他基本都没有做些什么事情，浑浑噩噩的躺着刷视频。</p>
<p>下午和飞哥打了会儿游戏，一整天都吃的炸粑粑，有点上火了。下午去外卖买了些黄瓜和小瓜，还去超市买了些零碎吃的。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-21</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-21/</link>
      <pubDate>Mon, 21 Jul 2025 20:54:41 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-21/</guid>
      <description>&lt;p&gt;今天早上睡了懒觉，中午才起床煮饭吃，浑浑噩噩过了一天。&lt;/p&gt;
&lt;p&gt;给爸爸买了风扇，学习量房画图，修改找到的模板给欢欢画了平面布置图。&lt;/p&gt;
&lt;p&gt;对了，单位一直在催护照这个事情，很无奈，但是签证没办好就肯定还不了。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天早上睡了懒觉，中午才起床煮饭吃，浑浑噩噩过了一天。</p>
<p>给爸爸买了风扇，学习量房画图，修改找到的模板给欢欢画了平面布置图。</p>
<p>对了，单位一直在催护照这个事情，很无奈，但是签证没办好就肯定还不了。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-20</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-20/</link>
      <pubDate>Sun, 20 Jul 2025 20:55:19 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-20/</guid>
      <description>&lt;p&gt;人生总是聚少离多，今天就该返程了。&lt;/p&gt;
&lt;p&gt;简单吃了些晌午，我们便开始纷纷离开家。曼曼宁宁还是照例拥抱了我们，亲吻了我们的脸颊。&lt;/p&gt;
&lt;p&gt;先是送爸爸前往煤矿，我们直接送他到了他居住的钢蓬小屋，简单呆了几分钟，我们就返回抓紧赶路了。每个人心里都五味杂陈。爸爸很不舍，妈妈和欢欢内心有了一些新的其他的想法。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>人生总是聚少离多，今天就该返程了。</p>
<p>简单吃了些晌午，我们便开始纷纷离开家。曼曼宁宁还是照例拥抱了我们，亲吻了我们的脸颊。</p>
<p>先是送爸爸前往煤矿，我们直接送他到了他居住的钢蓬小屋，简单呆了几分钟，我们就返回抓紧赶路了。每个人心里都五味杂陈。爸爸很不舍，妈妈和欢欢内心有了一些新的其他的想法。</p>
<p>又经过一个半小时的车程，到了干沟桥。欢欢的爸爸在家，简单的寒暄了几句。拿上直接给爷爷买的助听器，准备前往二叔家，试试这个助听器能不能用。结果是完全不能用。</p>
<p>在二叔家炸了点糯米粑粑吃，我们就回来了。欢欢妈妈也回来了，坚持要留我们吃饭。欢欢爸爸去外面餐馆端了条鱼回来。很快吃完饭后我们便马上启程赶回水城了。</p>
<p>因为高速路还没有修好，硬是跑了三个多小时才到水城。妈妈陪我一起去停了车。回家躺下给小欢欢打视频，累的不行，灯都来不及关闭就睡着了。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-19</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-19/</link>
      <pubDate>Sat, 19 Jul 2025 20:55:42 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-19/</guid>
      <description>&lt;p&gt;飞哥早早的就起床了，五点睡，七点起床。赶车返回厦门。主要是想着在这里会影响我和欢欢的相处，其实并不会。&lt;/p&gt;
&lt;p&gt;小欢欢和我睡了懒觉，起来把剩饭热了热吃。家里监控一直提示检测到运动轨迹，点开一看是家里人。突然想回家了，欢欢说那就回家。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>飞哥早早的就起床了，五点睡，七点起床。赶车返回厦门。主要是想着在这里会影响我和欢欢的相处，其实并不会。</p>
<p>小欢欢和我睡了懒觉，起来把剩饭热了热吃。家里监控一直提示检测到运动轨迹，点开一看是家里人。突然想回家了，欢欢说那就回家。</p>
<p>开始想着租一个车，虽然不贵，但是加上杂七杂八的保险过路费油费还是很贵。于是突然想到哥哥的车目前是闲置的，应该可以借来。</p>
<p>简单收拾好东西，欢欢把脏的碗筷洗了。我们找哥哥拿到了钥匙，开始了即刻的返程。</p>
<p>经过快三个小时的驾驶，我们终于回到了家中。和小孩玩了玩，妈妈做好了晚饭，我们出去散了散步。</p>
<p>回到家中睡了一个香甜的觉。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-18</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-18/</link>
      <pubDate>Fri, 18 Jul 2025 20:55:49 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-18/</guid>
      <description>&lt;p&gt;昨天睡得比较晚，飞哥喝得有些伤了，吐了两回。今天属于是半死不活了，早上带他去吃了酸汤和羊肉粉。&lt;/p&gt;
&lt;p&gt;下午姚律打电话过来说一起吃饭，我们一起去吃了清水烫。八点过骑车去接小欢欢。这家清水烫同样非常的好吃，只是有点点贵。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>昨天睡得比较晚，飞哥喝得有些伤了，吐了两回。今天属于是半死不活了，早上带他去吃了酸汤和羊肉粉。</p>
<p>下午姚律打电话过来说一起吃饭，我们一起去吃了清水烫。八点过骑车去接小欢欢。这家清水烫同样非常的好吃，只是有点点贵。</p>
<p>而后叫小欢欢先回家，我们又喝酒喝到四点过。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-17</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-17/</link>
      <pubDate>Thu, 17 Jul 2025 20:56:02 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-17/</guid>
      <description>&lt;p&gt;今天睡了懒觉，上午和飞哥打游戏。&lt;/p&gt;
&lt;p&gt;想着飞哥第一次来水城，叫小胖和姚律一起吃个饭。在外面吃饭太贵了，而且不太好好吃。就叫他们到出租屋里面来。&lt;/p&gt;
&lt;p&gt;下午和飞哥去买了虾子和花甲，煮了米饭，早上妈妈给买了些排骨。地方实在是太狭小了，吃饭中途在酒小二上面点了两瓶酒，一直喝到半夜才结束。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天睡了懒觉，上午和飞哥打游戏。</p>
<p>想着飞哥第一次来水城，叫小胖和姚律一起吃个饭。在外面吃饭太贵了，而且不太好好吃。就叫他们到出租屋里面来。</p>
<p>下午和飞哥去买了虾子和花甲，煮了米饭，早上妈妈给买了些排骨。地方实在是太狭小了，吃饭中途在酒小二上面点了两瓶酒，一直喝到半夜才结束。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-16</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-16/</link>
      <pubDate>Wed, 16 Jul 2025 22:39:01 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-16/</guid>
      <description>&lt;p&gt;重庆实在是太热了，好在今天我们就要逃离重庆了。&lt;/p&gt;
&lt;p&gt;本来想在贵阳呆的，但是想着住酒店还挺花钱，租车出去玩睡在车里面又比较寒酸，所以最好还是补票回六盘水了。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>重庆实在是太热了，好在今天我们就要逃离重庆了。</p>
<p>本来想在贵阳呆的，但是想着住酒店还挺花钱，租车出去玩睡在车里面又比较寒酸，所以最好还是补票回六盘水了。</p>
<p>六盘水的气候是真的舒服，可以肆意在外面散步。晚上我们去外面菜市场炒了辣子鸡，飞哥付的 90 元钱，另外还煮了两个小瓜，太舒服了。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-15</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-15/</link>
      <pubDate>Tue, 15 Jul 2025 22:49:29 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-15/</guid>
      <description>&lt;p&gt;重庆实在太热了，我和飞哥直接在酒店躺到两点退房。&lt;/p&gt;
&lt;p&gt;飞哥带我去吃了豆花饭，吃完后我们到了新的住处，又开始躺下了。&lt;/p&gt;
&lt;p&gt;晚上出去吃了烤鱼，非常的撑。飞哥还想在外面逛逛，我热的实在逛不动。打游戏到两点钟。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>重庆实在太热了，我和飞哥直接在酒店躺到两点退房。</p>
<p>飞哥带我去吃了豆花饭，吃完后我们到了新的住处，又开始躺下了。</p>
<p>晚上出去吃了烤鱼，非常的撑。飞哥还想在外面逛逛，我热的实在逛不动。打游戏到两点钟。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-14</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-14/</link>
      <pubDate>Mon, 14 Jul 2025 22:53:45 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-14/</guid>
      <description>&lt;p&gt;凌晨三点在小红书上加了微信，然后顺利帮我预约上了今天的体检。&lt;/p&gt;
&lt;p&gt;坐了一夜的火车，上午八点半终于到了重庆。&lt;/p&gt;
&lt;p&gt;一下地铁就给我们热坏了，大汗直流。顺着导航找到了慈奥体检中心，一个小时不到便完成了体检。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>凌晨三点在小红书上加了微信，然后顺利帮我预约上了今天的体检。</p>
<p>坐了一夜的火车，上午八点半终于到了重庆。</p>
<p>一下地铁就给我们热坏了，大汗直流。顺着导航找到了慈奥体检中心，一个小时不到便完成了体检。</p>
<p>我们开始寻找吃的，去吃了一家非常热门的豌杂面。还挺好吃的，吃完我们定了一个酒店，就开始去酒店吹空调了。晚上直接去酒店楼下吃了江二娃串串，味道还可以，但是不太卫生。客人上桌没吃完的菜，他们用水洗洗直接放到菜架上了。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-13</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-13/</link>
      <pubDate>Sun, 13 Jul 2025 22:55:59 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-13/</guid>
      <description>&lt;p&gt;昨天晚上玩的比较晚，今天上午十点才起。&lt;/p&gt;
&lt;p&gt;简单洗漱后，我们决定去吃文山米线，还是一样的好吃。吃完回到芳芳家，开始准备玩游戏，芳芳大黄去买了好多水果。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>昨天晚上玩的比较晚，今天上午十点才起。</p>
<p>简单洗漱后，我们决定去吃文山米线，还是一样的好吃。吃完回到芳芳家，开始准备玩游戏，芳芳大黄去买了好多水果。</p>
<p>然后我们开始玩阿瓦隆，比狼人杀好玩很多。欢欢定了比较早的票，打了个车直接前往昆明南。我和飞哥则晚一些，因为我们要去重庆。</p>
<p>太贪心了，多玩了一把，导致我们没有赶上火车。于是我们改签了，改签到一个小时后的火车。</p>
<p>到重庆刚好早上。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-12</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-12/</link>
      <pubDate>Sat, 12 Jul 2025 22:56:37 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-12/</guid>
      <description>&lt;p&gt;昨天没有去成昆明，早上醒来后我们买了昆明的票，中午便到了昆明，见到了朋友们。&lt;/p&gt;
&lt;p&gt;好久没有打篮球，和他们一起去打了篮球，明显发现自己的身体跟不上剧烈的运动了。晚上去吃宣威菜，特别的好吃，吃了好多。吃完后一起骑车回民宿，很快乐的感觉。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>昨天没有去成昆明，早上醒来后我们买了昆明的票，中午便到了昆明，见到了朋友们。</p>
<p>好久没有打篮球，和他们一起去打了篮球，明显发现自己的身体跟不上剧烈的运动了。晚上去吃宣威菜，特别的好吃，吃了好多。吃完后一起骑车回民宿，很快乐的感觉。</p>
<p>大黄买了码字，少见的赢了 15 块钱。而后就开始喝酒了，喝到快四点钟，实在太困了，睡了。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-11</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-11/</link>
      <pubDate>Fri, 11 Jul 2025 22:56:53 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-11/</guid>
      <description>&lt;p&gt;早上飞哥煮了面条分我吃，简单洗漱之后。我和飞哥准备出发了，飞哥想去看看凤仙，但是自己并不好意思去，所以叫我陪他一起。&lt;/p&gt;
&lt;p&gt;提前和凤仙打了招呼，凤仙给我们点了陪护餐。到干沟桥，我们去拿了之前买的激光测距仪，准备完事之后去帮小欢欢量一下房子。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>早上飞哥煮了面条分我吃，简单洗漱之后。我和飞哥准备出发了，飞哥想去看看凤仙，但是自己并不好意思去，所以叫我陪他一起。</p>
<p>提前和凤仙打了招呼，凤仙给我们点了陪护餐。到干沟桥，我们去拿了之前买的激光测距仪，准备完事之后去帮小欢欢量一下房子。</p>
<p>飞哥买了很多水果。凤仙见到我们非常的开心，我们也是，宝宝在另外一个房间我们并没有看到。</p>
<p>月子中心的一个副店长小菊，人非常好。我们想着这是一个不可多得的机会，让飞哥脱单的机会。于是各种机会都让给飞哥表现，但是飞哥心里别扭，一直没有进一步发展。</p>
<p>看完凤仙后，我拉着飞哥陪我去量小欢欢的房子。粗略量了一下，飞哥便着急去赶昆明的高铁了。</p>
<p>而我在去吃了一碗酸汤鱼粉，然后找了个地方打游戏，等着小欢欢从南昌回来。我们见面已经快九点钟了，然后去单位加班。电脑还没有打开，小欢欢看我特别想去昆明。便说走！立马打了个车，等快到高铁站的时候，发现最后一班车已经不能够买票了，我们悻悻然只能叫师傅再送我们回来。</p>
<p>然后看顺风车，发现现在的顺风车并不是顺风车，都是专职的司机。要加钱，承担各种高速过路费等等，实在太贵作罢。</p>
<p>然后我们一起加班到两点过，小欢欢的这些工作是在是没有多少意义，单纯折腾人而已。很多工作都能够在系统设计层面予以解决，却要折磨最基层的人。</p>
<p>——补录于 2025 年 8 月 19 日</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-10</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-10/</link>
      <pubDate>Thu, 10 Jul 2025 22:57:09 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-10/</guid>
      <description>&lt;p&gt;昨天晚上姐姐打视频过来，说她明天要去产检，问我和欢欢在不在红果，曼曼宁宁要来找我们玩。另外我还注意到她很想有个人能够陪她，毕竟自己一个人还带着两个小孩多少有些麻烦和应付不过来。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>昨天晚上姐姐打视频过来，说她明天要去产检，问我和欢欢在不在红果，曼曼宁宁要来找我们玩。另外我还注意到她很想有个人能够陪她，毕竟自己一个人还带着两个小孩多少有些麻烦和应付不过来。</p>
<p>早上八点出门，因为水城到盘州的路仍然处于封闭状态，在车上等了一会儿，漫长的路途到盘州已经十二点过。他们已经产检完了，我路边买 5 块钱的手抓饼带过去分他们吃。</p>
<p>然后带他们去奥园广场吃肯德基，不知怎么的，今天的肯德基格外难吃。甚至都没有鸡翅和鸡腿这些，点了一些鸡块，两个小龙虾塔可，还有其他一些小食。避雷了，还是德克士的手枪腿好吃。</p>
<p>姐姐一直没有去过水城找妈妈他们，昨天和妈妈说过，于是吃完肯德基我就送姐姐他们去水城了。（就因为这件事后来成为了妈妈和大嫂之间的一小点矛盾，害）</p>
<p>然后刚好得知飞哥回来，他叫我去他家玩。坐上了公交，在城门洞买了两件水，他和他哥哥来接我。飞哥带我逛了逛他家门口的玉带河公园，蚊子实在是多。我有些不大喜欢逛公园，我比较喜欢和自然有交互的活动，单单漫步在自然中我觉得并没有啥交互。</p>
<p>飞哥一家非常的干净整洁，飞哥的性格受家庭影响非常大。他们一家都非常和蔼，但有些不善言谈，不过这正是我由 i 变 e 的场合。</p>
<p>——补充于 2025 年 8 月 19 日</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-07-09</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-09/</link>
      <pubDate>Wed, 09 Jul 2025 22:28:31 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-09/</guid>
      <description>&lt;p&gt;浑浑噩噩，去哥哥家吃饭。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;中午吃了豆米盖饭，下午去哥哥家，晚上和妈妈一起逛街。小欢欢在南昌玩，她借了个充电宝，一直找不到怎么还。她一直在焦虑，而我却有点厌烦。我总觉得看看充电宝上面的字就能知道该还哪儿了。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>浑浑噩噩，去哥哥家吃饭。</p>
<hr>
<p>中午吃了豆米盖饭，下午去哥哥家，晚上和妈妈一起逛街。小欢欢在南昌玩，她借了个充电宝，一直找不到怎么还。她一直在焦虑，而我却有点厌烦。我总觉得看看充电宝上面的字就能知道该还哪儿了。</p>
<p>因为这个事情我们还说到很晚。</p>
<p>——2025 年 8 月 19 补记录（我总觉得我记录了，今天整理才发现并没有）</p>
]]></content:encoded>
    </item>
    <item>
      <title>July 8, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-08/</link>
      <pubDate>Tue, 08 Jul 2025 01:17:08 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-08/</guid>
      <description>&lt;h3 id=&#34;0914-trying-to-write-a-blog-using-voice-input&#34;&gt;09:14 Trying to Write a Blog Using Voice Input&lt;/h3&gt;
&lt;p&gt;By leveraging voice-to-text technology, we can speed up the process of writing blogs. Additionally, using voice input to document our lives can also train our brains, making our thinking more logical and enabling us to express ourselves freely. Moving forward, I’ll strive to use voice input daily to record my life.&lt;/p&gt;
&lt;p&gt;Domestic software’s Chinese voice recognition technology is indeed much better than foreign alternatives, especially apps like Sogou Input, Baidu Input, and iFlytek Input. This very paragraph was created using Sogou Input’s voice-to-text feature. I’ll try to maintain this method for documenting life in the future, while also reducing pauses in my thinking and improving the fluency of my thoughts.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0914-trying-to-write-a-blog-using-voice-input">09:14 Trying to Write a Blog Using Voice Input</h3>
<p>By leveraging voice-to-text technology, we can speed up the process of writing blogs. Additionally, using voice input to document our lives can also train our brains, making our thinking more logical and enabling us to express ourselves freely. Moving forward, I’ll strive to use voice input daily to record my life.</p>
<p>Domestic software’s Chinese voice recognition technology is indeed much better than foreign alternatives, especially apps like Sogou Input, Baidu Input, and iFlytek Input. This very paragraph was created using Sogou Input’s voice-to-text feature. I’ll try to maintain this method for documenting life in the future, while also reducing pauses in my thinking and improving the fluency of my thoughts.</p>
<hr>
<h3 id="1551-modern-systems-keep-getting-worse-with-updates">15:51 Modern Systems Keep Getting Worse with Updates</h3>
<p>Today, I spent a long time trying to figure out how to quickly switch input methods via the notification panel. This feature has always existed in previous systems, but after upgrading to HyperOS 2, it disappeared. As a result, switching between input methods—especially third-party ones like WeChat Input—has become extremely cumbersome. Even with full-screen optimization enabled and setting a shortcut key for quick input method switching, it still won’t switch to third-party input methods. It’s incredibly frustrating, and after a lot of effort, I still couldn’t find a solution.</p>
<hr>
<h3 id="1646-temporarily-solved-the-input-method-switching-issue">16:46 Temporarily Solved the Input Method Switching Issue</h3>
<p>I downloaded a &ldquo;Keyboard Switch&rdquo; app and pinned it as a tile in the control center, which now allows for relatively convenient input method switching.</p>
<p>Additionally, voice input seems more convenient with Baidu Input because its voice recognition interface supports commands like &ldquo;delete&rdquo; or &ldquo;enter.&rdquo; It also has a long-text input capability, but to train my thought fluency, I turned it off and didn’t enable long-text input.</p>
<p>Another concern is privacy with domestic input methods. It’s quite significant—especially when you type certain keywords, and it recommends stickers or other apps. Everything we input is collected by these apps. So, I’d rather trust foreign input methods like Google’s and avoid entering sensitive data with domestic ones.</p>
<p>It’s also necessary to enable MIUI’s secure keyboard, especially when entering passwords or usernames.</p>
<hr>
<h3 id="2216-went-for-a-walk-with-mom-and-just-got-back">22:16 Went for a Walk with Mom and Just Got Back</h3>
<p>I unintentionally fell asleep on the bed and woke up feeling groggy, with a very full stomach, so I thought I’d go out for a walk. Just as I stepped out of the community, Mom called and asked if I wanted to join her for a walk. I agreed and went to meet her.</p>
<p>Along the way, I taught her how to shop smarter. She wanted to buy a spray cleaner for the range hood, but I told her it might be cheaper online. To give her firsthand experience, I took her to a physical store to buy it while also checking the price online. Unsurprisingly, the online price was 5 yuan cheaper—and this was just for a 20-yuan item.</p>
<p>I also set up a &ldquo;Family Card&rdquo; for her, which gives her a monthly allowance of 300 yuan deducted directly from my Alipay account. Learning to shop online can really save money.</p>
<p>Additionally, I canceled her mobile plan’s 5-yuan &ldquo;membership&rdquo; and 2-yuan &ldquo;Local Friends Network&rdquo; fees—unaware that she had been paying for them for so many months.</p>
]]></content:encoded>
    </item>
    <item>
      <title>July 7, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-07/</link>
      <pubDate>Mon, 07 Jul 2025 15:14:53 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-07/</guid>
      <description>&lt;p&gt;The continuous rainy weather has finally stopped, and the scorching heat has arrived. It&amp;rsquo;s so hot that I don&amp;rsquo;t feel like going out at all, so I simply stayed in my rented apartment, waiting for the sun to set before heading out to buy some groceries.&lt;/p&gt;
&lt;p&gt;The morning passed by without accomplishing much. In the afternoon, I thought about brushing up on my English, so I downloaded Duolingo again. To my surprise, Duolingo now offers courses in music and math, which I found quite interesting.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The continuous rainy weather has finally stopped, and the scorching heat has arrived. It&rsquo;s so hot that I don&rsquo;t feel like going out at all, so I simply stayed in my rented apartment, waiting for the sun to set before heading out to buy some groceries.</p>
<p>The morning passed by without accomplishing much. In the afternoon, I thought about brushing up on my English, so I downloaded Duolingo again. To my surprise, Duolingo now offers courses in music and math, which I found quite interesting.</p>
<p>In the evening, I went out and bought three pounds of eggs and a little over a pound of ground meat. After returning home, I stir-fried the ground meat with shiitake mushrooms to enjoy slowly later. Eggs are about the same price as some vegetables, making them the most cost-effective source of protein for people with lower incomes.</p>
]]></content:encoded>
    </item>
    <item>
      <title>July 6, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-06/</link>
      <pubDate>Sun, 06 Jul 2025 13:42:25 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-06/</guid>
      <description>&lt;p&gt;Waking up in the morning, I found an unidentified pile of poop on the toilet seat. At first, I suspected it was Huanhuan’s grandpa, but then I learned he had gone outside to use the restroom. So I told Huanhuan I suspected it was her dad, only for her to confess that she had gotten up to use the toilet earlier. While doing her business, she had shifted her butt to the floor to wipe, unknowingly leaving some on the mat. Huanhuan’s grandpa must have noticed but didn’t know how to handle it, so he decided to go outside instead.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Waking up in the morning, I found an unidentified pile of poop on the toilet seat. At first, I suspected it was Huanhuan’s grandpa, but then I learned he had gone outside to use the restroom. So I told Huanhuan I suspected it was her dad, only for her to confess that she had gotten up to use the toilet earlier. While doing her business, she had shifted her butt to the floor to wipe, unknowingly leaving some on the mat. Huanhuan’s grandpa must have noticed but didn’t know how to handle it, so he decided to go outside instead.</p>
<p>Haha, now I’ve got dirt on her—and I even cleaned it up for her.</p>
<p>After eating the tomato and egg noodles Huanhuan’s dad made, I got ready to head back to Shuicheng, while Huanhuan had to go to work. We chatted for twenty minutes at the bus stop, and it was really fun. She waited until I got on the bus before leaving for her shift.</p>
<p>Once in Shuicheng, I went to see my favorite Tony for a shampoo and haircut—he even gave me a facial. I felt completely refreshed afterward. Then I picked up my bank card, went home, showered, and headed to Bank of China to activate it.</p>
<p>I stopped by the supermarket to buy some rice noodles but forgot to grab eggs.</p>
<p>Back home, I washed my dirty clothes and lazily lounged in bed scrolling through my phone.</p>
]]></content:encoded>
    </item>
    <item>
      <title>July 5, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-05/</link>
      <pubDate>Sat, 05 Jul 2025 13:42:10 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-05/</guid>
      <description>&lt;p&gt;Because we stayed out late yesterday, I slept in this morning.&lt;/p&gt;
&lt;p&gt;By the time I got up and got ready, it was almost 11 o&amp;rsquo;clock. Big Huang fried some eggs for us, and I ate a big, hearty bowl. Fully prepared, we headed to IKEA—this was my first time visiting IKEA with Little Huanhuan. We ended up with quite a haul; a cozy room doesn’t actually need to be all that complicated or troublesome.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Because we stayed out late yesterday, I slept in this morning.</p>
<p>By the time I got up and got ready, it was almost 11 o&rsquo;clock. Big Huang fried some eggs for us, and I ate a big, hearty bowl. Fully prepared, we headed to IKEA—this was my first time visiting IKEA with Little Huanhuan. We ended up with quite a haul; a cozy room doesn’t actually need to be all that complicated or troublesome.</p>
<p>At IKEA, we even won some free mashed potatoes and ice cream in a lucky draw. Big Huang bought a hotdog, hoping to snag a free tiramisu cake, but unfortunately, that didn’t work out.</p>
<p>After IKEA, Fangfang and Big Huang took us for a massage. The massage place had a nice ambiance, but honestly, I didn’t feel much difference afterward. Then, we took a taxi to meet Lao Sao for some mushroom dishes. Each type of mushroom was quite expensive, but they didn’t taste particularly great—nowhere near as delicious as I remembered.</p>
<p>After dinner, we went to Lao Sao’s rented place, sat around for a bit, and chatted. Time flew by, and we had to hurry to the subway station to catch our train to South Station. Fangfang rode her e-bike to guide us—it was really touching.</p>
<p>Even on the subway, Huanhuan and I couldn’t stop marveling at how lucky I was to have such amazing friends.</p>
<p>By the time we got back to Huanhuan’s place, it was already 10:30 p.m., and her grandpa was there too. After a brief chat, we washed up and went to bed. Maybe because we were exhausted, I slept more soundly than usual.</p>
]]></content:encoded>
    </item>
    <item>
      <title>July 4, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-04/</link>
      <pubDate>Fri, 04 Jul 2025 13:41:54 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-04/</guid>
      <description>&lt;p&gt;Today, Huanhuan took annual leave to come to Kunming for a follow-up check-up. I rode a shared e-scooter to the hospital to pick her up, timing it to arrive shortly before her train. After meeting her, we took a taxi back to our place to drop off our bags.&lt;/p&gt;
&lt;p&gt;On our way out, we noticed many unusually large carp and goldfish in the river by the entrance, so we grabbed the net we used for catching crayfish and decided to try our luck at fishing. After having rice noodles with Fangfang, we returned to the river only to find the water had suddenly turned murky, and the fish seemed to have been washed away. We walked along the riverbank and, sure enough, spotted the fish being carried along by the current not too far away.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today, Huanhuan took annual leave to come to Kunming for a follow-up check-up. I rode a shared e-scooter to the hospital to pick her up, timing it to arrive shortly before her train. After meeting her, we took a taxi back to our place to drop off our bags.</p>
<p>On our way out, we noticed many unusually large carp and goldfish in the river by the entrance, so we grabbed the net we used for catching crayfish and decided to try our luck at fishing. After having rice noodles with Fangfang, we returned to the river only to find the water had suddenly turned murky, and the fish seemed to have been washed away. We walked along the riverbank and, sure enough, spotted the fish being carried along by the current not too far away.</p>
<p>The fish struggled hard to swim upstream, resisting the force of the river. But the moment they stopped, the current would sweep them away again. In the end, no matter how hard they tried, none of them could escape the relentless flow.</p>
<p>Still, the fish were quite clever—despite our efforts, we didn’t manage to catch a single one. They darted away as soon as they saw us moving.</p>
<p>But the outing wasn’t a total loss. We ended up with a big turtle, a loach (which the turtle later ate at home), and a large snail.</p>
<p>In the afternoon, I went with Huanhuan to Yunnan Provincial Hospital of Traditional Chinese Medicine for her check-up. The doctor advised her to control her weight—haha! After the appointment, we really craved a drink from Mixue Ice Cream &amp; Tea, so we got lemonade and jasmine milk green tea. Seeing how popular the &ldquo;Green Grape Meat Delight&rdquo; was, we ordered one too, and it was a unanimous hit!</p>
<p>Then we headed to Metro and bought some hairy crabs to cook at home. Turns out the crabs tasted bitter—another lesson learned. Luckily, the fried potatoes and the crayfish tails Fangfang stir-fried from the supermarket were both delicious.</p>
<p>After Huanhuan finished washing the dishes, we started playing a house-building game and kept at it until past 1 a.m.—way more fun than Monopoly!</p>
]]></content:encoded>
    </item>
    <item>
      <title>July 3, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-03/</link>
      <pubDate>Thu, 03 Jul 2025 13:41:38 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-03/</guid>
      <description>&lt;p&gt;I woke up quite early today, rummaged through the cabinets, and simply cooked a bowl of noodles to eat.&lt;/p&gt;
&lt;p&gt;Then, I set out on foot to forage for mushrooms in the mountains. At first, I found an entrance to a wooded area, but after just a few steps, I was chased back by a pack of dogs.&lt;/p&gt;
&lt;p&gt;Undeterred, I continued searching and followed the navigation until I finally reached a pine forest, where I managed to pick a few small red mushrooms. Unfortunately, I realized I was too late—most had already been picked by others, leaving only poisonous ones or those I wasn’t sure about.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I woke up quite early today, rummaged through the cabinets, and simply cooked a bowl of noodles to eat.</p>
<p>Then, I set out on foot to forage for mushrooms in the mountains. At first, I found an entrance to a wooded area, but after just a few steps, I was chased back by a pack of dogs.</p>
<p>Undeterred, I continued searching and followed the navigation until I finally reached a pine forest, where I managed to pick a few small red mushrooms. Unfortunately, I realized I was too late—most had already been picked by others, leaving only poisonous ones or those I wasn’t sure about.</p>
<p>As I walked further, I stumbled upon a row of luxury villas, so extravagant that it felt like I’d stepped into a foreign country. It dawned on me that this mountain was essentially their private backyard. Filled with resentment toward the wealthy, I angrily threw the few small mushrooms I’d gathered, along with the plastic bag, onto the ground.</p>
<p>I kept walking for what felt like ages, only to find that every path seemed blocked by impassable gates. Eventually, I hailed a cab to the Golden Temple, but couldn’t get in from the back entrance. After wandering around for a while longer, I decided to head to the Golden Temple for a stroll.</p>
<p>The history of the Golden Temple is deeply intertwined with Wu Sangui, which only deepened my reflection on how entrenched class divisions have always been.</p>
<p>By evening, the sky suddenly darkened as if rain was imminent. I started making my way back to meet Fangfang and Dahuang for dinner. Just as I met up with Fangfang, it began to drizzle, so we hastily ducked into a roadside restaurant serving pickled mustard green and pork trotter hotpot. The food wasn’t great, but I ate a lot because I was starving. We ordered a small pot priced at 48 yuan but ended up paying 89 yuan—what a rip-off.</p>
]]></content:encoded>
    </item>
    <item>
      <title>July 2, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-02/</link>
      <pubDate>Wed, 02 Jul 2025 14:36:00 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-02/</guid>
      <description>&lt;p&gt;Got up early in the morning because I had to go for visa fingerprinting.&lt;/p&gt;
&lt;p&gt;Rode my little e-bike and arrived there by 8:30 a.m., even though my appointment was at 9:15. It seemed like arriving early wasn’t exactly appreciated, but they still let me in to queue up.&lt;/p&gt;
&lt;p&gt;Then they briefed me, checked my documents, and directed me to a counter. After verifying my details, the staff told me to wait for my number to be called and instructed me to silence my phone and knock before entering when my turn came.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Got up early in the morning because I had to go for visa fingerprinting.</p>
<p>Rode my little e-bike and arrived there by 8:30 a.m., even though my appointment was at 9:15. It seemed like arriving early wasn’t exactly appreciated, but they still let me in to queue up.</p>
<p>Then they briefed me, checked my documents, and directed me to a counter. After verifying my details, the staff told me to wait for my number to be called and instructed me to silence my phone and knock before entering when my turn came.</p>
<p>Once inside, I had to read some guidelines, move around in front of the camera, and then do the fingerprinting—which included the odd step of touching my forehead.</p>
<p>On my way back, I passed by Fangfang’s hospital and thought of inviting her for breakfast since she was about to finish her night shift. But she was still busy, so I went alone to have the incredibly delicious rice noodles I’d tried last time.</p>
<p>Got back and called Fei to play games, then took a short nap at noon. In the afternoon, I played games with Fei again, went out for a stroll with Fangfang, and had rice noodles once more.</p>
<p>On the way, we stopped by Metro and were shocked by the absurd prices—it felt like a preview of foreign price tags. We couldn’t bring ourselves to buy much. A small bunch of cilantro cost 13 yuan, which was downright terrifying.</p>
<p>On the way home in the evening, I bought two honeydew melons. My expectations weren’t high, but they turned out to be pretty good.</p>
<p>Spent the rest of the night gaming with Fei until my eyes were blurry, but I managed to help him reach King rank.</p>
]]></content:encoded>
    </item>
    <item>
      <title>July 1, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/july/2025-07-01/</link>
      <pubDate>Tue, 01 Jul 2025 14:32:31 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/july/2025-07-01/</guid>
      <description>&lt;p&gt;I did the laundry during the day and then played some games with Fei Ge.&lt;/p&gt;
&lt;p&gt;Took the bus back to Kunming to prepare for my visa application. After getting off the subway, Da Huang picked me up on his bike.&lt;/p&gt;
&lt;p&gt;Then we went to a barbecue stall and had fried rice, oysters, and small yellow croakers.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I did the laundry during the day and then played some games with Fei Ge.</p>
<p>Took the bus back to Kunming to prepare for my visa application. After getting off the subway, Da Huang picked me up on his bike.</p>
<p>Then we went to a barbecue stall and had fried rice, oysters, and small yellow croakers.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 30, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-30/</link>
      <pubDate>Mon, 30 Jun 2025 04:13:09 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-30/</guid>
      <description>&lt;h3 id=&#34;1209-a-previous-bad-habit&#34;&gt;12:09 A Previous Bad Habit&lt;/h3&gt;
&lt;p&gt;I used to have a bad habit—I loved frequently updating systems and software. However, this often led to various issues, increased read/write operations on storage hardware (shortening its lifespan), and caused system problems due to update-related bugs.&lt;/p&gt;
&lt;p&gt;Now, I’ve developed a slightly better habit: I’ve learned to coexist peacefully with update notifications. I no longer update unless absolutely necessary and no longer actively seek out new features—though I still keep an eye on the new functionalities introduced in updates.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1209-a-previous-bad-habit">12:09 A Previous Bad Habit</h3>
<p>I used to have a bad habit—I loved frequently updating systems and software. However, this often led to various issues, increased read/write operations on storage hardware (shortening its lifespan), and caused system problems due to update-related bugs.</p>
<p>Now, I’ve developed a slightly better habit: I’ve learned to coexist peacefully with update notifications. I no longer update unless absolutely necessary and no longer actively seek out new features—though I still keep an eye on the new functionalities introduced in updates.</p>
<p>For computer software, I try to manage as much as possible with Scoop, which makes system reinstallation and migration easier in the future. I added the <code>kkzzhizhou_scoop-apps</code> bucket, which slowed down the Scoop list retrieval. Ironically, this turned out to be a good thing in a way.</p>
<hr>
<h3 id="1249-overcoming-procrastination">12:49 <em>Overcoming Procrastination</em></h3>
<p>Many people procrastinate endlessly, complaining that they lack motivation. But motivation actually comes from action. As long as you start doing something—anything that moves you toward your goal—you’ll find that motivation follows naturally.</p>
<p>So, when I face a daunting task, I break it down into smaller, simpler parts. At that point, my goal isn’t to complete the entire task but just to take action and make a tiny step forward.</p>
<hr>
<h3 id="1251-a-prophecy-fulfilled">12:51 A Prophecy Fulfilled</h3>
<p>I fear that, in the future, substantive content in major media will gradually decline. Thirty-second clips will dominate, programs will cater to the lowest common denominator, and blind introductions to pseudoscience and superstition will proliferate—especially when ignorance is celebrated.</p>
<p>— Carl Sagan, renowned American science communicator. This was written in 1994.</p>
<hr>
<h3 id="1500-a-walk-in-the-rain">15:00 A Walk in the Rain</h3>
<p>I was still half-asleep from my afternoon nap when my mom called. She said she’d brought me some food and asked me to come downstairs to get it. After fetching the food and bringing it upstairs, I decided to walk her home and take a stroll along the way.</p>
<p>Mom mentioned that this time, when she left, little Ningning was especially reluctant to let her go, saying, “She’s Grandma’s person too.” It made me feel a little sad.</p>
<hr>
<h3 id="2055-tried-arc-and-zen-browsers">20:55 Tried Arc and Zen Browsers</h3>
<p>Zen Browser is a Firefox-based fork of Arc. I quite like the design philosophies of both Arc and Zen—keeping frequently used links in different, easily accessible positions to create a more personalized browsing experience.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 29, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-29/</link>
      <pubDate>Sun, 29 Jun 2025 14:42:50 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-29/</guid>
      <description>&lt;p&gt;Another day wasted today, always looking for something to numb myself.&lt;/p&gt;
&lt;p&gt;After sending Huanhuan off at noon and returning to the rental room,&lt;/p&gt;
&lt;p&gt;I ended up playing games with Feige all afternoon, couldn&amp;rsquo;t win no matter what, but it didn’t really matter anyway.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Another day wasted today, always looking for something to numb myself.</p>
<p>After sending Huanhuan off at noon and returning to the rental room,</p>
<p>I ended up playing games with Feige all afternoon, couldn&rsquo;t win no matter what, but it didn’t really matter anyway.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 28, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-28/</link>
      <pubDate>Sat, 28 Jun 2025 14:36:27 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-28/</guid>
      <description>&lt;p&gt;This morning, I received a call about the express delivery of my ID card. I thought it hadn’t started shipping yet, but unexpectedly, it had already arrived. I quickly washed my face in a hurry and went to pick it up. Now, a new issue has come up: when applying for a credit card, the system still requires identity verification, and the CSC system still has my old ID number.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This morning, I received a call about the express delivery of my ID card. I thought it hadn’t started shipping yet, but unexpectedly, it had already arrived. I quickly washed my face in a hurry and went to pick it up. Now, a new issue has come up: when applying for a credit card, the system still requires identity verification, and the CSC system still has my old ID number.</p>
<p>After getting my ID card, I bought two meat pies and a portion of sticky rice. I rested for a while, and at noon, my brother called to invite us over for crayfish to celebrate Zhu Xiaoyu’s birthday. I got up, finished the leftover beef and shrimp from yesterday, took a shower, and then strolled over.</p>
<p>By the time I got back in the evening, it was already quite late. Happy times always fly by so quickly.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 27, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-27/</link>
      <pubDate>Thu, 26 Jun 2025 18:07:27 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-27/</guid>
      <description>&lt;h3 id=&#34;0207-insomnia-again&#34;&gt;02:07 Insomnia Again&lt;/h3&gt;
&lt;p&gt;Lately, I’ve been struggling with insomnia—thinking about my visa, about Xiaohuanhuan, about family, about friends. I just can’t seem to control my mind.&lt;/p&gt;
&lt;h3 id=&#34;0235-got-up-to-cook-instant-noodles&#34;&gt;02:35 Got Up to Cook Instant Noodles&lt;/h3&gt;
&lt;p&gt;Couldn’t sleep at all, so I thought about taking a melatonin pill. But I could clearly feel my stomach growling, and after watching Wu Banbao’s video, I decided to get up and cook a pack of instant noodles. Eating a bit more might help me sleep better anyway. Took the pill afterward and got ready to sleep.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0207-insomnia-again">02:07 Insomnia Again</h3>
<p>Lately, I’ve been struggling with insomnia—thinking about my visa, about Xiaohuanhuan, about family, about friends. I just can’t seem to control my mind.</p>
<h3 id="0235-got-up-to-cook-instant-noodles">02:35 Got Up to Cook Instant Noodles</h3>
<p>Couldn’t sleep at all, so I thought about taking a melatonin pill. But I could clearly feel my stomach growling, and after watching Wu Banbao’s video, I decided to get up and cook a pack of instant noodles. Eating a bit more might help me sleep better anyway. Took the pill afterward and got ready to sleep.</p>
<h3 id="1008-went-to-bank-of-china-for-business">10:08 Went to Bank of China for Business</h3>
<p>Worried that CSC might fail to re-export my documents, I woke up early and rushed to Bank of China to update my personal information. After that, I activated the card issued by my undergrad school and also applied for a new BOC Global Elite Mastercard in Canadian dollars.</p>
<p>After finishing at the bank, I went to the supermarket and bought some beef and other vegetables. When I saw the sweet corn, I remembered the huge corn Xiaohuanhuan and I ate in Baiyun District, so I grabbed three more.</p>
<p>When I got back, I emailed CSC to ask them to re-export my documents, but it doesn’t seem to have made much difference.</p>
<h3 id="1707-tidied-up-my-room">17:07 Tidied Up My Room</h3>
<p>Having lived here for a few months, I realized this little nest of mine has gotten messier and messier. It was so messy I couldn’t stand it anymore, so I spent some time cleaning up today. It’s slightly better now.</p>
<h3 id="1721-optimized-obsidian-layout">17:21 Optimized Obsidian Layout</h3>
<p>Using the Commander plugin, I integrated frequently used commands into the sidebar and status bar. Now, adding notes or translating articles is much more convenient.</p>
<h3 id="2240-overate">22:40 Overate</h3>
<p>First time trying to cook beef with jumbo shrimp—it turned out incredibly delicious, so much so that I couldn’t stop eating. But there’s still room for improvement: the beef should have been lightly stir-fried at low heat first instead of being tossed directly into the wok after sautéing the aromatics.</p>
<p>I also had a big bowl of rice in the afternoon…</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 26, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-26/</link>
      <pubDate>Wed, 25 Jun 2025 18:09:10 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-26/</guid>
      <description>&lt;p&gt;I didn&amp;rsquo;t plan well today. I was supposed to go to Chongqing today and get my fingerprints recorded tomorrow.&lt;/p&gt;
&lt;p&gt;But I kept procrastinating until the afternoon, and then it was too late. I&amp;rsquo;ll go on Monday to get it done, and I might as well get the medical checkup done at the same time.&lt;/p&gt;
&lt;p&gt;In the afternoon, I played games with Brother Fei all day and lost every match. We were both confused yet somehow content.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I didn&rsquo;t plan well today. I was supposed to go to Chongqing today and get my fingerprints recorded tomorrow.</p>
<p>But I kept procrastinating until the afternoon, and then it was too late. I&rsquo;ll go on Monday to get it done, and I might as well get the medical checkup done at the same time.</p>
<p>In the afternoon, I played games with Brother Fei all day and lost every match. We were both confused yet somehow content.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 25, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-25/</link>
      <pubDate>Wed, 25 Jun 2025 01:40:07 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-25/</guid>
      <description>&lt;h3 id=&#34;0940-started-preparing-visa-application-materials&#34;&gt;09:40 Started Preparing Visa Application Materials&lt;/h3&gt;
&lt;p&gt;Finished the Client Information in the morning and filled out all the required forms in the afternoon. Also, I found a translation company on Taobao to translate my ID card and no-criminal record certificate for 50 yuan.&lt;/p&gt;
&lt;h3 id=&#34;1737-materials-almost-ready&#34;&gt;17:37 Materials Almost Ready&lt;/h3&gt;
&lt;p&gt;My eyes feel a bit strained from staring at the computer for too long. Planning to cook dinner—golden beans and potatoes tonight—and also give Fei Ge a call.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0940-started-preparing-visa-application-materials">09:40 Started Preparing Visa Application Materials</h3>
<p>Finished the Client Information in the morning and filled out all the required forms in the afternoon. Also, I found a translation company on Taobao to translate my ID card and no-criminal record certificate for 50 yuan.</p>
<h3 id="1737-materials-almost-ready">17:37 Materials Almost Ready</h3>
<p>My eyes feel a bit strained from staring at the computer for too long. Planning to cook dinner—golden beans and potatoes tonight—and also give Fei Ge a call.</p>
<p>A lot of my fear and anxiety stem from unfamiliarity and lack of understanding. At first, I was really nervous about the visa process, worried it would be extremely difficult. But once I actually started preparing, I realized it wasn’t as hard as I imagined. Although I haven’t submitted it yet and don’t know whether it’ll be approved, the initial fear and anxiety have faded.</p>
<h3 id="2020-finally-submitted-the-visa-application">20:20 Finally Submitted the Visa Application</h3>
<p>After carefully reviewing everything, I submitted the visa materials. Thankfully, Huanhuan helped me get a Visa credit card earlier, so the payment process went smoothly this time.</p>
<h3 id="2222-played-honor-of-kings-with-fei-ge-for-over-an-hour">22:22 Played Honor of Kings with Fei Ge for Over an Hour</h3>
<p>The matches are getting harder, and it’s easy to run into teammates with bad attitudes.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 24, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-24/</link>
      <pubDate>Tue, 24 Jun 2025 15:10:00 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-24/</guid>
      <description>&lt;p&gt;Last night, I found the official CSC organization at the University of Alberta, which gave me a lot of peace of mind.&lt;/p&gt;
&lt;p&gt;This morning, I connected with two friends on Xiaohongshu (Little Red Book). One is a senior already studying at the University of Alberta, and the other is a fellow student preparing to enroll this year, just like me.&lt;/p&gt;
&lt;p&gt;I clarified my thoughts about the visa process and spent the morning gathering more information on Xiaohongshu. I also took photos for my visa application and was quite satisfied with how they turned out. After that, I started looking into the various forms I need to fill out, and before I knew it, the morning was gone.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Last night, I found the official CSC organization at the University of Alberta, which gave me a lot of peace of mind.</p>
<p>This morning, I connected with two friends on Xiaohongshu (Little Red Book). One is a senior already studying at the University of Alberta, and the other is a fellow student preparing to enroll this year, just like me.</p>
<p>I clarified my thoughts about the visa process and spent the morning gathering more information on Xiaohongshu. I also took photos for my visa application and was quite satisfied with how they turned out. After that, I started looking into the various forms I need to fill out, and before I knew it, the morning was gone.</p>
<p>In the afternoon, I suddenly felt drowsy and took a short nap. After waking up, I decided to go to the police station to apply for an ID card. First, I went to the Huangtupo Police Station, but they said I didn’t meet the requirements. So, I rushed to the Dewu Police Station and told them I needed a replacement ID. The officer directed me to a self-service photo booth. When the officer asked for my household registration booklet, I handed over my driver’s license instead. After that, I scanned a QR code to fill in the delivery address and made the payment. The whole process took less than five minutes.</p>
<p>On my way back, I bought some plums and waxberries and also made photocopies of my passport.</p>
<p>In the evening, I continued preparing my documents. My mom called and said my second uncle had picked a lot of loquats and sent them over. She offered to share some with me. After cooking and eating a bowl of noodles, I headed out. My mom was also walking toward me, and after we met, I walked her back home. She suggested we sit on a bench by the roadside for a while. We had just eaten two loquats when it suddenly started pouring. I quickly urged her to go back, while I took shelter under a pedestrian bridge. I called Feige during the downpour—originally planning to ask him to play a game—but the rain stopped shortly after.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 23, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-23/</link>
      <pubDate>Mon, 23 Jun 2025 15:04:51 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-23/</guid>
      <description>&lt;p&gt;This morning, I sent Huanhuan off to work. While hailing a taxi, I noticed the driver stopping by the roadside to buy a scallion pancake, so I got one too.&lt;/p&gt;
&lt;p&gt;After reluctantly saying goodbye to Huanhuan, I hurried back to Shuicheng. Still feeling quite hungry upon returning, I quickly cooked some rice and stir-fried two dishes to eat.&lt;/p&gt;
&lt;p&gt;It seems the mouse that had sneaked into the room earlier is no longer around.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This morning, I sent Huanhuan off to work. While hailing a taxi, I noticed the driver stopping by the roadside to buy a scallion pancake, so I got one too.</p>
<p>After reluctantly saying goodbye to Huanhuan, I hurried back to Shuicheng. Still feeling quite hungry upon returning, I quickly cooked some rice and stir-fried two dishes to eat.</p>
<p>It seems the mouse that had sneaked into the room earlier is no longer around.</p>
<p>In the afternoon, I started emailing Professor Liu and the staff at the University of Alberta&rsquo;s funding center and international center, asking why I hadn’t received certain emails and where to obtain the provincial attestation letter (PAL), among other things.</p>
<p>In the evening, I received a reply and finally joined the official CSC newcomers&rsquo; group. I then began preparing to fill out the visa application information on the IRCC website.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 22, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-22/</link>
      <pubDate>Sun, 22 Jun 2025 15:03:50 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-22/</guid>
      <description>&lt;p&gt;Today was a particularly fun day.&lt;/p&gt;
&lt;p&gt;I slept in this morning, and when I got up, Huanhuan&amp;rsquo;s mom had cooked congee. I had three bowls and ended up stuffed.&lt;/p&gt;
&lt;p&gt;At noon, Huanhuan&amp;rsquo;s mom prepared a delicious lunch for us, and everything was very tasty. After eating, I played a few rounds of games with Fei Ge, then pulled out my laptop to prepare some materials. Around 1 PM, Huanhuan&amp;rsquo;s dad went out for a walk, and we rested for a while.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today was a particularly fun day.</p>
<p>I slept in this morning, and when I got up, Huanhuan&rsquo;s mom had cooked congee. I had three bowls and ended up stuffed.</p>
<p>At noon, Huanhuan&rsquo;s mom prepared a delicious lunch for us, and everything was very tasty. After eating, I played a few rounds of games with Fei Ge, then pulled out my laptop to prepare some materials. Around 1 PM, Huanhuan&rsquo;s dad went out for a walk, and we rested for a while.</p>
<p>Fengxian&rsquo;s baby was born this morning. A little after 2 PM, Huanhuan and I went to the office to work overtime. After finishing, we went to buy flowers for her. We saw the first flower shop with two bouquets placed outside, but they didn’t look very fresh. The owner asked for 128, but I bargained down to 88. Huanhuan quickly paid the money.</p>
<p>Just a minute after we left, we spotted another flower shop with much fresher flowers and managed to haggle the price down to 68. So, we decided to take a small loss and return the flowers to the first shop, not wanting the owner to lose out either. But the owner’s attitude turned extremely hostile, completely different from the friendly smile earlier. We argued with the owner and his wife for quite a while, but it didn’t work out.</p>
<p>At that moment, I really wanted to throw the flowers in the owner’s face, but I was afraid of scaring Huanhuan with such an outburst. After cursing a few times, we left and apologized to the owner of the other shop.</p>
<p>A light rain started to fall, and Huanhuan took me to see the unfinished apartment she’s planning to buy. It’s quite nice—once decorated, it should feel very cozy—though it seemed a bit pricey, but still acceptable.</p>
<p>Fengxian was in good spirits and even invited us to stay for dinner as we were leaving. We decided to go home and make fried rice with eggs instead.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 21, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-21/</link>
      <pubDate>Sat, 21 Jun 2025 15:03:36 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-21/</guid>
      <description>&lt;p&gt;This morning, after having breakfast, I went to work overtime with Huanhuan. I checked into a hotel nearby, planning to prepare some materials in the room. However, I ended up just gathering some information on my phone and lying in bed for a while.&lt;/p&gt;
&lt;p&gt;After Huanhuan finished her overtime, we chatted for a bit, and then her parents called us back for dinner. After eating, we went to the hospital to visit Fengxian, who is about to give birth. We originally wanted to buy flowers, but since it was quite late, we checked two shops but couldn’t find any.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This morning, after having breakfast, I went to work overtime with Huanhuan. I checked into a hotel nearby, planning to prepare some materials in the room. However, I ended up just gathering some information on my phone and lying in bed for a while.</p>
<p>After Huanhuan finished her overtime, we chatted for a bit, and then her parents called us back for dinner. After eating, we went to the hospital to visit Fengxian, who is about to give birth. We originally wanted to buy flowers, but since it was quite late, we checked two shops but couldn’t find any.</p>
<p>Instead, we bought some cake and ice cream, played a round of &ldquo;Hearts&rdquo; with her colleagues, and then headed home.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 20, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-20/</link>
      <pubDate>Fri, 20 Jun 2025 15:03:08 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-20/</guid>
      <description>&lt;p&gt;I woke up at 5 AM this morning and bought the earliest ticket to Guiyang.&lt;/p&gt;
&lt;p&gt;After taking a shower, I had no appetite for breakfast.&lt;/p&gt;
&lt;p&gt;As soon as I arrived in Guiyang, I messaged my mentor. He was so excited that he came early to wait for me at the entrance of the office. When we met, I immediately gave Master Guo a big hug—haha, he seemed a little embarrassed.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I woke up at 5 AM this morning and bought the earliest ticket to Guiyang.</p>
<p>After taking a shower, I had no appetite for breakfast.</p>
<p>As soon as I arrived in Guiyang, I messaged my mentor. He was so excited that he came early to wait for me at the entrance of the office. When we met, I immediately gave Master Guo a big hug—haha, he seemed a little embarrassed.</p>
<p>Then began the familiar routine of running around to get approvals and signatures. There were moments when forms were filled out incorrectly, printed wrong, or explanations weren’t clear enough, all while waiting for approvals from higher-ups at every level. The office has also tightened security measures—every corridor and door now requires facial recognition. Master Guo spent the whole morning running around with me, and it wasn’t until noon, after Secretary Jinfeng finished his meeting, that we finally got the signatures.</p>
<p>I’m really grateful to Master Guo, and Master Huang kept insisting on treating us to beef for lunch. However, we couldn’t wait for the leaders any longer, so Master Guo ended up treating me to a bowl of noodles before I had to head back.</p>
<p>Since I needed to discuss our future plans with Xiaohuanhuan’s parents tonight, I had to turn down dinner invitations from other colleagues. Huanhuan came to pick me up at the Fourth Elementary School. By the time we got home, I was starving and ate a lot.</p>
<p>The conversation with Huanhuan’s parents in the evening was quite productive. They expressed their willingness to support us, which put everyone at ease.</p>
<p>Huanhuan and I ended up staying up late again.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 19, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-19/</link>
      <pubDate>Thu, 19 Jun 2025 15:04:55 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-19/</guid>
      <description>&lt;p&gt;After discussing with Mr. Hu, Mr. Liu, and my family, I decided to go to the office tomorrow to pick up my passport.&lt;/p&gt;
&lt;p&gt;I’m particularly nervous about dealing with work-related matters—all the procedures and approvals—but I have no choice but to face them.&lt;/p&gt;
&lt;p&gt;I reached out to former colleagues, mentors, and people involved in the relevant processes, chatting with them for a while. I’m also hoping to find time tomorrow to have a meal with them if possible.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>After discussing with Mr. Hu, Mr. Liu, and my family, I decided to go to the office tomorrow to pick up my passport.</p>
<p>I’m particularly nervous about dealing with work-related matters—all the procedures and approvals—but I have no choice but to face them.</p>
<p>I reached out to former colleagues, mentors, and people involved in the relevant processes, chatting with them for a while. I’m also hoping to find time tomorrow to have a meal with them if possible.</p>
<p>In the afternoon, the Emergency Management Bureau asked me to write a voluntary waiver statement and required me to sign it in person. Since I might not be in Shuicheng much longer, I didn’t want to delay their work, so I took a taxi to the bureau. Surprisingly, the people there didn’t blame me at all—instead, they expressed admiration and support. We chatted for a bit, and they even helped me print out some documents.</p>
<p>On the way back, I called my mom, who invited me over for dinner. It had been a long time since I last ate her cooking, and it still had that familiar taste. It wasn’t necessarily gourmet-level, but it was comforting and made me feel warm inside.</p>
<p>In the evening, I talked with Huanhuan until 1 a.m., so I hurried to bed—I need to wake up early tomorrow.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 18, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-18/</link>
      <pubDate>Wed, 18 Jun 2025 15:00:55 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-18/</guid>
      <description>&lt;p&gt;c&lt;br&gt;
Today was a blur—I spent three hours gaming with Fei Ge.&lt;/p&gt;
&lt;p&gt;In the morning, the Emergency Management Bureau called me to ask some questions, marking the beginning of the investigation phase.&lt;/p&gt;
&lt;p&gt;In the evening, I suddenly learned that my CSC application had been approved, which immediately triggered my anxiety.&lt;/p&gt;
&lt;p&gt;So I wrote a letter to my advisor explaining my worries: &lt;a href=&#34;../../../letter/letter_202506182210.md&#34;&gt;letter_202506182210&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;What wasn’t mentioned in the letter was my reluctance to part with Huanhuan. Long-distance separation brings more pain to those in love, but it can also forge stronger support.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>c<br>
Today was a blur—I spent three hours gaming with Fei Ge.</p>
<p>In the morning, the Emergency Management Bureau called me to ask some questions, marking the beginning of the investigation phase.</p>
<p>In the evening, I suddenly learned that my CSC application had been approved, which immediately triggered my anxiety.</p>
<p>So I wrote a letter to my advisor explaining my worries: <a href="../../../letter/letter_202506182210.md">letter_202506182210</a>.</p>
<p>What wasn’t mentioned in the letter was my reluctance to part with Huanhuan. Long-distance separation brings more pain to those in love, but it can also forge stronger support.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 17, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-17/</link>
      <pubDate>Tue, 17 Jun 2025 06:04:57 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-17/</guid>
      <description>&lt;h3 id=&#34;1404-checking-csc&#34;&gt;14:04 Checking CSC&lt;/h3&gt;
&lt;p&gt;Just saw someone on Xiaohongshu say that the results for the CSC (China Scholarship Council) program in the Americas region have been released. I nervously checked immediately, but nothing yet. I’m still quite anxious—worried about the Emergency Management Bureau’s upcoming inspection, concerned that the Gui’an announcement might drop soon and schedule a physical exam, and now also stressing over the CSC results.&lt;/p&gt;
&lt;h3 id=&#34;1419-cant-stop-thinking-about-the-war&#34;&gt;14:19 Can’t Stop Thinking About the War&lt;/h3&gt;
&lt;p&gt;Ever since learning about the military actions between Iran and Israel, I can’t help but constantly refresh social media for updates during my free time. Maybe it’s a survival instinct, but as an individual, I can only be a bystander, which somehow deepens my anxiety.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1404-checking-csc">14:04 Checking CSC</h3>
<p>Just saw someone on Xiaohongshu say that the results for the CSC (China Scholarship Council) program in the Americas region have been released. I nervously checked immediately, but nothing yet. I’m still quite anxious—worried about the Emergency Management Bureau’s upcoming inspection, concerned that the Gui’an announcement might drop soon and schedule a physical exam, and now also stressing over the CSC results.</p>
<h3 id="1419-cant-stop-thinking-about-the-war">14:19 Can’t Stop Thinking About the War</h3>
<p>Ever since learning about the military actions between Iran and Israel, I can’t help but constantly refresh social media for updates during my free time. Maybe it’s a survival instinct, but as an individual, I can only be a bystander, which somehow deepens my anxiety.</p>
<h3 id="1440-persistent-anxiety">14:40 Persistent Anxiety</h3>
<p>The only outcome that could relieve my anxiety is if the CSC gives me a &ldquo;not approved&rdquo; result. Even if I pass, I’ll still face other difficulties and choices, keeping the anxiety alive.</p>
<h3 id="1713-played-games-with-feige-all-afternoon">17:13 Played Games with Feige All Afternoon</h3>
<p>I couldn’t focus on tasks that required high concentration, so I ended up gaming with Feige for the entire afternoon.</p>
<h3 id="2132-went-out-for-a-walk-in-the-afternoon">21:32 Went Out for a Walk in the Afternoon</h3>
<p>After dinner, I felt stifled indoors and went out for a stroll. Bought two carrots and four pounds of potatoes.</p>
<h3 id="2159-watched-a-video">21:59 Watched a Video</h3>
<p><a href="https://www.bilibili.com/video/BV1PSMvzLEtF/?spm_id_from=333.1007.tianma.4-2-12.click&amp;vd_source=e73763f897ab8c92fdc67c477da1e273">From a Pure Philosophical Perspective: What Is the Underlying Logic of Foolish People?</a></p>
<div class="bilibili"><iframe src="//player.bilibili.com/player.html?bvid=BV1PSMvzLEtF&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe></div>

<p>Learned about the concepts and distinctions between <strong>signifier</strong> and <strong>signified</strong>. I also agree with the teacher’s point that attitude is more of an ability—for example, humility isn’t just an attitude but an ability, and being perceptive isn’t an attitude but an ability.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 16, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-16/</link>
      <pubDate>Mon, 16 Jun 2025 06:54:18 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-16/</guid>
      <description>&lt;p&gt;I didn&amp;rsquo;t do anything today.&lt;/p&gt;
&lt;p&gt;Got up in the morning and cooked a big bowl of rice noodles. The noodles were bought yesterday, but since the weather is hot and they won’t keep for long, I decided to finish them all today. At noon, I cooked another big bowl and fried two eggs, ending up stuffed. I really should eat less in the future.&lt;/p&gt;
&lt;p&gt;In the afternoon, I still didn’t do anything. I felt a bit anxious about the CSC results, the Emergency Management Bureau results, and the Gui&amp;rsquo;an results, so I checked them over and over again.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I didn&rsquo;t do anything today.</p>
<p>Got up in the morning and cooked a big bowl of rice noodles. The noodles were bought yesterday, but since the weather is hot and they won’t keep for long, I decided to finish them all today. At noon, I cooked another big bowl and fried two eggs, ending up stuffed. I really should eat less in the future.</p>
<p>In the afternoon, I still didn’t do anything. I felt a bit anxious about the CSC results, the Emergency Management Bureau results, and the Gui&rsquo;an results, so I checked them over and over again.</p>
<p>Later, I went out for a walk toward Baihe Park. I stopped by Mixue Ice Cream &amp; Tea to buy a &ldquo;Stir-Fresh Orange&rdquo; drink, some lychees, a few fresh melons, and some dried tofu. Came back, made dinner, and ended up overeating again.</p>
<p>The fat on my face and body is visibly increasing—I need to consciously control it.</p>
<p>In the evening, I played a couple of games with Huanhuan.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 15, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-15/</link>
      <pubDate>Sun, 15 Jun 2025 02:17:41 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-15/</guid>
      <description>&lt;p&gt;This morning, my older brother called me and asked me to take my mom to the hospital for a follow-up check-up since they had something to do in Liuzhi. Coincidentally, Huanhuan also had to work overtime today. After we had breakfast, I dropped her off at her workplace, and we went our separate ways.&lt;/p&gt;
&lt;p&gt;My mom had breakfast with me, and afterward, I took her to the hospital for an ultrasound. The results were quite good—there was no further growth or enlargement. When we arrived at the doctor’s office, we could hear a patient arguing with the doctor, who was recommending surgery.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This morning, my older brother called me and asked me to take my mom to the hospital for a follow-up check-up since they had something to do in Liuzhi. Coincidentally, Huanhuan also had to work overtime today. After we had breakfast, I dropped her off at her workplace, and we went our separate ways.</p>
<p>My mom had breakfast with me, and afterward, I took her to the hospital for an ultrasound. The results were quite good—there was no further growth or enlargement. When we arrived at the doctor’s office, we could hear a patient arguing with the doctor, who was recommending surgery.</p>
<p>After the argument finally subsided, it was our turn. The doctor, despite knowing it was benign, still said, &ldquo;If you&rsquo;re the nervous type, you might as well remove the thyroid.&rdquo; That’s clearly not something a doctor should say. No wonder the previous patient was arguing with her—she always seems to push for surgery.</p>
<p>She rambled on with an illogical explanation, leaving my mom confused. I quickly stepped in to clarify: &ldquo;This is benign. What the doctor means is that we don’t need to do anything about it—just monitor it with regular check-ups. But if you’re going to worry every day about it growing or turning bad, causing constant anxiety, then it might be better to remove it.&rdquo; That made things a bit clearer.</p>
<p>For conditions that might require surgery, it’s always best to consult multiple doctors. Some really don’t have the best medical ethics.</p>
<p>After returning home, I went to the supermarket to buy some eggs, vermicelli, and clams. I also stopped by the seafood street to get some oysters, planning to cook them and share them with my mom. Unfortunately, the quality this time wasn’t great, and they didn’t taste very good. As usual, my mom started criticizing everything, and I had to scold her again.</p>
<p>In the evening, I played a few rounds of games with Huanhuan and Xiaoxue. Then, as drowsiness set in, I got ready to hit the sack.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 14, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-14/</link>
      <pubDate>Sat, 14 Jun 2025 02:17:08 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-14/</guid>
      <description>&lt;p&gt;Perhaps it was because I had been drinking, but I had trouble falling asleep last night. Combined with the sound of people drinking outside, I barely slept at all.&lt;/p&gt;
&lt;p&gt;I woke up early in the morning, took a shower, put on my suit and dress shoes, and went downstairs with Huanhuan to have breakfast before heading to the exam site. I had thought wearing a suit might make me stand out, but when I arrived, I noticed everyone else was also dressed formally, which put me at ease. I also ran into many younger classmates, who clearly had a fresh, student-like vibe. One junior was struggling to button the top button of his shirt—it was obviously too tight. I reassured him, &amp;ldquo;It&amp;rsquo;s fine, you don’t have to button it. It might affect your performance, and the examiners won’t mind. You’ll feel better if you’re more comfortable.&amp;rdquo;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Perhaps it was because I had been drinking, but I had trouble falling asleep last night. Combined with the sound of people drinking outside, I barely slept at all.</p>
<p>I woke up early in the morning, took a shower, put on my suit and dress shoes, and went downstairs with Huanhuan to have breakfast before heading to the exam site. I had thought wearing a suit might make me stand out, but when I arrived, I noticed everyone else was also dressed formally, which put me at ease. I also ran into many younger classmates, who clearly had a fresh, student-like vibe. One junior was struggling to button the top button of his shirt—it was obviously too tight. I reassured him, &ldquo;It&rsquo;s fine, you don’t have to button it. It might affect your performance, and the examiners won’t mind. You’ll feel better if you’re more comfortable.&rdquo;</p>
<p>A-Lin was there too. He had kindly picked up my exam admission ticket for me, and I was very grateful. After performing well in the last interview, I’ve grown increasingly confident. This time, my interview went smoothly—at least I didn’t stutter excessively or feel overly nervous—and I scored 82.33. Initially, I thought it was an average score, but after chatting with others afterward, I realized it was actually quite good.</p>
<p>After the interview, A-Lin and I went to a busy area nearby to grab a bite and relax. There weren’t many options, so we settled for a beef and bean hotpot. Gui&rsquo;an is truly remote—there wasn’t even a Mixue Ice Cream &amp; Tea shop, which was a bit disappointing.</p>
<p>At noon, Xiaomeiling brought Huanhuan back, and we sat together briefly before accompanying her to have a bowl of noodles. After resting for a bit, we prepared to return to Panzhou.</p>
<p>By the time we reached Panzhou, it was pouring rain. We both got completely drenched—the small umbrella we had was useless against the downpour. Once we got back to our place, we ordered some takeout on our phones. I overestimated my appetite and ordered way too much. Watching those mukbang videos where people eat enormous amounts made me think I could handle more, but in reality, eating just a little extra left me feeling uncomfortable. After eating, I played some video games but was so exhausted that I dozed off without realizing it.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 13, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-13/</link>
      <pubDate>Fri, 13 Jun 2025 02:09:45 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-13/</guid>
      <description>&lt;h2 id=&#34;1220-taking-bus-no-5-to-the-train-station&#34;&gt;12:20 Taking Bus No. 5 to the Train Station&lt;/h2&gt;
&lt;p&gt;This morning, I had a medical check-up arranged by the Emergency Management Bureau. First, I went to the bureau, where Section Chief Wang from the Personnel Department and another colleague accompanied me to the People&amp;rsquo;s Hospital for the examination. These two colleagues were quite strict at first but later seemed a bit tired and couldn’t keep up.&lt;/p&gt;
&lt;p&gt;After the check-up, I took the bus back by myself—they still had some things to wrap up. When I got back, I had a bowl of beef dumpling skins with some Laba garlic. It was quite tasty and not too pungent.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h2 id="1220-taking-bus-no-5-to-the-train-station">12:20 Taking Bus No. 5 to the Train Station</h2>
<p>This morning, I had a medical check-up arranged by the Emergency Management Bureau. First, I went to the bureau, where Section Chief Wang from the Personnel Department and another colleague accompanied me to the People&rsquo;s Hospital for the examination. These two colleagues were quite strict at first but later seemed a bit tired and couldn’t keep up.</p>
<p>After the check-up, I took the bus back by myself—they still had some things to wrap up. When I got back, I had a bowl of beef dumpling skins with some Laba garlic. It was quite tasty and not too pungent.</p>
<p>Sometimes, I really dislike dealing with people, especially those who leave a less-than-favorable impression. Avoiding work or using work time to do other things seems pretty common—maybe everyone does it to some extent.</p>
<h2 id="heading-to-guiyang-by-train">Heading to Guiyang by Train</h2>
<p>Since Xiaohuanhuan’s training ended early today, I changed my train ticket to an earlier high-speed rail. After arriving in Guiyang, I went straight to meet Huanhuan, who said she was getting a massage. After getting off the subway, I followed the navigation to the place, only to find it quite remote, even though it was a newly built building. I felt a bit uneasy—these kinds of places don’t seem very safe. So, I was both worried and a little upset with Huanhuan, and I later told her how I felt.</p>
<h2 id="grabbing-a-bite-to-eat">Grabbing a Bite to Eat</h2>
<p>Huanhuan had found a place for snacks, but when we got there, we couldn’t locate it. So, we just picked another random spot nearby. We ordered sour rice noodles, potato wedges, shrimp tarts, and two craft beers. Everything was pretty good, though a bit overpriced. It’s fine for an occasional treat.</p>
<h2 id="visiting-brother-mengs-place-to-catch-up-with-long-time-friends">Visiting Brother Meng’s Place to Catch Up with Long-Time Friends</h2>
<p>As we were nearing the destination, the driver’s phone lost signal due to the many bridges, so we had to take a big detour, delaying us by several minutes. Then, we took a wrong turn, which cost us a few more minutes. When we finally arrived, we found everyone waiting for us to eat. Tingting had prepared a whole table of dishes, all of which were delicious.</p>
<p>We chatted casually over some beer. Spending time with friends is always comfortable and relaxing. Maybe someday, after settling down, I’ll cook them a little something to show off my skills.</p>
<p>Since it was getting late and we were too tired to drink more—plus, I had an interview the next day—we decided to leave for Gui’an around 11 p.m. By the time we got there and finished washing up, it was already quite late.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 12, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-12/</link>
      <pubDate>Thu, 12 Jun 2025 02:34:27 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-12/</guid>
      <description>&lt;h3 id=&#34;1007-organized-some-files&#34;&gt;10:07 Organized Some Files&lt;/h3&gt;
&lt;p&gt;The Vault folder was a bit messy, especially the Obsidian templates and project folders. Did a quick tidy-up and also added a reading log template to encourage myself to read more.&lt;/p&gt;
&lt;h3 id=&#34;1100-feel-pretty-good&#34;&gt;11:00 Feel pretty good&lt;/h3&gt;
&lt;p&gt;Today, my body feels fine with no discomfort, which has lifted my mood quite a bit. The courier called to notify me to pick up my ID card. After retrieving it, I strolled to the market and bought rice noodles, spinach, and cilantro. I ended up cooking too much rice noodles and ate until my stomach was bulging.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1007-organized-some-files">10:07 Organized Some Files</h3>
<p>The Vault folder was a bit messy, especially the Obsidian templates and project folders. Did a quick tidy-up and also added a reading log template to encourage myself to read more.</p>
<h3 id="1100-feel-pretty-good">11:00 Feel pretty good</h3>
<p>Today, my body feels fine with no discomfort, which has lifted my mood quite a bit. The courier called to notify me to pick up my ID card. After retrieving it, I strolled to the market and bought rice noodles, spinach, and cilantro. I ended up cooking too much rice noodles and ate until my stomach was bulging.</p>
<h3 id="1627-read-zweigs-the-governess-and-moonbeam-alley-abandoned">16:27 Read Zweig’s <em>The Governess</em> and <em>Moonbeam Alley</em> (Abandoned)</h3>
<p>The reflection of human nature and the influence of societal norms in <strong><a href="/en/project/reading/%E5%AE%B6%E5%BA%AD%E5%A5%B3%E6%95%99%E5%B8%88/">The Governess</a></strong> is not just a tragedy of that era. Similar things exist widely in any era. The two kind-hearted little girls might have been versions of ourselves in the past. Our attitude toward the world gradually turns indifferent simply because we’ve witnessed its coldness.</p>
<p>Both the English and Chinese translations of <strong><a href="/en/project/reading/%E6%9C%88%E5%85%89%E5%B7%B7/">Moonbeam Alley</a></strong> are particularly obscure, and I think they’re poorly translated. I couldn’t get through it at all, so I gave up. That said, I do agree with the idea that factors like money, desire, and indifference can lead love to ruin. It’s not worth reading—whether the Chinese or English version—as it’s just a pile of flowery words.</p>
<h3 id="2112-went-out-for-a-walk-and-got-a-haircut">21:12 Went Out for a Walk and Got a Haircut</h3>
<h4 id="the-fun-barber">The Fun Barber</h4>
<p>I really cooked too much rice noodles today, but since I have a medical check-up tomorrow and then need to go to Guiyang, I forced myself to finish it all. Feeling overly full, I decided to go out for a walk and get a haircut along the way.</p>
<p>I figured that for job interviews, one’s appearance and demeanor are quite important. Hairstyle plays a big role in personal image, so even though my hair wasn’t very long, I thought I’d get a trim for the sake of interviews. The barber said the last cut was too short and didn’t look great, so she felt a bit awkward bringing it up, but I actually thought it looked fine. This barber has a great attitude and decent skills.</p>
<p>After the haircut, there were still a lot of loose hairs on my face, so the barber gave me a quick wash. When I asked how much it cost, she said 15 yuan. I said, “Thank you,” and she replied, “No, thank <em>you</em>.” I joked, “Now that my hair’s cut, I’m even more handsome.” She laughed and said, “Hearing your compliment will make my dreams sweet tonight.” Haha, that caught me off guard. Next time, I’ll bring Huanhuan along to get a haircut and introduce them.</p>
<h4 id="the-uncle-who-asked-for-help-charging-his-car">The Uncle Who Asked for Help Charging His Car</h4>
<p>After the haircut, I walked to the charging station, where an uncle in a worn-out leather jacket stopped me. He said he didn’t know how to charge his car and asked for my help. At first, I scanned the QR code on the public account for a while before realizing it wasn’t working—there was another one on the display screen. Then he asked me to help bind his car model info. He drove a seven-seater Changan van, and when the list popped up, there were way too many options. I randomly picked one, and it worked, so we went with that. He thanked me profusely and even offered me a cigarette, which I declined since I don’t smoke.</p>
<h4 id="called-fei-ge">Called Fei Ge</h4>
<p>Helping others felt pretty good. I thought about visiting my mom, but it was getting late. Then I realized I hadn’t called Fei Ge in a while, so I video-called him directly. Turns out, the job someone promised him fell through, and he’s been lying low in Xiamen for a month. I imagine it must be tough for him.</p>
<p>Around 9 p.m., Huanhuan finished work. I thought chatting with more people might help, so I pulled both of them into a call, completely ignoring their awkwardness. It was pretty fun and also helped Huanhuan integrate better with my circle of friends.</p>
  

  


  
  <blockquote class="alert-blockquote alert-info" data-collapsible="&#43;">
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path>
      </svg>
      
      <span>Ledger</span>
      
    </p>
    <div class="alert-content callout-content">
      <p>Haha, Fei Ge said that while he still has money, I should hurry to Xiamen to visit him. I joked about my usual “Australian lobster” bit, and Fei Ge said he’d budget 10k to treat us—rent a car and take a trip out to sea. I’ll hold him to that for now.</p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
]]></content:encoded>
    </item>
    <item>
      <title>June 11, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-11/</link>
      <pubDate>Wed, 11 Jun 2025 10:51:33 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-11/</guid>
      <description>&lt;h2 id=&#34;morning&#34;&gt;Morning&lt;/h2&gt;
&lt;p&gt;In the morning, I watched some English videos for a while and played some games. I steamed and ate the rice cakes I bought yesterday, and then, before I knew it, noon had passed without me realizing what else I had done.&lt;/p&gt;
&lt;h2 id=&#34;afternoon&#34;&gt;Afternoon&lt;/h2&gt;
&lt;p&gt;This afternoon, I read &lt;em&gt;Letter from an Unknown Woman&lt;/em&gt;. I listened to the audiobook&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; while following along with the English translation I bought on Duozhuayu. The narration of the audiobook was very emotional and captivating, so I finished it quickly. Since I’m not yet very familiar with English, I suspected I might have missed some details. So I searched further, thinking of checking others’ interpretations, and came across this video&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h2 id="morning">Morning</h2>
<p>In the morning, I watched some English videos for a while and played some games. I steamed and ate the rice cakes I bought yesterday, and then, before I knew it, noon had passed without me realizing what else I had done.</p>
<h2 id="afternoon">Afternoon</h2>
<p>This afternoon, I read <em>Letter from an Unknown Woman</em>. I listened to the audiobook<sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup> while following along with the English translation I bought on Duozhuayu. The narration of the audiobook was very emotional and captivating, so I finished it quickly. Since I’m not yet very familiar with English, I suspected I might have missed some details. So I searched further, thinking of checking others’ interpretations, and came across this video<sup id="fnref:2"><a href="#fn:2" class="footnote-ref" role="doc-noteref">2</a></sup>.</p>
<p>I learned that this novel reflects certain psychological and human nature-related themes. Through AI, I saw keywords like Freud’s &ldquo;death drive,&rdquo; which piqued my curiosity. I then delved deeper into the meaning of the death drive and its counterpart, the life drive, which intertwine within human nature, forming intricate psychological and behavioral patterns.</p>
<p>I can’t yet comment on whether the love displayed by the female protagonist in the novel is great, humble, or even real love. I do agree, however, that it is more of a form of self-deception and an escape from both herself and reality.</p>
<h2 id="evening">Evening</h2>
<p>Lately, I haven’t had much of an appetite, let alone the motivation to go to the market to buy groceries. For dinner, I casually boiled some noodles and fried two eggs to make do. The eggs ended up burnt and didn’t taste very good.</p>
<p>After finishing the meal and washing the dishes, I thought about going out for a walk. As I approached Zhongshan District No. 2 Primary School, I called my mom to come down and join me. For a while, we couldn’t find each other—the root cause being that I couldn’t understand her directional adverbs like &ldquo;this side,&rdquo; &ldquo;that side,&rdquo; &ldquo;up there,&rdquo; &ldquo;down there,&rdquo; &ldquo;behind,&rdquo; or &ldquo;in front.&rdquo; After finally meeting up, I decided to teach her how to use WeChat’s location-sharing feature. We passed an intersection, and I intentionally walked separately from her, asking her to observe the changes in the avatar’s position on her phone. She seemed to half-understand. At the next intersection, I did the same, telling her to come find me.</p>
<p>After two forks in the road, she still hadn’t found me. I called her to correct her directions, and she finally managed to locate me—though she looked exhausted and impatiently swiped WeChat into the background, returning to her home screen. I then asked her where she wanted to walk, and I followed her lead.</p>
<p>Somewhat expectedly yet unexpectedly, she took a wrong turn and ended up in another residential area, but we corrected it eventually. I think from now on, I’ll just follow her and let her lead the way.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://www.bilibili.com/video/BV1Lb41157CX"><em>Letter from an Unknown Woman</em> || PUPPY LOVE, HIDDEN LOVE, FOREVER LOVE (Ongoing Updates) VanoraLee8972</a>&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
<li id="fn:2">
<p><a href="https://www.bilibili.com/video/BV1Hb4y1G7jF/?spm_id_from=333.337.search-card.all.click&amp;vd_source=e73763f897ab8c92fdc67c477da1e273">How Tragic Can a Woman Be in a Man’s Writing? What Does Stefan Zweig’s <em>Letter from an Unknown Woman</em> Really Say?</a>&#160;<a href="#fnref:2" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>June 10, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-10/</link>
      <pubDate>Tue, 10 Jun 2025 13:18:52 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-10/</guid>
      <description>&lt;p&gt;It might have been the unclean food I ate yesterday, but I woke up this morning feeling dizzy and groggy. Taking a shower didn’t help, and my stool was a bit loose too.&lt;/p&gt;
&lt;p&gt;I just lay in bed until noon, not even wanting to eat. By the afternoon, I felt so unwell that I forced myself to go out for a walk, though I was completely drained of energy. Passing by a rice cake shop, I noticed hundreds of stacked steamers inside and thought the cakes must be good. I bought one, broke off a piece, and it turned out to be quite tasty.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>It might have been the unclean food I ate yesterday, but I woke up this morning feeling dizzy and groggy. Taking a shower didn’t help, and my stool was a bit loose too.</p>
<p>I just lay in bed until noon, not even wanting to eat. By the afternoon, I felt so unwell that I forced myself to go out for a walk, though I was completely drained of energy. Passing by a rice cake shop, I noticed hundreds of stacked steamers inside and thought the cakes must be good. I bought one, broke off a piece, and it turned out to be quite tasty.</p>
<p>On the way back, I figured not eating wasn’t a solution, so I decided to have something easy to digest. I ordered a bowl of rice noodles, which wasn’t particularly delicious, but I managed to finish it with some garlic.</p>
<p>In the evening, I thought I should distract myself, so I played <em>Honor of Kings</em> for a while. The game is pretty boring, but at least I could play it lying down.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 9, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-09/</link>
      <pubDate>Mon, 09 Jun 2025 09:02:32 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-09/</guid>
      <description>&lt;p&gt;Last night, I stayed up until 1:30 AM playing games—completely immersed and forgetting to eat or sleep. Twin Shadow Wonderland was just too much fun.&lt;/p&gt;
&lt;p&gt;This morning, we played for another hour and finally managed to finish the entire game.&lt;/p&gt;
&lt;p&gt;Huanhuan had to leave for Guiyang today to report for training, so after packing lightly, it was time to go. We wanted to eat bean rice hotpot, but the place wasn’t open, so we took a ride to Lucky Dog for burgers and hot dogs, which weren’t very good.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Last night, I stayed up until 1:30 AM playing games—completely immersed and forgetting to eat or sleep. Twin Shadow Wonderland was just too much fun.</p>
<p>This morning, we played for another hour and finally managed to finish the entire game.</p>
<p>Huanhuan had to leave for Guiyang today to report for training, so after packing lightly, it was time to go. We wanted to eat bean rice hotpot, but the place wasn’t open, so we took a ride to Lucky Dog for burgers and hot dogs, which weren’t very good.</p>
<p>We still had some time before the train, so we sat outside chatting about the present and the future—everything seems to be going well.</p>
<p>After coming back, I felt completely drained from staying up late, groggy and sluggish all day.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 8, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-08/</link>
      <pubDate>Sun, 08 Jun 2025 03:36:43 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-08/</guid>
      <description>&lt;p&gt;Today was a happy day—Huanhuan’s stomach felt much better. After having corn in the morning, my mom came to see us.&lt;/p&gt;
&lt;p&gt;We had a bowl of lamb rice noodles together, then headed to Caojiawan Agricultural and Sideline Products Wholesale Market. Since it was Sunday, the market was bustling with people.&lt;/p&gt;
&lt;p&gt;We bought some incredibly delicious loquats and peaches, though the bayberries weren’t great. We also picked up some water spinach and free-range eggs.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today was a happy day—Huanhuan’s stomach felt much better. After having corn in the morning, my mom came to see us.</p>
<p>We had a bowl of lamb rice noodles together, then headed to Caojiawan Agricultural and Sideline Products Wholesale Market. Since it was Sunday, the market was bustling with people.</p>
<p>We bought some incredibly delicious loquats and peaches, though the bayberries weren’t great. We also picked up some water spinach and free-range eggs.</p>
<p>In the afternoon, since we couldn’t think of anything else to do, Huanhuan and I took my mom to the zoo. Before setting off, I asked my mom if giraffes were as tall as a house, and she said definitely not. But when we actually saw the giraffe, it was enormous—so, so tall and big.</p>
<p>It was my first time seeing a giraffe too—so incredibly tall and huge. I even bought five yuan’s worth of carrots to feed it. Next time, I’ll bring my own carrots.</p>
<p>Oh, and fun fact—the giraffe’s nickname is also Huanhuan. Haha.</p>
<img loading="lazy" src="../../../../static/images/diary/%E6%AC%A2%E6%AC%A2%E9%95%BF%E9%A2%88%E9%B9%BF.jpg"><p><strong>Happy the Giraffe</strong></p>
<p>Happy is a gentle and curious giraffe who lives in the vast grasslands. With her long neck and graceful spots, she stands out among her peers. Every day, she roams the savanna, nibbling on tender leaves from tall trees and gazing at the distant horizon with her big, bright eyes.</p>
<p>Happy loves interacting with other animals, whether it&rsquo;s playing hide-and-seek with the zebras or sharing stories with the wise old tortoise. Her kindness and cheerfulness make her a beloved friend to all.</p>
<p>One of her favorite pastimes is watching the sunset, painting the sky in hues of orange and pink. As the cool evening breeze rustles through the grass, Happy feels at peace, grateful for another beautiful day in her wild home.</p>
<p>Join Happy on her adventures and discover the wonders of the African savanna through her eyes!</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 7, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-07/</link>
      <pubDate>Fri, 06 Jun 2025 22:34:46 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-07/</guid>
      <description>&lt;h3 id=&#34;0634-discovered-a-fascinating-phenomenon&#34;&gt;06:34 Discovered a Fascinating Phenomenon&lt;/h3&gt;
&lt;p&gt;People only yawn when their eyes are open.&lt;/p&gt;
&lt;h3 id=&#34;0636-noodles-and-pastry-are-quite-tricky-to-make&#34;&gt;06:36 Noodles and Pastry Are Quite Tricky to Make&lt;/h3&gt;
&lt;p&gt;I tried steaming buns once before and failed. Yesterday, I attempted making pancakes and nearly failed again. Mastering the properties of ingredients and controlling the heat really requires a lot of experience.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Huanhuan has had diarrhea since Friday, so I haven’t made anything particularly tasty these past couple of days.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0634-discovered-a-fascinating-phenomenon">06:34 Discovered a Fascinating Phenomenon</h3>
<p>People only yawn when their eyes are open.</p>
<h3 id="0636-noodles-and-pastry-are-quite-tricky-to-make">06:36 Noodles and Pastry Are Quite Tricky to Make</h3>
<p>I tried steaming buns once before and failed. Yesterday, I attempted making pancakes and nearly failed again. Mastering the properties of ingredients and controlling the heat really requires a lot of experience.</p>
<hr>
<p>Huanhuan has had diarrhea since Friday, so I haven’t made anything particularly tasty these past couple of days.</p>
<p>This morning, I tried making pancakes, and they turned out quite delicious. Huanhuan ate a little and felt better during the day. In the afternoon, we had some golden fried potatoes, but unfortunately, she had a relapse by evening.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 6, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-06/</link>
      <pubDate>Fri, 06 Jun 2025 09:20:46 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-06/</guid>
      <description>&lt;p&gt;Today was slightly better than yesterday. In the morning, I spent some time studying the manual for Dwarf Fortress. It&amp;rsquo;s still quite complex and requires further review. Regular exposure to and use of English gradually familiarizes me with the language, even if it&amp;rsquo;s just through gaming.&lt;/p&gt;
&lt;p&gt;Yesterday and today, I looked into the requirements for applying for a student visa. Money remains a significant hurdle. But I don’t care too much anymore—I’ll leave it to fate. At this point, I’m not as eager to go abroad as before. Facing reality is more important. As Teacher Liu said: for ordinary families, studying abroad is almost an impossible path. Maybe things will improve if I work harder in the future.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today was slightly better than yesterday. In the morning, I spent some time studying the manual for Dwarf Fortress. It&rsquo;s still quite complex and requires further review. Regular exposure to and use of English gradually familiarizes me with the language, even if it&rsquo;s just through gaming.</p>
<p>Yesterday and today, I looked into the requirements for applying for a student visa. Money remains a significant hurdle. But I don’t care too much anymore—I’ll leave it to fate. At this point, I’m not as eager to go abroad as before. Facing reality is more important. As Teacher Liu said: for ordinary families, studying abroad is almost an impossible path. Maybe things will improve if I work harder in the future.</p>
<h3 id="1734-achieved-multi-device-sync-in-obsidian">17:34 Achieved Multi-Device Sync in Obsidian</h3>
<p>By configuring the <code>remotely-save</code> plugin and leveraging Tencent Cloud Storage, I managed to sync the mobile version. While it’s not as seamless as <code>git</code>, it’s sufficient for jotting down notes on weekends or when I’m out and about. Later, when I have access to a computer, I can push the updates to the website.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 5, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-05/</link>
      <pubDate>Thu, 05 Jun 2025 14:30:38 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-05/</guid>
      <description>&lt;p&gt;Recently, I&amp;rsquo;ve been feeling unusually anxious, and it&amp;rsquo;s hard to describe this state.&lt;/p&gt;
&lt;p&gt;I’ve already started anticipating the rejection of my CSC application, looking forward to the stability of starting a regular job. At noon, Yao Dong called me to discuss work-related matters and mentioned that Professor Cai is also planning to study abroad, saying that upon returning, he could supervise Ph.D. students. Later, I came across a video by Geng on Bilibili, where he talked about wanting to pursue a Ph.D. in his 50s. I think it’s a great idea. The current issue is whether our abilities can support us in leading a relatively stable and smooth life.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Recently, I&rsquo;ve been feeling unusually anxious, and it&rsquo;s hard to describe this state.</p>
<p>I’ve already started anticipating the rejection of my CSC application, looking forward to the stability of starting a regular job. At noon, Yao Dong called me to discuss work-related matters and mentioned that Professor Cai is also planning to study abroad, saying that upon returning, he could supervise Ph.D. students. Later, I came across a video by Geng on Bilibili, where he talked about wanting to pursue a Ph.D. in his 50s. I think it’s a great idea. The current issue is whether our abilities can support us in leading a relatively stable and smooth life.</p>
<p>Today, I also splurged on buying <em>Dwarf Fortress</em>, but the learning curve is so steep that I can barely play it. I also tried <em>Turing Complete</em>, only to realize my brain isn’t sharp enough for it.</p>
<p>In the evening, I went out for another walk with my mom. We walked to People’s Square and back, covering a total distance of about 8 kilometers.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 4, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-04/</link>
      <pubDate>Wed, 04 Jun 2025 14:55:15 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-04/</guid>
      <description>&lt;p&gt;How to evaluate today? It&amp;rsquo;s hard to say.&lt;/p&gt;
&lt;p&gt;Yesterday, I scheduled a medical check-up for this morning to assess my health condition in advance and avoid any issues with the upcoming pre-employment physical. So I got up early this morning and quickly finished the check-up at the hospital. The main focus was on blood and urine-related indicators, which were conveniently covered by the free check-up offered by JD.com.&lt;/p&gt;
&lt;p&gt;After the check-up, I was both thirsty and hungry, and since the free check-up didn’t include a breakfast voucher, I went to Kaihui convenient store across from the medical center and bought a bottle of water and a grilled sausage. Back at my place, I boiled an ear of corn my mom gave me yesterday. The corn lately hasn’t been very sweet—fruit corn seems to taste better.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>How to evaluate today? It&rsquo;s hard to say.</p>
<p>Yesterday, I scheduled a medical check-up for this morning to assess my health condition in advance and avoid any issues with the upcoming pre-employment physical. So I got up early this morning and quickly finished the check-up at the hospital. The main focus was on blood and urine-related indicators, which were conveniently covered by the free check-up offered by JD.com.</p>
<p>After the check-up, I was both thirsty and hungry, and since the free check-up didn’t include a breakfast voucher, I went to Kaihui convenient store across from the medical center and bought a bottle of water and a grilled sausage. Back at my place, I boiled an ear of corn my mom gave me yesterday. The corn lately hasn’t been very sweet—fruit corn seems to taste better.</p>
<p>After eating, I felt a bit drowsy, so I simply lay down in bed to sleep. There’s a contradictory feeling here: I want to sleep, but I’m also afraid of falling asleep because someone always seems to contact me while I’m asleep. Then I end up answering with a groggy voice, which I feel leaves a bad impression. This feeling is definitely not great, and if I don’t fall asleep, my mind starts wandering, leading me to pick up my phone.</p>
<p>In the afternoon, I stir-fried some dried tofu, which turned out quite tasty. Then I went out for a walk. When I reached Minghu Lake, I called my mom and asked if she wanted to come out for a stroll. She said she was downstairs and came to meet me.</p>
<p>Just as she found me, my sister-in-law called and asked her to take my little nephew back home. I could tell my mom really wanted to stay and walk around, but I quickly urged her to go back for dinner.</p>
<p>Today, I also played a couple of rounds of Honor of Kings. This game is really boring without friends. Then I saw that Dwarf Fortress was on sale, discounted by about 10 yuan. I thought about looking into it, and it was quite impressive. Developed over 20 years, it’s extremely challenging and seems fun, but it’s still a bit pricey—even after the discount, it’s 86 yuan, so it requires a bit of resolve. Although there’s a free version, the learning curve is quite steep, and I feel like I might not be able to get into it.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 3, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-03/</link>
      <pubDate>Tue, 03 Jun 2025 14:41:55 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-03/</guid>
      <description>&lt;p&gt;Early this morning, I received a message from Professor Hu, which immediately got me anxious again. I quickly got up to check the progress of my CSC application, and sure enough, there was no update yet.&lt;/p&gt;
&lt;p&gt;My mom also called me early in the morning, asking if I was coming over to pick up some rice. I hadn’t even gotten out of bed yet.&lt;/p&gt;
&lt;p&gt;After getting up, I did laundry and took a shower. Then I lay in bed and finished reading &lt;em&gt;Animal Farm&lt;/em&gt;—it was incredibly satirical and blunt. I bought the English original to keep at home, so I can read it again next time I’m back.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Early this morning, I received a message from Professor Hu, which immediately got me anxious again. I quickly got up to check the progress of my CSC application, and sure enough, there was no update yet.</p>
<p>My mom also called me early in the morning, asking if I was coming over to pick up some rice. I hadn’t even gotten out of bed yet.</p>
<p>After getting up, I did laundry and took a shower. Then I lay in bed and finished reading <em>Animal Farm</em>—it was incredibly satirical and blunt. I bought the English original to keep at home, so I can read it again next time I’m back.</p>
<p>In the afternoon, I played video games for nearly an hour, mostly out of boredom and anxiety. Later, I went to see my mom. She gave me some meat and a few ears of corn. On my way back, I bought some waxberries and peaches, then stopped by the supermarket to pick up groceries. That should last me about a week.</p>
<p>I’m a bit worried that I might not pass the pre-employment physical exam, so I scheduled a check-up for tomorrow to see how things look first. The free health check-up from JD.com finally came in handy.</p>
<p>Today’s fried peanuts turned out perfectly—the heat control was just right. As soon as I smelled the aroma, I knew it was time to turn off the stove.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 2, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-02/</link>
      <pubDate>Mon, 02 Jun 2025 14:02:46 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-02/</guid>
      <description>&lt;p&gt;Today is the last day of the Dragon Boat Festival, which also means the end of our family&amp;rsquo;s brief reunion.&lt;/p&gt;
&lt;p&gt;Early in the morning, Mom and Dad were busy reheating and eating the leftovers. After breakfast, they had to catch their bus, so Huanhuan and I washed the dishes. Then we went to my sister’s place to hang out for a while and help carry some things.&lt;/p&gt;
&lt;p&gt;Ningning always struggles the most with goodbyes, unable to hold back her emotions. Manman, being a little older now, has gotten better at masking and disguising her feelings, trying to be the well-behaved child in Mom’s eyes. I’m not sure if that’s a good thing or not.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today is the last day of the Dragon Boat Festival, which also means the end of our family&rsquo;s brief reunion.</p>
<p>Early in the morning, Mom and Dad were busy reheating and eating the leftovers. After breakfast, they had to catch their bus, so Huanhuan and I washed the dishes. Then we went to my sister’s place to hang out for a while and help carry some things.</p>
<p>Ningning always struggles the most with goodbyes, unable to hold back her emotions. Manman, being a little older now, has gotten better at masking and disguising her feelings, trying to be the well-behaved child in Mom’s eyes. I’m not sure if that’s a good thing or not.</p>
<p>Huanhuan and I rode our little scooter through the rain to catch the shuttle bus. The rain wasn’t heavy at first, but the cars speeding by splashed water straight into our faces. We got lucky—the bus was about to leave just as we sat down.</p>
<p>I dozed off on the bus and arrived in no time. Her parents weren’t home, so we stayed for a bit. Then we went into town to look at some apartments—living by the roadside was pretty noisy. After that, we grabbed some KFC, but I had to leave before finishing the fries. I probably could’ve finished them, but I didn’t want to risk it. And somehow, I absentmindedly ended up taking Huanhuan’s water with me.</p>
]]></content:encoded>
    </item>
    <item>
      <title>June 1, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/june/2025-06-01/</link>
      <pubDate>Sun, 01 Jun 2025 14:02:44 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/june/2025-06-01/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m really feeling a bit homesick. Huanhuan and I got up early to catch the bus home, and Auntie cooked us some delicious congee.&lt;/p&gt;
&lt;p&gt;We bought a big rolled rice pancake at Sige, and as soon as we got home, we started eating again. These past few days have been nonstop eating.&lt;/p&gt;
&lt;p&gt;My parents planned to sell the corn to avoid it getting infested with bugs or mold from sitting around unused. They decided to sell it to my fourth aunt’s family for 1.2 yuan per jin. Before long, they arrived.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I&rsquo;m really feeling a bit homesick. Huanhuan and I got up early to catch the bus home, and Auntie cooked us some delicious congee.</p>
<p>We bought a big rolled rice pancake at Sige, and as soon as we got home, we started eating again. These past few days have been nonstop eating.</p>
<p>My parents planned to sell the corn to avoid it getting infested with bugs or mold from sitting around unused. They decided to sell it to my fourth aunt’s family for 1.2 yuan per jin. Before long, they arrived.</p>
<p>There was quite a lot of corn. We started moving it around at noon and didn’t finish loading it onto the truck until the afternoon. The total came to 3,858 jin, which should have been over 4,600 yuan. I suggested 4,500, but my mom said 4,000 would be fine.</p>
<p>The weather was really nice today, and the clouds looked so clean.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 31, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-31/</link>
      <pubDate>Sat, 31 May 2025 14:22:32 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-31/</guid>
      <description>&lt;p&gt;Today, we planned to go to Huanhuan&amp;rsquo;s maternal grandmother&amp;rsquo;s house. She had been inviting us to celebrate the Dragon Boat Festival in Chengguan for a while.&lt;/p&gt;
&lt;p&gt;Huanhuan&amp;rsquo;s father went ahead first, while we took our time at home before heading over. We also carried a bag of rice that Huanhuan had received from her workplace.&lt;/p&gt;
&lt;p&gt;The second aunt was there too and prepared a big table full of delicious dishes for us. We went out to buy some fruit—lychees were particularly expensive at 10 yuan per pound, but they didn’t taste very good. We’ll have to buy fewer next time. We also bought a pineapple (I’ve always thought it was just another name for the same fruit). The vendor’s &amp;ldquo;Dubai knife skills&amp;rdquo; turned a whole large pineapple into just a tiny box of fruit. It might have been better to peel the pineapple ourselves during the family gathering—that way, we could have avoided sitting around with nothing to do but play on our phones.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today, we planned to go to Huanhuan&rsquo;s maternal grandmother&rsquo;s house. She had been inviting us to celebrate the Dragon Boat Festival in Chengguan for a while.</p>
<p>Huanhuan&rsquo;s father went ahead first, while we took our time at home before heading over. We also carried a bag of rice that Huanhuan had received from her workplace.</p>
<p>The second aunt was there too and prepared a big table full of delicious dishes for us. We went out to buy some fruit—lychees were particularly expensive at 10 yuan per pound, but they didn’t taste very good. We’ll have to buy fewer next time. We also bought a pineapple (I’ve always thought it was just another name for the same fruit). The vendor’s &ldquo;Dubai knife skills&rdquo; turned a whole large pineapple into just a tiny box of fruit. It might have been better to peel the pineapple ourselves during the family gathering—that way, we could have avoided sitting around with nothing to do but play on our phones.</p>
<p>After finishing the meal, we headed back. In the evening, we met up with Xiaoxue and had some barbecue. I ended up eating way too much and felt uncomfortably full afterward.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 30, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-30/</link>
      <pubDate>Fri, 30 May 2025 06:29:16 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-30/</guid>
      <description>&lt;p&gt;The news of my successful interview with the Emergency Management Bureau has already reached my teachers. This morning, both Teacher Hu and Teacher Dai messaged me to ask about it. Teacher Hu even joked that if the CSC (China Scholarship Council) doesn’t come through, he’d feel terribly guilty—hahaha. Of course, I don’t see it that way at all, and I reassured him with sincere gratitude.&lt;/p&gt;
&lt;p&gt;After washing the dishes and taking a shower, the entire morning slipped by.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The news of my successful interview with the Emergency Management Bureau has already reached my teachers. This morning, both Teacher Hu and Teacher Dai messaged me to ask about it. Teacher Hu even joked that if the CSC (China Scholarship Council) doesn’t come through, he’d feel terribly guilty—hahaha. Of course, I don’t see it that way at all, and I reassured him with sincere gratitude.</p>
<p>After washing the dishes and taking a shower, the entire morning slipped by.</p>
<p>Tomorrow is the Dragon Boat Festival, and Huanhuan mentioned she’s going to her grandmother’s house to celebrate, and I’ll be joining her.</p>
<p>At noon, I noticed something seemed off about Huanhuan. Around 2 p.m., she called and shared a lot about her recent emotional journey. I think it’s great that she’s brave enough to acknowledge some of the less positive thoughts in her mind. She had been struggling alone for a long time, hadn’t even eaten lunch, and even lied to me, saying the cafeteria was too crowded at noon.</p>
<p>After hanging up, I ordered her some Dicos (a fast-food chain), and I also started packing my things to head to Hongguo to meet her.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 29, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-29/</link>
      <pubDate>Thu, 29 May 2025 01:38:50 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-29/</guid>
      <description>&lt;h3 id=&#34;0938-upgrading-my-phones-system&#34;&gt;09:38 Upgrading My Phone&amp;rsquo;s System&lt;/h3&gt;
&lt;p&gt;Over the past couple of days, while browsing CoolAPK, I noticed that Xiaomi 15’s system had a major official update. Many users claimed it was significantly smoother and more power-efficient, which made me eager to try it out. However, it was still in the closed beta phase, and I didn’t have access. So, I spent about an hour tinkering and managed to sideload it using a replacement method.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0938-upgrading-my-phones-system">09:38 Upgrading My Phone&rsquo;s System</h3>
<p>Over the past couple of days, while browsing CoolAPK, I noticed that Xiaomi 15’s system had a major official update. Many users claimed it was significantly smoother and more power-efficient, which made me eager to try it out. However, it was still in the closed beta phase, and I didn’t have access. So, I spent about an hour tinkering and managed to sideload it using a replacement method.</p>
<p>I used to love updating my phone’s system and apps, always eager to experience new features as soon as they dropped. But after my Xiaomi 10 suffered from negative optimization (performance degradation due to updates), I became much more cautious. From what I’ve seen online, this seems to be a widespread issue across almost all smartphone manufacturers. Devices where hardware and software aren’t controlled by the same company—like PCs—don’t seem to have this problem.</p>
<p>In general, it’s wise to stop updating your system and system apps at the right time. Here are two ways to determine when to stop:</p>
<ol>
<li><strong>About a year after the phone’s release</strong>, when the next iteration is about to launch.</li>
<li>When <strong>system update logs become vague and perfunctory</strong>.</li>
</ol>
<p>If both conditions are met, it’s time to stop updating. Doing so will ensure a better long-term user experience.</p>
<h3 id="1636-bought-the-game-kind-words">16:36 Bought the Game &ldquo;Kind Words&rdquo;</h3>
<p>Most people in this game are incredibly warm, unlike some other platforms. The anonymity and the fact that you only interact once with each person add a mysterious charm—it feels like the person on the other end is from another world.</p>
<p>I tried posting two questions and received some heartwarming replies, even though the answers were often things I already knew deep down.</p>
<hr>
  

  


  
  <blockquote class="alert-blockquote alert-question" data-collapsible="&#43;">
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><path d="M12 17h.01"></path>
      </svg>
      
      <span>My Request<br></span>
      
    </p>
    <div class="alert-content callout-content">
      <p><strong>Dear all,</strong></p>
<p>I am confused about the meaning of life.</p>
<p>Should we devote ourselves to the present moment or to our future?</p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
  

  


  
  <blockquote class="alert-blockquote alert-note" data-collapsible="&#43;">
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <path d="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"></path><path d="m15 5 4 4"></path>
      </svg>
      
      <span>Reply with a Giraffe sticker<br></span>
      
    </p>
    <div class="alert-content callout-content">
      <p>Devote yourself to you, and the future you. Only then we can became and shape our future.</p>
<p>It&rsquo;s a timid relationship, but there&rsquo;s no past without now, and no future without a past.<br>
Devote yourself to what ideas and possabilitys make the now you happy.</p>
<p>If your path in the now leads to a good future, with the help of the past. You&rsquo;ll do fine&lt;3<br>
<span>F</span></p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
  

  


  
  <blockquote class="alert-blockquote alert-note" data-collapsible="&#43;">
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <path d="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"></path><path d="m15 5 4 4"></path>
      </svg>
      
      <span>Reply with a dancing Gremlin sticker<br></span>
      
    </p>
    <div class="alert-content callout-content">
      <p>Life has no meaning but the one you choose to give it. On my side, I ask myself if my actions align with my values, and reevaluate either one of them if that is not the case. I think one must not forget where one came from, but not to the point where the past become a burden. Same for the future, it should be an exciting goal to tend to but it should not take over our enjoyment of the present moment. I hope you can navigate your life successfully :)<br>
<span>W</span></p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
<hr>
  

  


  
  <blockquote class="alert-blockquote alert-question" data-collapsible="&#43;">
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><path d="M12 17h.01"></path>
      </svg>
      
      <span>My Request<br></span>
      
    </p>
    <div class="alert-content callout-content">
      <p>I don&rsquo;t have a job right now. I am very confused.</p>
<p>Can anyone make me feel like I am not alone.</p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
  

  


  
  <blockquote class="alert-blockquote alert-note" data-collapsible="&#43;">
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <path d="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"></path><path d="m15 5 4 4"></path>
      </svg>
      
      <span>Reply with a Captain Astronaut sticker<br></span>
      
    </p>
    <div class="alert-content callout-content">
      <p>J, You are not alone. Just because you don&rsquo;t have a job right now that does not mean your are alone nor have value. This time likely has another purpose for you right now. I myself do not have a job right now but try to use the time gaining wisdom through the interactions I make and study a new skill. I actually just did some Blender practice since I want to get into 3D modeling and been trying to make myself practice everyday so I can be good enough to add it to my resume.<br>
<span>S</span></p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
  

  


  
  <blockquote class="alert-blockquote alert-note" data-collapsible="&#43;">
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <path d="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"></path><path d="m15 5 4 4"></path>
      </svg>
      
      <span>Reply with a cool Sunflower sticker<br></span>
      
    </p>
    <div class="alert-content callout-content">
      <p>I am also unemployed at the moment and kinda lost to what I should do for the future. I am trying to see it as an opportunity to reevaluate my choices as I didn&rsquo;t find fulfillment nor meaning in the corporate world, There are so many possibilities, it can make the choice daunting. You can do all the research and preparation that you want, but I think in the end it is only after you make the leap that you will know whether it suits you. Mistakes and doubts are part of the journey. So don&rsquo;t be afraid to try and fail!<br>
<span>W</span></p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
<h3 id="1930-a-walk">19:30 A Walk</h3>
<p>I went out for a walk—it had been two whole days since I last stepped outside. Stepping out felt like being released from prison; everything seemed fresh and full of clarity.</p>
<p>I treated myself to some roasted potatoes from a place I’d been craving. The potatoes were delicious, and there were so many seasonings that it felt like they were giving away free potatoes with every purchase of seasoning. I also bought a bowl of silver ear fungus soup, but it didn’t feel like great value for money. Next time, I’ll just bring my own water, haha.</p>
<h3 id="2210-bought-another-gamescribblenauts-unlimited">22:10 Bought Another Game—&ldquo;Scribblenauts Unlimited&rdquo;</h3>
<p>Got it for just 10 yuan on sale at 杉果 (a game distribution platform). It’s an old game from 2009, but the art style and music are incredibly charming. It’s very relaxing and fun, and you can even learn a few words while playing. A great find!</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 28, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-28/</link>
      <pubDate>Wed, 28 May 2025 13:39:06 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-28/</guid>
      <description>&lt;p&gt;This morning, I tried frying peanuts for the first time. At first, nothing seemed to change, but after frying them a few seconds longer, I scooped them out only to find they had all turned golden. They were slightly overdone but not burnt.&lt;/p&gt;
  

  


  
  &lt;blockquote class=&#34;alert-blockquote alert-tip&#34; data-collapsible=&#34;&amp;#43;&#34;&gt;
    &lt;p class=&#34;alert-heading callout-title&#34;&gt;
      &lt;svg xmlns=&#34;http://www.w3.org/2000/svg&#34; viewBox=&#34;0 0 24 24&#34; width=&#34;24&#34; height=&#34;24&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34; stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34;&gt;
        &lt;path d=&#34;M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z&#34;&gt;&lt;/path&gt;
      &lt;/svg&gt;
      
      &lt;span&gt;Timing for Scooping Out Peanuts&lt;br&gt;&lt;/span&gt;
      
    &lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This morning, I tried frying peanuts for the first time. At first, nothing seemed to change, but after frying them a few seconds longer, I scooped them out only to find they had all turned golden. They were slightly overdone but not burnt.</p>
  

  


  
  <blockquote class="alert-blockquote alert-tip" data-collapsible="&#43;">
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <path d="M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z"></path>
      </svg>
      
      <span>Timing for Scooping Out Peanuts<br></span>
      
    </p>
    <div class="alert-content callout-content">
      <p>When just 3-5 peanuts start turning golden, immediately turn off the heat, move the pan, and scoop them out. Any delay of a few seconds in these steps will result in overcooking.</p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
<p>In the morning, I finished watching Wang Defeng&rsquo;s lecture on <em>The Great Learning</em>. In the afternoon, I watched <em>Mission: Impossible – Fallout</em>.</p>
<p>In the evening, I watched Wang Defeng&rsquo;s lecture on <em>The Platform Sutra</em>. Though I felt like I gained nothing, I came to understand the spiritual worlds of others and realized my own shallowness.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 27, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-27/</link>
      <pubDate>Tue, 27 May 2025 02:24:31 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-27/</guid>
      <description>&lt;h3 id=&#34;1024-anxious-all-morning&#34;&gt;10:24 Anxious All Morning&lt;/h3&gt;
&lt;p&gt;Feeling discontent with the current situation and uncertain about the future inevitably leads to anxiety. When will life reach its conclusion? Is death truly the only endpoint?&lt;/p&gt;
&lt;p&gt;The rankings for the &lt;a href=&#34;https://jinpeng.cv/en/diary/2025/may/2025-05-23/&#34;&gt;Emergency Management Bureau interview&lt;/a&gt; have been released, which has significantly boosted my confidence. Link: &lt;a href=&#34;https://yjj.gzlps.gov.cn/bmxxgk/zfxxgk/fdzdgknr/rsxx_5804147/202505/t20250526_87926320.html&#34;&gt;Announcement of Comprehensive Evaluation (Interview) Results Ranking for the 2025 Talent Recruitment of the Affiliated Institutions under the Liupanshui Emergency Management Bureau&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;2003-studying-the-great-learning&#34;&gt;20:03 Studying &lt;em&gt;The Great Learning&lt;/em&gt;&lt;/h3&gt;
&lt;p&gt;My teeth have been hurting all day, likely due to the medication I’ve been taking. Fortunately, my eyes aren’t as uncomfortable as they were yesterday.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1024-anxious-all-morning">10:24 Anxious All Morning</h3>
<p>Feeling discontent with the current situation and uncertain about the future inevitably leads to anxiety. When will life reach its conclusion? Is death truly the only endpoint?</p>
<p>The rankings for the <a href="/en/diary/2025/may/2025-05-23/">Emergency Management Bureau interview</a> have been released, which has significantly boosted my confidence. Link: <a href="https://yjj.gzlps.gov.cn/bmxxgk/zfxxgk/fdzdgknr/rsxx_5804147/202505/t20250526_87926320.html">Announcement of Comprehensive Evaluation (Interview) Results Ranking for the 2025 Talent Recruitment of the Affiliated Institutions under the Liupanshui Emergency Management Bureau</a></p>
<h3 id="2003-studying-the-great-learning">20:03 Studying <em>The Great Learning</em></h3>
<p>My teeth have been hurting all day, likely due to the medication I’ve been taking. Fortunately, my eyes aren’t as uncomfortable as they were yesterday.</p>
<p>A few days ago, I listened to Yuantingshansheng’s reading of <em>The Great Learning</em> on the Himalaya App. This afternoon, feeling unmotivated to do anything else, I decided to take a serious look at this foremost of the Four Books.</p>
<p>I watched Wang Defeng’s lecture on Bilibili and gained a lot from it.</p>
<h3 id="2246-lying-in-bed-watching-mission-impossible">22:46 Lying in Bed Watching <em>Mission: Impossible</em></h3>
<p>The toothache was unbearable, so I wanted to distract myself. At first, I considered gaming—I only have <em>Honor of Kings</em> and chess on my phone. The former seemed boring just thinking about it, and the latter requires too much brainpower. In the end, I decided to watch a movie instead. Earlier today, I saw news that <em>Mission: Impossible 8</em> is about to be released, so I searched for <em>Mission: Impossible 1</em> on Bilibili and started watching.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 26, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-26/</link>
      <pubDate>Mon, 26 May 2025 01:52:14 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-26/</guid>
      <description>&lt;h3 id=&#34;0952-feeling-anxious-again&#34;&gt;09:52 Feeling Anxious Again&lt;/h3&gt;
&lt;p&gt;In the past, I tended to prepare and arrange daily study plans because I couldn’t go abroad due to financial constraints. But if the CSC scholarship is approved and I can go, things like English proficiency will become extremely important. Some research tools can be temporarily set aside, but I must set aside time every day to study English.&lt;/p&gt;
&lt;h3 id=&#34;1508-check-the-vendors-overall-appearance-before-buying&#34;&gt;15:08 Check the Vendor’s Overall Appearance Before Buying&lt;/h3&gt;
&lt;p&gt;A few days ago, I bought some corn and immediately noticed it wasn’t great, but I had already picked two, so I reluctantly bought them. I also noticed the vendor was selling loquats and bayberries, neither of which looked fresh.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0952-feeling-anxious-again">09:52 Feeling Anxious Again</h3>
<p>In the past, I tended to prepare and arrange daily study plans because I couldn’t go abroad due to financial constraints. But if the CSC scholarship is approved and I can go, things like English proficiency will become extremely important. Some research tools can be temporarily set aside, but I must set aside time every day to study English.</p>
<h3 id="1508-check-the-vendors-overall-appearance-before-buying">15:08 Check the Vendor’s Overall Appearance Before Buying</h3>
<p>A few days ago, I bought some corn and immediately noticed it wasn’t great, but I had already picked two, so I reluctantly bought them. I also noticed the vendor was selling loquats and bayberries, neither of which looked fresh.</p>
<p>However, it’s hard to judge the freshness of corn just by looking. Once in Guiyang, I bought some corn and complained that it was too hard. The vendor said, &ldquo;This kind softens when cooked—it’s actually the best.&rdquo; Skeptical but curious, I bought it, and it turned out surprisingly delicious. When I bought corn this time, I recalled that experience and assumed it was the same type. But today, after cooking it, I realized it wasn’t—it was just old and poor quality.</p>
  

  


  
  <blockquote class="alert-blockquote alert-tip" data-collapsible="&#43;">
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <path d="M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z"></path>
      </svg>
      
      <span>Tip</span>
      
    </p>
    <div class="alert-content callout-content">
      <p>When buying groceries, observe the overall quality of the vendor’s goods before deciding whether to purchase. Generally, vendors with a good overall image are less likely to sell subpar items, while those with a poor image are more likely to.</p>
<p>Especially for items where quality isn’t easily discernible, it’s best to avoid such vendors altogether.</p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
<h3 id="1722-went-out-for-a-walk">17:22 Went Out for a Walk</h3>
<p>My eyes have been bothering me the past few days. At first, I thought it was due to staring at my phone screen for too long. Gradually, though, I realized my wisdom tooth was inflamed—it seems every time it acts up, my eyes suffer first. I quickly took two metronidazole pills.</p>
<p>I just went to deliver a folding umbrella to my mom and picked up some mulberries my uncle had picked. I also took a stroll outside. I came across some very fresh corn, bought two, and threw away the three I had bought earlier. Then I found some fresh bayberries—I’d been craving them for days—so I bought half a kilo.</p>
  

  


  
  <blockquote class="alert-blockquote alert-tip" data-collapsible="&#43;">
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <path d="M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z"></path>
      </svg>
      
      <span>Tip</span>
      
    </p>
    <div class="alert-content callout-content">
      <p>For fresh bayberries, if you pluck off the stem at the base, a small piece of flesh comes off with it, forming a tiny, berry-like ball.</p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
<h3 id="2255-i-think-ive-lost-the-ability-to-notice-beauty">22:55 I Think I’ve Lost the Ability to Notice Beauty</h3>
<p>I remember I used to be someone who easily spotted beautiful things in everyday life and was enthusiastic about capturing those little moments with photos.</p>
<p>But now, I find it hard to notice beauty, and I rarely feel the urge to photograph the lovely things I see.</p>
<p>Maybe it’s because my surroundings lack beauty these days? Maybe I don’t go out enough to experience life? Or perhaps my inner state has changed? In any case, my phone hasn’t had any new landscape or candid photos in a long time.</p>
<p>Maybe this is a good thing—maybe I’ve shifted to appreciating life more with my eyes and memory? I don’t really know myself anymore.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 25, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-25/</link>
      <pubDate>Sun, 25 May 2025 11:20:01 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-25/</guid>
      <description>&lt;p&gt;Yesterday, I stayed up late playing games with Huanhuan and didn’t sleep until 3 a.m. Today, I’m exhausted.&lt;/p&gt;
&lt;p&gt;This morning, after getting up, I stir-fried some clams and saved some of them to make clam noodles with the leftover vermicelli from yesterday. The stir-fry turned out pretty good—I’ll definitely make it again in the future.&lt;/p&gt;
&lt;p&gt;The quality of ingredients is the key to whether a dish tastes good or not. I looked it up online and learned that clams can simply be steamed with a bit of cilantro and sesame oil, and they’ll already be delicious. Next time I get fresh clams, I’ll give that a try.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Yesterday, I stayed up late playing games with Huanhuan and didn’t sleep until 3 a.m. Today, I’m exhausted.</p>
<p>This morning, after getting up, I stir-fried some clams and saved some of them to make clam noodles with the leftover vermicelli from yesterday. The stir-fry turned out pretty good—I’ll definitely make it again in the future.</p>
<p>The quality of ingredients is the key to whether a dish tastes good or not. I looked it up online and learned that clams can simply be steamed with a bit of cilantro and sesame oil, and they’ll already be delicious. Next time I get fresh clams, I’ll give that a try.</p>
<p>In the afternoon, I sent Huanhuan home.</p>
<p>My eyes have been hurting a lot these past few days—I need to cut down on my phone time. I’ve noticed that looking at this phone for even a short while makes me feel really uncomfortable.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 24, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-24/</link>
      <pubDate>Sat, 24 May 2025 08:29:32 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-24/</guid>
      <description>&lt;p&gt;This morning, I made lobster tail pasta, and it turned out pretty good. It’s just not as tasty as live crayfish, but it’s fine to have occasionally.&lt;/p&gt;
&lt;p&gt;After a short nap in the afternoon, we went to the seafood street and bought some oysters (¥3 each, opened on the spot) and clams (¥7 per pound—the vendor even threw out the bad ones). It was quite a good deal. Then we headed to the supermarket to pick up some side ingredients and seasonings.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This morning, I made lobster tail pasta, and it turned out pretty good. It’s just not as tasty as live crayfish, but it’s fine to have occasionally.</p>
<p>After a short nap in the afternoon, we went to the seafood street and bought some oysters (¥3 each, opened on the spot) and clams (¥7 per pound—the vendor even threw out the bad ones). It was quite a good deal. Then we headed to the supermarket to pick up some side ingredients and seasonings.</p>
<p>It was my first time cooking oysters myself, and they turned out incredibly delicious—especially the quality, which was completely different from the ones at barbecue restaurants. Last week, we had oysters at a restaurant, but they were very fishy and not tasty at all. The ones we made today were exceptionally fresh and sweet, truly delightful. The only downside was that the garlic wasn’t stir-fried beforehand, so the raw spiciness was a bit overpowering.</p>
<p>We couldn’t finish all the clams, so we saved them for tomorrow.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 23, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-23/</link>
      <pubDate>Thu, 22 May 2025 16:03:15 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-23/</guid>
      <description>&lt;p&gt;I haven&amp;rsquo;t woken up early in a long time, but today I had to because I was attending an interview at the Material Support Center in the morning.&lt;/p&gt;
&lt;p&gt;Strictly speaking, this was my second structured interview. The first one was when I took the civil service selection exam in Anshun before graduating. Back then, I didn’t prepare seriously—I just watched a few videos to get familiar with the interview process. Naturally, the lack of preparation led to failure, though I was surprised to have made it to the interview stage with a completely unprepared written test.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I haven&rsquo;t woken up early in a long time, but today I had to because I was attending an interview at the Material Support Center in the morning.</p>
<p>Strictly speaking, this was my second structured interview. The first one was when I took the civil service selection exam in Anshun before graduating. Back then, I didn’t prepare seriously—I just watched a few videos to get familiar with the interview process. Naturally, the lack of preparation led to failure, though I was surprised to have made it to the interview stage with a completely unprepared written test.</p>
<p>This time, I thought I should put in some effort. If I wasn’t going to prepare properly, I might as well not go at all. So, I asked Huanhuan to help me practice for two evenings, and I also did some brief solo practice. Niwa was incredibly patient and thoughtful, explaining all sorts of interview details and precautions to me—so much so that I got a bit annoyed, haha. But deep down, I was really grateful to her.</p>
<p>Today, I left the house in a rush and ended up forgetting my ID card. However, the staff were very meticulous and checked my identity information through 12306 and Alipay, allowing me to proceed without having to go back for my ID or being denied entry.</p>
<p>After the check, I sat down in the waiting room, and the instinctive nervousness of an interview kicked in. I chatted briefly with the staff there, which helped me relax a little.</p>
<p>When it was time to draw lots for the interview order, I was the last to pick—there wasn’t much choice left. I ended up with number 3. Recently, I’ve been seeing a lot of videos on Bilibili from interview training accounts that mock nervous candidates in funny skits. They always use &ldquo;Candidate 3&rdquo; as an example, so when I drew this number, I couldn’t help but laugh.</p>
<p>Then came the interview. Compared to my first time, I was much more relaxed, and everything felt natural. There were still many examiners—a small room packed with over ten people under bright lights.</p>
<p>There were three questions, with 15 minutes in total:</p>
<ol>
<li>A quote from Xi Jinping;</li>
<li>Emergency response to natural disasters;</li>
<li>A junior staff member unwilling to fulfill emergency duty obligations.</li>
</ol>
<p>I hadn’t seriously practiced the first type of question, so I just said whatever came to mind—things like life values and patriotism. The second question was similar to what Huanhuan and I had practiced, so I was more familiar with it. For the third, I approached it with a people-oriented mindset, emphasizing understanding and leading by example in persuasion.</p>
<p>After the interview, I waited in the scoring room for what felt like forever. Time dragged on because we weren’t allowed to do anything—no talking, no reading, no phones. I don’t know how long I waited, but it seemed like they were discussing the scoring criteria for quite some time.</p>
<p>Finally, they called us over to hear our scores, and soon it was my turn. My final score: 85.8. I was quite satisfied with this result—barring any surprises, it should be the highest.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 22, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-22/</link>
      <pubDate>Wed, 21 May 2025 16:03:34 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-22/</guid>
      <description>&lt;p&gt;Summer has arrived, and I&amp;rsquo;ve been waking up quite early in the mornings, unable to fall back asleep, which feels a bit uncomfortable.&lt;/p&gt;
&lt;p&gt;After studying briefly in the morning, I felt drowsy again.&lt;/p&gt;
&lt;p&gt;Tomorrow, Xiaoyi has an interview with the Emergency Management Bureau, so he came to stay at Niuwa&amp;rsquo;s place tonight. We had a meal together and went to find Deng Ya and the others.&lt;/p&gt;
&lt;p&gt;In the evening, Huanhuan&amp;rsquo;s house was filled with relatives. I called and messaged her, but she didn’t respond promptly. I knew she was once again facing pressure from all those relatives, and there was nothing I could do about it.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Summer has arrived, and I&rsquo;ve been waking up quite early in the mornings, unable to fall back asleep, which feels a bit uncomfortable.</p>
<p>After studying briefly in the morning, I felt drowsy again.</p>
<p>Tomorrow, Xiaoyi has an interview with the Emergency Management Bureau, so he came to stay at Niuwa&rsquo;s place tonight. We had a meal together and went to find Deng Ya and the others.</p>
<p>In the evening, Huanhuan&rsquo;s house was filled with relatives. I called and messaged her, but she didn’t respond promptly. I knew she was once again facing pressure from all those relatives, and there was nothing I could do about it.</p>
<p>Today seems to have passed in a daze.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 21, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-21/</link>
      <pubDate>Wed, 21 May 2025 13:20:23 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-21/</guid>
      <description>&lt;p&gt;After sharing my emotionally draining thoughts with Huanhuan last night, I felt much calmer today.&lt;/p&gt;
&lt;p&gt;Recently, I’ve started leaning toward hoping that the CSC (China Scholarship Council) will reject my funding application. There are two main reasons for this: First, I can already foresee that the next few years abroad would likely be quite painful, and because of this, the prolonged lack of a stable job has been weighing on me for a long time. Second, I’ve begun to fear the prospect of long-term separation from my loved ones, family, and friends.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>After sharing my emotionally draining thoughts with Huanhuan last night, I felt much calmer today.</p>
<p>Recently, I’ve started leaning toward hoping that the CSC (China Scholarship Council) will reject my funding application. There are two main reasons for this: First, I can already foresee that the next few years abroad would likely be quite painful, and because of this, the prolonged lack of a stable job has been weighing on me for a long time. Second, I’ve begun to fear the prospect of long-term separation from my loved ones, family, and friends.</p>
<p>If the funding application is unsuccessful, I can accept it with peace of mind and focus on preparing for a normal life like most people—having a modest job that barely makes ends meet, a family of my own, and a comfortable routine.</p>
<p>On the other hand, if the CSC approves the funding, two factors would still leave me feeling drained and apprehensive. First, uncertainties around passport and visa issues remain, and I’d inevitably have to navigate bureaucratic hurdles—something I dread. Second, I’d once again face a prolonged period without income, continuing to feel emotionally exhausted, searching for a new foothold, while also worrying about the impending long-term separation.</p>
<p>Looking back now, the decision I made earlier doesn’t seem as wise as I once thought. However, one thing is certain: the unemployment we fear isn’t as terrifying as it seems. It’s okay to be without a job for a week, a month, or even a year.</p>
<p>Of course, the fact that I haven’t struggled as much this year is largely thanks to the support of my family and Huanhuan. It’s in times like these that I truly feel their warmth.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 20, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-20/</link>
      <pubDate>Tue, 20 May 2025 15:12:42 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-20/</guid>
      <description>&lt;p&gt;A few days ago, my older brother went to Henan for a university classmate&amp;rsquo;s wedding. Yesterday afternoon, he called me to share what he had learned, mainly about the cost-effectiveness of studying abroad, the difficulties of studying overseas, the challenges of growing older, and the situation after returning to China.&lt;/p&gt;
&lt;p&gt;I was already aware of these things, but hearing him reiterate them made me even more anxious.&lt;/p&gt;
&lt;p&gt;Last night, when I video-called Huanhuan, I sensed she seemed a bit down. I asked her what was wrong, but she said it was nothing.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A few days ago, my older brother went to Henan for a university classmate&rsquo;s wedding. Yesterday afternoon, he called me to share what he had learned, mainly about the cost-effectiveness of studying abroad, the difficulties of studying overseas, the challenges of growing older, and the situation after returning to China.</p>
<p>I was already aware of these things, but hearing him reiterate them made me even more anxious.</p>
<p>Last night, when I video-called Huanhuan, I sensed she seemed a bit down. I asked her what was wrong, but she said it was nothing.</p>
<p>This morning, I noticed the date was May 20th. I thought about the electric shaver Huanhuan had bought me a few days ago and remembered I had promised to get her a photo printer. So, I checked on JD.com and saw there was a national subsidy, which brought the price down a bit—though it was still a little expensive at 800 yuan.</p>
<p>I noticed that on Ku&rsquo;an, there had been a 50% discount coupon during last year&rsquo;s Double 11, which would have brought the price down to under 400 yuan. Huanhuan thought it wasn’t cost-effective now, so we decided to wait and see if a similar deal comes up later. She told me to cancel the order for now and reconsider later.</p>
<p>In the morning, Xiaoxue contacted me, suggesting I buy Huanhuan flowers, a cake, or milk tea. I felt flowers were a bit awkward—I don’t really see this as a holiday, just something hyped up by businesses and marketing. I wasn’t keen on buying them and didn’t think Huanhuan would like following the trend either. As for cake, Huanhuan does enjoy it, but her acne hasn’t cleared up yet, so I didn’t want her eating sweets.</p>
<p>At noon, while Huanhuan was having lunch with Zou Zou, I ordered milk tea for them. In the afternoon, Huanhuan shared with me about her colleague’s partner and the flowers someone had given her. That’s when I realized Xiaoxue was right—Huanhuan does like receiving gifts or surprises on such occasions.</p>
<p>So, I immediately told Huanhuan I’d buy her a bouquet. I quickly found a nice-looking one on Meituan and added the shop owner on WeChat to ask if they could make it. The owner said they were missing some materials and couldn’t replicate the exact bouquet but could make something similar. I asked what fresh flowers they had, and the owner said I could send a picture of what I liked for them to recreate. I sent one I personally liked, though I wasn’t very confident in the owner’s taste or skills.</p>
<p>Sure enough, when the flowers were done, they didn’t look much like the reference photo. To their credit, the owner was honest and admitted the result wasn’t great, offering a discount and extra flowers next time.</p>
<p>I didn’t reply because improving one’s aesthetic sense isn’t something that happens overnight.</p>
<p>In the evening, my mom asked me to go for a walk. When we reached the stadium, she asked if I had sent Huanhuan a red envelope. I said no, and we ended up discussing the topic of red envelopes. Though it was more of a one-sided conversation, as my mom rarely expresses her opinions openly.</p>
<p>All these things left me feeling down all day. During my evening interview, I couldn’t focus very well. Later, I debated whether to talk to Huanhuan about it. It was clear she had already noticed something was off. After hesitating for a long time, I decided to open up—otherwise, she might lose sleep over guessing what was wrong.</p>
<p>We talked late into the night, sharing our thoughts. I can’t really say which of us was being more mature or rational. Overall, maintaining an open and understanding attitude is the best approach.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 19, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-19/</link>
      <pubDate>Mon, 19 May 2025 15:02:21 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-19/</guid>
      <description>&lt;p&gt;Xiaoyi was coming to Shuicheng today and sent me a message early in the morning saying she was about to arrive. I got up, took a shower, and quickly cooked a bowl of noodles for breakfast. I packed a zongzi (sticky rice dumpling) for her and headed out. Today, we were going to the Emergency Management Bureau for a qualification review.&lt;/p&gt;
&lt;p&gt;After finishing the review around noon, I took her to try some &lt;em&gt;xiaoguojuan&lt;/em&gt; (a local rolled snack) and Yuan Kun’s mutton rice noodles. After that, she returned to Guiyang. On my way home, I bought some waxberries and, upon seeing a vendor selling bamboo shoots, picked up two as well.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Xiaoyi was coming to Shuicheng today and sent me a message early in the morning saying she was about to arrive. I got up, took a shower, and quickly cooked a bowl of noodles for breakfast. I packed a zongzi (sticky rice dumpling) for her and headed out. Today, we were going to the Emergency Management Bureau for a qualification review.</p>
<p>After finishing the review around noon, I took her to try some <em>xiaoguojuan</em> (a local rolled snack) and Yuan Kun’s mutton rice noodles. After that, she returned to Guiyang. On my way home, I bought some waxberries and, upon seeing a vendor selling bamboo shoots, picked up two as well.</p>
<p>For dinner, I tried making bamboo shoot rice—it was incredibly fragrant!</p>
<p>In the afternoon, I finally finished reviewing the second round of Teacher Zhengdao’s material analysis. Since I have an interview coming up in a few days, I asked Huanhuan to play the role of the interviewer to help me practice. This exercise revealed many issues: my speech was not smooth due to nervousness, and the nervousness stemmed from a lack of confidence in my own logical thinking. I could come up with ideas, but I wasn’t entirely sure about them, leading to hesitant descriptions, physical tension, and verbal stumbling.</p>
<p>I need to build more confidence—first, I must believe that what I say is correct. Only then can I convince others. Additionally, this practice highlighted many detailed problems, mainly in the following areas:</p>
<ol>
<li><strong>Speak clearly</strong>: Believe in yourself first, so others can believe in you. It’s helpful to provide appropriate examples.</li>
<li><strong>Be people-oriented</strong>: This is the core and foundation of the entire process. Always remember where your authority and livelihood come from.</li>
<li><strong>Stay grounded in reality</strong>: People want to feel understood and seen.</li>
<li><strong>Accumulate professional terminology</strong>: This will help when dealing with more abstract questions.</li>
<li>When describing events, you can apply the STAR principle (Situation, Task, Action, Result).</li>
</ol>
]]></content:encoded>
    </item>
    <item>
      <title>May 18, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-18/</link>
      <pubDate>Sun, 18 May 2025 13:40:16 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-18/</guid>
      <description>&lt;p&gt;This morning, my mom called and told me to go to the sports center tomorrow morning to eat stewed goose. I really didn’t want to go, but my second aunt and my sister Lian kept nagging nonstop on the other end of the line, making it impossible to refuse.&lt;/p&gt;
&lt;p&gt;I quickly got up, cooked a bowl of noodles, and shared some with Xiaohuanhuan. Then, I prepared the materials for tomorrow’s qualification review while Huanhuan helped me wash the dishes and tidy up neatly.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This morning, my mom called and told me to go to the sports center tomorrow morning to eat stewed goose. I really didn’t want to go, but my second aunt and my sister Lian kept nagging nonstop on the other end of the line, making it impossible to refuse.</p>
<p>I quickly got up, cooked a bowl of noodles, and shared some with Xiaohuanhuan. Then, I prepared the materials for tomorrow’s qualification review while Huanhuan helped me wash the dishes and tidy up neatly.</p>
<p>Before I knew it, it was already noon. We left the house together and took the same bus—she went for an exam, and I headed to the sports center.</p>
<p>Relatives are always so hospitable. I ate a lot of delicious food, and when it was about time, I came back.</p>
<p>The buses in Shuicheng are absolutely ridiculous. The drivers never wait an extra second, not even for someone with mobility issues getting off. Next time someone argues with the driver, I won’t feel any sympathy for them.</p>
<p>After returning, I lay down and rested for half an hour, then went out to print the materials for the qualification review and stopped by the courier station to pick up the razor Huanhuan bought for me.</p>
<p>And just like that, another day passed.</p>
<h3 id="2148--acting-very-impatient-again">21:48 — Acting Very Impatient Again</h3>
<p>Tonight, my mom video-called me and said her phone couldn’t make or receive calls.</p>
<p>I thought of asking her to use QQ’s screen-sharing feature so I could see what was going on. But the process of logging into QQ completely stumped her. No matter how I tried to guide her, she couldn’t get it, and I ended up speaking to her very impatiently the whole time.</p>
<p>Eventually, I gave up. I tried calling her and found that the call went through, and she could call back normally. Then she said my dad’s phone wasn’t working. With extreme impatience, I snapped, “Just try calling back!”</p>
<p>It probably worked, but my mom didn’t call again. I felt pretty guilty. Since it was already late, I’ll call her tomorrow to check in.</p>
  

  


  
  <blockquote class="alert-blockquote alert-tip" data-collapsible="&#43;">
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <path d="M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z"></path>
      </svg>
      
      <span>Lessons Learned</span>
      
    </p>
    <div class="alert-content callout-content">
      <ol>
<li>In the future, it might be easier to download Tencent Meeting for my parents.</li>
<li>If possible, verifying the issue immediately is a crucial first step.</li>
<li>I still need to improve my communication skills and work on my mindset—less hurting others.</li>
</ol>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
<h3 id="2255--optimized-the-heatmap">22:55 — Optimized the Heatmap</h3>
<p>Fixed the issue where intensity=0 wouldn’t display and reset the font to <code>size=7px, weight=500</code>.</p>
<p>Now it looks very aesthetically pleasing. I hope I can keep filling in all the squares.</p>
<img loading="lazy" src="../../../../static/images/diary/%E7%83%AD%E5%8A%9B%E5%9B%BE.png"><p><strong>Heatmap of My Recent Life</strong></p>
<p>Recently, I&rsquo;ve been trying to visualize my daily routines and habits using a heatmap. This chart clearly shows the distribution of my time and energy over the past few weeks.</p>
<p>The red areas indicate high-intensity activities, such as work and study sessions, while the blue parts represent relaxation or leisure time. I noticed that my productivity peaks in the morning, gradually declining in the afternoon and evening. There are also some blank spots—those are probably days when I was too lazy to record anything.</p>
<p>Looking at this heatmap, I realize I need to better balance work and rest. Maybe I should schedule more breaks or adjust my tasks to match my natural energy fluctuations.</p>
<p>How do you track your daily activities? Do you also use visualization tools? Feel free to share your methods!</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 17, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-17/</link>
      <pubDate>Sat, 17 May 2025 13:53:40 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-17/</guid>
      <description>&lt;p&gt;Today was a very special day.&lt;/p&gt;
&lt;p&gt;Huanhuan and I played *Split fiction all day long, skipping breakfast. Suddenly, hot dogs appeared in the game, making us crave them so badly that Huanhuan quickly steamed two zongzi for us to eat.&lt;/p&gt;
&lt;p&gt;As it got dark, we went out for a walk, thinking about buying some delicious grilled sausages. But we couldn’t find any. There was a single dried-out one at a &lt;em&gt;Meiyijia&lt;/em&gt; convenience store, but we didn’t buy it.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today was a very special day.</p>
<p>Huanhuan and I played *Split fiction all day long, skipping breakfast. Suddenly, hot dogs appeared in the game, making us crave them so badly that Huanhuan quickly steamed two zongzi for us to eat.</p>
<p>As it got dark, we went out for a walk, thinking about buying some delicious grilled sausages. But we couldn’t find any. There was a single dried-out one at a <em>Meiyijia</em> convenience store, but we didn’t buy it.</p>
<p>We walked really, really far. Later, we suddenly felt like eating oysters and drinking Coke. We found a barbecue shop that said they had them, so we went in and ordered four while we waited.</p>
<p>After half an hour, the food ended up being served to another table, which made us a little upset. We walked around some more and found another place that was even cheaper. We ordered a dozen right away, but they weren’t very tasty. Maybe next time we should just make them ourselves.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 16, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-16/</link>
      <pubDate>Thu, 15 May 2025 16:06:53 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-16/</guid>
      <description>&lt;p&gt;I stayed up late last night just to tinker with my phone&amp;rsquo;s TTS and text-to-speech functions. Before I knew it, it was past 1 a.m., and I knew most of the morning would be wasted.&lt;/p&gt;
&lt;p&gt;Around 8 a.m., the Emergency Management Bureau called for a qualification review, so I quickly cleared my throat and answered. After that, I couldn’t fall back asleep, so I got up, took a shower, did the laundry, and made breakfast.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I stayed up late last night just to tinker with my phone&rsquo;s TTS and text-to-speech functions. Before I knew it, it was past 1 a.m., and I knew most of the morning would be wasted.</p>
<p>Around 8 a.m., the Emergency Management Bureau called for a qualification review, so I quickly cleared my throat and answered. After that, I couldn’t fall back asleep, so I got up, took a shower, did the laundry, and made breakfast.</p>
<p>Just as I was about to shower, the power went out. I went outside to check and found that the circuit breaker had failed—the wiring wasn’t properly connected before and had burned out. Luckily, the water was already hot, so I showered and then started figuring out how to replace the breaker.</p>
<p>I initially thought about doing it myself. A 2P63A circuit breaker costs less than 30 yuan on Meituan, but I was a bit nervous to handle it alone. I checked the price online through Meituan’s service, and they quoted 130 yuan, which felt overpriced. So, I went out to find a repair shop instead. I found a couple running a repair store, and they charged 80 yuan, including materials. I didn’t haggle and agreed right away.</p>
<p>At noon, I messed around with a JS script and missed my nap time. In the afternoon, I lay down for a while but couldn’t sleep, so I ended up playing on my phone.</p>
<p>Later, I tidied up my room, but my eyes were so tired that I went back to sleep.</p>
<p>A day without studying—just pure slacking.</p>
<hr>
<p>By the way, last night I suddenly thought of my brother-in-law’s father. I’m not sure what the proper formal term is, so I’ll just call him Uncle. I often think of him inexplicably, so I jotted down a few notes.</p>
<blockquote>
<h2 id="0216-an-old-phone-suddenly-beeped">02:16 An old phone suddenly beeped</h2>
<p>My sister’s phone suddenly made a system notification sound, and my mind started wandering.<br>
I thought about how her WeChat might still have chat logs with Uncle Chaoyang, which I never backed up. The thought made me miss him again, remembering how he looked when he passed away, how hardworking he was.</p>
<p>What kind of life should one live? He embodied so many admirable qualities—bravery, kindness, diligence, selflessness, intelligence, confidence, extroversion, optimism. It’s rare for someone to possess all these traits.</p>
<p>Just thinking about it brings me to tears.</p>
<p>Our interactions weren’t many, yet why has such a towering figure left such a deep impression on me? He helped my family in countless ways—arranging medical care for my mom, plowing fields, driving my dad to Shuicheng, assisting my brother with his wedding, even castrating pigs for our household. He was always energetic, never seeking comfort, never drinking alcohol, often rushing from one task to another.</p>
<p>I want to be like him.</p>
</blockquote>
<p>When I woke up in the morning and checked my phone, I realized it was just a system notification from <strong>Find My Device</strong>.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 15, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-15/</link>
      <pubDate>Thu, 15 May 2025 13:23:49 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-15/</guid>
      <description>&lt;p&gt;I didn&amp;rsquo;t accomplish anything today.&lt;/p&gt;
&lt;p&gt;From morning until noon, I had an online interview with the Energy Bureau. I had prepared my self-introduction for a long time, but as soon as it started, they went straight to asking me questions, which caught me off guard. It took me a full minute to regain my composure.&lt;/p&gt;
&lt;p&gt;I feel like interviews require practice to handle various situations calmly. Still, it was a good experience for me because it highlighted areas where I need improvement.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I didn&rsquo;t accomplish anything today.</p>
<p>From morning until noon, I had an online interview with the Energy Bureau. I had prepared my self-introduction for a long time, but as soon as it started, they went straight to asking me questions, which caught me off guard. It took me a full minute to regain my composure.</p>
<p>I feel like interviews require practice to handle various situations calmly. Still, it was a good experience for me because it highlighted areas where I need improvement.</p>
<p>After the interview, I wanted to lie in bed and rest for a while. Earlier, my dad had asked me to buy a phone for my mom. The delivery driver called around 2 p.m., and since it was a government-subsidized order, I had to go to the Finance Bureau to sign for it in person.</p>
<p>The Redmi Turbo 4 Pro actually feels more premium than my Xiaomi 15, and I ended up playing with it for way too long. I really shouldn’t have&hellip;</p>
<p>The carp I bought yesterday turned out terribly cooked, and I felt a bit guilty about it—I had specifically picked the liveliest fish at the store. The tofu from the supermarket was also awful, completely ruining my dish. I ended up separating them, barely managing to finish the fish, and then re-frying the tofu in oil to make it somewhat edible.</p>
<p>After dinner, I took the phone to my mom and spent about an hour setting it up for her before heading back.</p>
<p>It’s already 9:45 p.m. I watched a video by Bi Dao today, which talked about how our lives follow a logarithmic scale. The further we go, the faster time seems to pass. According to the calculations, by the time we’re 18, we’ve already lived half of our perceived lifetime.</p>
<p>Suddenly, I felt a bit panicked—life is already slipping away. How to truly experience and hold onto time might be a topic worth exploring.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 14, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-14/</link>
      <pubDate>Wed, 14 May 2025 01:38:52 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-14/</guid>
      <description>&lt;h3 id=&#34;0920-optimizing-diary-information-display&#34;&gt;09:20 Optimizing Diary Information Display&lt;/h3&gt;
&lt;p&gt;Yesterday, I only added the attributes but didn’t have time to implement them. Today, I spent some time making it work and also optimized the style and layout.&lt;/p&gt;
&lt;h3 id=&#34;0952-drew-number-27-for-the-interview&#34;&gt;09:52 Drew Number 27 for the Interview&lt;/h3&gt;
&lt;p&gt;For the interview at the Energy Bureau, I drew number 27. Being at the very end is quite annoying.&lt;/p&gt;
&lt;h3 id=&#34;1013-studying-after-a-shower&#34;&gt;10:13 Studying After a Shower&lt;/h3&gt;
&lt;p&gt;On the Himalaya App, there’s a program called &lt;a href=&#34;https://m.ximalaya.com/album/2801256?from=pc&#34;&gt;&lt;em&gt;National Centre for the Performing Arts | Listening to Classical Music&lt;/em&gt;&lt;/a&gt;. The host prepares each episode exceptionally well, even expanding on some stories and knowledge. It’s much better than randomly listening to songs or radio programs—no weird lyrics to make me feel agitated. It also allows me to appreciate the variations in music, preventing me from getting tired of the same genre too quickly.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0920-optimizing-diary-information-display">09:20 Optimizing Diary Information Display</h3>
<p>Yesterday, I only added the attributes but didn’t have time to implement them. Today, I spent some time making it work and also optimized the style and layout.</p>
<h3 id="0952-drew-number-27-for-the-interview">09:52 Drew Number 27 for the Interview</h3>
<p>For the interview at the Energy Bureau, I drew number 27. Being at the very end is quite annoying.</p>
<h3 id="1013-studying-after-a-shower">10:13 Studying After a Shower</h3>
<p>On the Himalaya App, there’s a program called <a href="https://m.ximalaya.com/album/2801256?from=pc"><em>National Centre for the Performing Arts | Listening to Classical Music</em></a>. The host prepares each episode exceptionally well, even expanding on some stories and knowledge. It’s much better than randomly listening to songs or radio programs—no weird lyrics to make me feel agitated. It also allows me to appreciate the variations in music, preventing me from getting tired of the same genre too quickly.</p>
<h3 id="1945-repairing-an-old-phone">19:45 Repairing an Old Phone</h3>
<p>I managed to fix the broken phone at home earlier, but the back cover was still damaged. So, I bought a replacement online.</p>
<p>It’s been quite a saga—I initially bought the wrong model and had to exchange it, and it just arrived today. After carefully cleaning off the residual adhesive and attaching the new back cover, I noticed it didn’t fit perfectly. I lightly tapped the edges that were sticking up, and&hellip; the newly replaced back cover shattered. Ugh. I ended up covering the broken part with a sticker to prevent glass shards from falling out.</p>
<h3 id="2136-reflecting-on-today">21:36 Reflecting on Today</h3>
<p>This afternoon, I tested whether the interview setup was working properly. After finishing the test, I went to the supermarket to buy groceries.</p>
<p>Every time I go to the supermarket, I end up buying way too much food. Tonight, I planned to eat glass noodles, so I bought some. Huanhuan mentioned they had fish for lunch, so I bought a fish too. When I got home, I realized there was still some sliced cured meat from the day before yesterday that needed to be cooked soon. As a result, I now have more food than I can finish.</p>
<p>This seems to clash with my fasting day plan. Oh well, I’ll figure it out later.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 13, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-13/</link>
      <pubDate>Tue, 13 May 2025 15:23:42 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-13/</guid>
      <description>&lt;h3 id=&#34;2348-shoulders-feel-so-sore&#34;&gt;23:48 Shoulders Feel So Sore&lt;/h3&gt;
&lt;p&gt;Another day has come to an end, and I can barely recall what I did today.&lt;/p&gt;
&lt;p&gt;Let me think: studying, helping Mom with her phone, playing on my phone, sleeping.&lt;/p&gt;
&lt;h3 id=&#34;2349-created-a-new-templater-template-for-callouts&#34;&gt;23:49 Created a New Templater Template for Callouts&lt;/h3&gt;
&lt;p&gt;I often use callouts in my notes for exercises, notes, tips, and the like. Writing them in native syntax gets tedious, especially with all the switching between Chinese and English. So, I made a Templater template to make it easier.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="2348-shoulders-feel-so-sore">23:48 Shoulders Feel So Sore</h3>
<p>Another day has come to an end, and I can barely recall what I did today.</p>
<p>Let me think: studying, helping Mom with her phone, playing on my phone, sleeping.</p>
<h3 id="2349-created-a-new-templater-template-for-callouts">23:49 Created a New Templater Template for Callouts</h3>
<p>I often use callouts in my notes for exercises, notes, tips, and the like. Writing them in native syntax gets tedious, especially with all the switching between Chinese and English. So, I made a Templater template to make it easier.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="k">&gt; </span><span class="ge">[!&lt;% tp.system.suggester((item) =&gt; item, [&#34;question&#34;, &#34;note&#34;, &#34;tip&#34;]) %&gt;]+ &lt;% tp.system.prompt(&#34;Please input callout title&#34;, &#34;Example&#34;) %&gt;  
</span></span></span><span class="line"><span class="cl"><span class="k">&gt; </span><span class="ge">&lt;% tp.system.clipboard() %&gt;  
</span></span></span><span class="line"><span class="cl"><span class="k">&gt; </span><span class="ge"> 
</span></span></span></code></pre></td></tr></table>
</div>
</div><p>For the main content, I used Metan AI to transcribe it, which made things much more convenient.</p>
<h3 id="2353-added-an-stime-attribute-to-my-journal">23:53 Added an <code>stime</code> Attribute to My Journal</h3>
<p>This attribute tracks daily phone usage time to analyze long-term changes in my habits.</p>
<p>I originally wanted to log sleep time too, but I sometimes nap at noon, and phone tracking isn’t accurate enough. So, I’ll leave it at that for now.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 12, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-12/</link>
      <pubDate>Mon, 12 May 2025 01:34:19 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-12/</guid>
      <description>&lt;h2 id=&#34;0832-got-up-after-playing-on-my-phone-for-a-long-time&#34;&gt;08:32 Got up after playing on my phone for a long time&lt;/h2&gt;
&lt;p&gt;Woke up in the morning, took a shower, and tossed my dirty clothes into the washing machine. Sniffed the rice I cooked on Friday night—no weird smell yet—so I stir-fried it with some potatoes and eggs.&lt;/p&gt;
&lt;h2 id=&#34;0935-checked-csc-and-talent-recruitment-programs&#34;&gt;09:35 Checked CSC and talent recruitment programs&lt;/h2&gt;
&lt;p&gt;Time flies—it’s almost mid-May already. Just opened the CSC website, and as expected, no results yet. Then I checked the talent expo website for updates on the talent recruitment progress—same deal, not even an interview notice.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h2 id="0832-got-up-after-playing-on-my-phone-for-a-long-time">08:32 Got up after playing on my phone for a long time</h2>
<p>Woke up in the morning, took a shower, and tossed my dirty clothes into the washing machine. Sniffed the rice I cooked on Friday night—no weird smell yet—so I stir-fried it with some potatoes and eggs.</p>
<h2 id="0935-checked-csc-and-talent-recruitment-programs">09:35 Checked CSC and talent recruitment programs</h2>
<p>Time flies—it’s almost mid-May already. Just opened the CSC website, and as expected, no results yet. Then I checked the talent expo website for updates on the talent recruitment progress—same deal, not even an interview notice.</p>
<p>Started feeling anxious again, unsure of what to do next.</p>
<p>QQ Music recommended a song called &ldquo;Don’t Panic, There’s Moonlight After Sunset.&rdquo; The singer moaned lyrics like:</p>
<blockquote>
<p>Don’t be lost~<br>
Don’t panic~<br>
……<br>
Don’t waver~<br>
Don’t be disheartened~</p>
</blockquote>
<p>It genuinely annoyed me. These verb-object structures made up entirely of negative words—if you just listen to it as background music, all you hear is <em>don’t, lost, panic, disheartened, be lost</em>, and so on. For someone who isn’t lost, panicked, wavering, or disheartened, it might not seem off. But for someone actually feeling those emotions, it’s nothing but irritating.</p>
<h2 id="2136-streetlight-landmarks">21:36 Streetlight landmarks</h2>
<p>Made a cold-tossed lettuce and stir-fried cabbage for dinner—ate too much. Decided to go for a walk and called my mom while on Kang Le Road to ask if she wanted to join. She said sure.</p>
<p>Ended up lecturing her the whole evening. At first, I pointed out the municipal government bus stop to her. She studied it carefully and said she could use the nearby postal newsstand as a landmark. I said those things are everywhere. Then she suggested using a forked roadside tree as a marker.</p>
<p>I said, &ldquo;There are so many trees—you might as well use the streetlights as landmarks.&rdquo; Of course, I was being sarcastic, but she took it seriously and started taking photos of the lampposts with her phone.</p>
<p>I was torn between laughing and facepalming. I said, &ldquo;What about the China Agricultural Development Bank right there?&rdquo; Then I explained that landmarks should be things like malls, schools, hospitals, or intersections.</p>
<h2 id="2201-buying-mangoes">22:01 Buying mangoes</h2>
<p>I’d been wanting to buy some mangoes since yesterday, but my mom said they weren’t good—the ones with a bit of red on the skin taste better. When we passed by the fruit stand earlier, I almost bought some but held back, afraid she’d nag me.</p>
<p>After passing the stadium, I saw another vendor with a cart selling mangoes. They weren’t expensive and looked fresh, so I decided to buy a few. As soon as I asked the vendor, my mom predictably started up: &ldquo;These don’t taste good, why waste money,&rdquo; blah blah blah&hellip;</p>
<p>It really got on my nerves. I bought them anyway, and after walking a bit, I started lecturing her. I said, &ldquo;I just want to eat them now. They’re not expensive, and I’m not buying a ton. Do you have to keep nagging?&rdquo;</p>
<p>Then I took one out of the bag and handed it to her. &ldquo;Try it. Is it really that bad? Is it worth the price?&rdquo;<br>
She stopped talking after that.</p>
<p>Later, I told Huanhuan about it, and she said I sometimes do the same—judging her based on my own experiences and opinions. I thought about it, and she’s right.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 11, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-11/</link>
      <pubDate>Sun, 11 May 2025 15:06:42 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-11/</guid>
      <description>&lt;p&gt;This morning, we went to eat beef noodles, but they were too salty and not very tasty. At noon, Huanhuan went to work overtime for a while, and then we went to find Xiaoxue to have Dicos. We had actually planned to meet her yesterday, but by the time we got back from Chengguan last night, it was already quite cold, and the weather wasn’t great.&lt;/p&gt;
&lt;p&gt;Dicos recently launched a new menu item: chili oil chicken drumsticks. It left me feeling greasy all day—never pour oil over fried food!!!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This morning, we went to eat beef noodles, but they were too salty and not very tasty. At noon, Huanhuan went to work overtime for a while, and then we went to find Xiaoxue to have Dicos. We had actually planned to meet her yesterday, but by the time we got back from Chengguan last night, it was already quite cold, and the weather wasn’t great.</p>
<p>Dicos recently launched a new menu item: chili oil chicken drumsticks. It left me feeling greasy all day—never pour oil over fried food!!!</p>
<p>For dinner, we had the corn Xiaoxue brought us at noon. After eating, I called my mom and asked her to come out for a walk. I suggested she take the bus, but she was still a bit hesitant, maybe because she thought spending two yuan was a waste of money, so she walked to meet me instead. On the way, we bought some hawthorn balls. When she saw the sugar coating on them, she thought it was ice and said it was too cold, which made the shop assistant laugh. She told me she had never eaten hawthorn before and hadn’t even seen it.</p>
<p>We passed by a SANFU store, so I took her inside to look around. She wanted to buy a hair tie, tried a few, but ultimately didn’t buy anything. Later, we went to a small goods supermarket, but the quality of the items there wasn’t great, and the prices were quite high. She initially wanted to pick up a hair clip, but I told her it didn’t look very nice and wasn’t comfortable, so we decided to check other stores later.</p>
<p>Huanhuan suggested that we could take pictures of the products and buy them online—for the same price, we could get a whole bunch.</p>
<p>I’ll look into it.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 10, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-10/</link>
      <pubDate>Sat, 10 May 2025 15:04:09 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-10/</guid>
      <description>&lt;p&gt;Last night, it rained heavily for a long time. When I woke up this morning, the temperature was particularly low, so we stayed in the room and played for quite a while.&lt;/p&gt;
&lt;p&gt;In the morning, Xiaohuanhuan had to work overtime, so I stayed in bed by myself, playing on my phone until noon.&lt;/p&gt;
&lt;p&gt;Around two o&amp;rsquo;clock, I decided to visit my grandfather at my second uncle&amp;rsquo;s house. I checked the map and strolled over leisurely. On the way, I stopped by the supermarket near the neighborhood to buy some soy milk powder and regular milk, then spent a simple half-hour there.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Last night, it rained heavily for a long time. When I woke up this morning, the temperature was particularly low, so we stayed in the room and played for quite a while.</p>
<p>In the morning, Xiaohuanhuan had to work overtime, so I stayed in bed by myself, playing on my phone until noon.</p>
<p>Around two o&rsquo;clock, I decided to visit my grandfather at my second uncle&rsquo;s house. I checked the map and strolled over leisurely. On the way, I stopped by the supermarket near the neighborhood to buy some soy milk powder and regular milk, then spent a simple half-hour there.</p>
<p>I always feel a bit uneasy when visiting other people&rsquo;s homes, and I can sense their discomfort too—probably because we&rsquo;re not very familiar with each other.</p>
<p>Yesterday, Huanhuan&rsquo;s mom told her mother-in-law that we wanted to eat bamboo shoots. After Huanhuan got off work, we took an unofficial taxi to Chengguan, bought some cakes and drinks, and headed over. Huanhuan&rsquo;s grandmother had already stewed the bamboo shoots with pork ribs until they were rich, tender, and falling apart. My mouth watered so much that I couldn’t resist lifting the lid to peek twice.</p>
<p>After dinner, we went out again to buy a watermelon—2.5 yuan per jin, and it was quite sweet. These days, watermelons are already flooding the market, so they’re not out-of-season ones.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 9, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-09/</link>
      <pubDate>Fri, 09 May 2025 02:25:29 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-09/</guid>
      <description>&lt;h3 id=&#34;1025-xiaomi-15-speaker-distortion&#34;&gt;10:25 Xiaomi 15 Speaker Distortion&lt;/h3&gt;
&lt;p&gt;I stayed up very late last night. While washing up, I noticed a thin layer of water stains on the counter where I placed the basin. I propped up my Xiaomi 15 against the basin to make a video call. Then I saw the water stains seeping into the phone through the case, so I quickly grabbed it, shook it off, and moved it elsewhere.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1025-xiaomi-15-speaker-distortion">10:25 Xiaomi 15 Speaker Distortion</h3>
<p>I stayed up very late last night. While washing up, I noticed a thin layer of water stains on the counter where I placed the basin. I propped up my Xiaomi 15 against the basin to make a video call. Then I saw the water stains seeping into the phone through the case, so I quickly grabbed it, shook it off, and moved it elsewhere.</p>
<p>A while later, I noticed the speaker was distorting—oddly, it was the top speaker. Ever since I got this phone, I’d felt the top speaker’s sound quality was subpar, but I never expected it to start distorting outright. I began searching forums and communities for similar issues and found that this wasn’t an isolated case. The speakers clearly have a problem. Strangely, water stains entering the charging port or audio jack could actually affect the distortion in the other speaker. Later, I used a hairdryer to blow air into the bottom speaker grille for a while, and the distortion improved somewhat.</p>
<p>Though this is a minor issue, given the phone’s price, I don’t think such problems should exist. It made me consider returning or exchanging it. I kept browsing the community for possible solutions and before I knew it, it was already 2 a.m.</p>
<h3 id="1510-heading-out">15:10 Heading Out</h3>
<p>Went to Hongguo to find Huanhuan.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 8, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-08/</link>
      <pubDate>Thu, 08 May 2025 07:36:21 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-08/</guid>
      <description>&lt;p&gt;Getting up with a spring helps me wake up faster. After getting up, I called my mom and said I’d go see her to buy groceries, check on how she’s doing, and offer some encouragement.&lt;/p&gt;
&lt;p&gt;The produce there is quite fresh, mostly grown by the sellers themselves. I bought some blueberries for my mom, and for myself, I picked up some greens, tofu, bamboo shoots, and tomatoes. I’ve got more vegetables than I can finish.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Getting up with a spring helps me wake up faster. After getting up, I called my mom and said I’d go see her to buy groceries, check on how she’s doing, and offer some encouragement.</p>
<p>The produce there is quite fresh, mostly grown by the sellers themselves. I bought some blueberries for my mom, and for myself, I picked up some greens, tofu, bamboo shoots, and tomatoes. I’ve got more vegetables than I can finish.</p>
<p>Running into things I don’t quite understand always leaves me feeling a bit frustrated, but I just let it be. Time flies—it’s already been a week into May, and the results of the CSC application will be out soon. Lately, people keep asking me about the outcome, but I don’t really want to dwell on it. Whether I pass or fail, it’ll bring its own set of troubles.</p>
<p>My mom has been wanting to learn how to take the bus. In the evening, I called and asked if she’d like to come out so I could teach her. She agreed. I showed her how to read the bus stop signs and demonstrated how to use the map on her phone. Finally, we took Bus No. 3 to the Maternal and Child Health Hospital, got off, and walked to People’s Square. There, we saw a group learning to dance, so I took her over to watch. She seemed curious but kept saying to herself that she was too clumsy and not flexible enough. I told her everyone starts learning at this age. After standing there for a while, she began mimicking the steps. I encouraged her to join in, and to my surprise, she really let loose and started dancing.</p>
<p>But the lesson was almost over, and soon the real music started for the group to dance along. She danced for a bit before coming back to me, saying she couldn’t keep up. I told her to just go and dance freely. After a while, she came back again, and I said, &ldquo;Just keep dancing randomly for a few months, and you’ll pick it up.&rdquo;</p>
<p>Then I asked her to navigate us to the Telecom Building to take Bus No. 4 back. She still struggles to grasp the methods and logic behind it—her lack of spatial awareness is a big hurdle.</p>
<blockquote>
<p>The ability to immediately notice impatience in oneself is often a sign of patience.</p>
</blockquote>
]]></content:encoded>
    </item>
    <item>
      <title>May 7, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-07/</link>
      <pubDate>Wed, 07 May 2025 05:32:34 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-07/</guid>
      <description>&lt;h3 id=&#34;1332-first-time-stir-frying-spicy-chicken&#34;&gt;13:32 First Time Stir-Frying Spicy Chicken&lt;/h3&gt;
&lt;p&gt;I used too little oil for frying the chicken, so the meat didn’t dry out enough. I overlooked the saltiness of the fermented bean paste, which led to oversalting.&lt;/p&gt;
&lt;p&gt;I accidentally set the rice cooker to &amp;ldquo;keep warm&amp;rdquo; instead of &amp;ldquo;cook,&amp;rdquo; so I took the opportunity to fry a potato and mix it in. I continued stir-frying the chicken over low heat, and by adding the potato, the spicy chicken dish turned into a dry pot chicken with potatoes.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1332-first-time-stir-frying-spicy-chicken">13:32 First Time Stir-Frying Spicy Chicken</h3>
<p>I used too little oil for frying the chicken, so the meat didn’t dry out enough. I overlooked the saltiness of the fermented bean paste, which led to oversalting.</p>
<p>I accidentally set the rice cooker to &ldquo;keep warm&rdquo; instead of &ldquo;cook,&rdquo; so I took the opportunity to fry a potato and mix it in. I continued stir-frying the chicken over low heat, and by adding the potato, the spicy chicken dish turned into a dry pot chicken with potatoes.</p>
<p>The potato helped balance out the saltiness, so it turned out fairly successful.</p>
<h3 id="1834-taking-notes-can-improve-focus">18:34 Taking Notes Can Improve Focus</h3>
<p>Clear and logical notes have a creative aspect to them, providing a certain level of positive feedback that helps enhance concentration.</p>
<p>Sometimes, impatience makes the process feel slow, but remember: <strong>slow is fast</strong>.</p>
<h3 id="2236-learning-to-use-geogebra">22:36 Learning to Use GeoGebra</h3>
<p>Today, I had a need for drawing graphs. I had always used <a href="https://matplotlib.online/">matplotlib</a> before, but today I realized that for simple calculations and plotting, <a href="https://www.geogebra.org/">GeoGebra</a> is incredibly convenient. No need to write extra code—just input the function directly.</p>
<h3 id="2240-mom-feels-like-shes-good-at-nothing">22:40 Mom Feels Like She’s Good at Nothing</h3>
<p>Mom came to Shuicheng to help my brother and sister-in-law take care of their child. Differences in opinions often arise over small things, like what the child should eat or whether they should wear more or less clothing. Mom has always been the type to endure in silence, and it seems she can’t assert any of her own opinions here. This has led her to feel unacknowledged. During the day, when the child’s parents are at work, she feels heartbroken seeing the child uncomfortable.</p>
<p>Mother-in-law and daughter-in-law conflicts often stem from these trivial matters, with one side usually feeling wronged. I believe people should be on equal footing. Mom isn’t just a machine that follows orders—she’s a woman with rich experience as an elder. I want to encourage her to fight for her right to speak, even if it leads to unpleasant consequences.</p>
<p>I want her to communicate with my brother and sister-in-law: their roles are the same—they are both caregivers and guardians of the baby. They should have equal authority and be able to make decisions based on their own judgment during their respective caregiving times. Others, when not in a position to supervise, should also trust the person currently responsible for caregiving.</p>
<p>After discussing it with Huanhuan, I realized communication is quite difficult, especially when people are biased or unwilling to engage. Facing the conflict head-on and standing up for one’s rights is actually the easier approach. Focus more on your own feelings and don’t fear conflict.</p>
<h3 id="2331-if-its-all-love-why-does-conflict-arise">23:31 If It’s All Love, Why Does Conflict Arise?</h3>
<p>My brother and sister-in-law’s love for Xiaoyu is real, and Mom’s love for Xiaoyu is real too. So why do conflicts arise when it comes to practical matters? The key lies in people’s biases and lack of trust in each other—both of which are foolish.</p>
<p>I believe raising a child isn’t all that difficult. Occasionally eating a little more or less, or wearing a little more or less, won’t affect the child’s growth.</p>
<p>On the contrary, the conflicts that arise from these disagreements may end up hurting the very people who should be close.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 6, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-06/</link>
      <pubDate>Tue, 06 May 2025 01:33:18 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-06/</guid>
      <description>&lt;h3 id=&#34;0933-starting-to-study&#34;&gt;09:33 Starting to Study&lt;/h3&gt;
&lt;p&gt;Last night, I spent some time tinkering with my phone again, but luckily, I went to bed relatively early.&lt;/p&gt;
&lt;p&gt;Maintaining a slight sense of hunger and fatigue can help foster a more disciplined and proactive lifestyle.&lt;/p&gt;
&lt;h3 id=&#34;1149-lemon--cured-meat&#34;&gt;11:49 Lemon + Cured Meat&lt;/h3&gt;
&lt;p&gt;Adding two slices of lemon when blanching cured meat can bring out a unique aroma while also reducing the oxidized taste of the meat.&lt;/p&gt;
&lt;p&gt;The main reason eggs stick to the pan is that the pan and oil aren’t hot enough. On an induction stove, try to crack the egg closer to the center of the pan.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0933-starting-to-study">09:33 Starting to Study</h3>
<p>Last night, I spent some time tinkering with my phone again, but luckily, I went to bed relatively early.</p>
<p>Maintaining a slight sense of hunger and fatigue can help foster a more disciplined and proactive lifestyle.</p>
<h3 id="1149-lemon--cured-meat">11:49 Lemon + Cured Meat</h3>
<p>Adding two slices of lemon when blanching cured meat can bring out a unique aroma while also reducing the oxidized taste of the meat.</p>
<p>The main reason eggs stick to the pan is that the pan and oil aren’t hot enough. On an induction stove, try to crack the egg closer to the center of the pan.</p>
<h3 id="1550-considering-root-access-from-a-consumers-perspective">15:50 Considering Root Access from a Consumer’s Perspective</h3>
<p>The purpose of rooting is to gain control over the system. I suddenly realized that the notification importance settings were missing. Upon closer inspection, I discovered it was because I had restored the native notification importance settings using Cemiuiler. My new phone isn’t rooted, so I couldn’t adjust the settings.</p>
<h3 id="1948-tweaking-the-equalizer-on-the-xiaomi-15">19:48 Tweaking the Equalizer on the Xiaomi 15</h3>
<p>I noticed that the Xiaomi 15’s external speakers don’t sound as good as the Xiaomi 10’s—they’re particularly harsh and lack fullness. After checking online to see how others adjusted their equalizers, I learned a bit about the principles behind equalizer tuning. It improved slightly, but only by a tiny bit.</p>
<h3 id="2316-how-to-improve-concentration">23:16 How to improve concentration</h3>
<p>The inertia of laziness is still quite hard to overcome, which makes creating a conducive learning or working environment especially important. But how do you create one? Generally, there are four main influencing factors:</p>
<ol>
<li><strong>Establishing Rules</strong>. Setting rules helps maintain high focus. The most critical aspects are enforceability and unavoidable consequences—the former ensures practicality, while the latter serves as a negative feedback mechanism. For example, in libraries or classrooms, loud noise will draw disapproval from others, an unavoidable consequence that encourages focus in such spaces.</li>
<li><strong>Group Effect</strong>. This leverages human psychology—people tend to mimic others to fit in. Additionally, people usually care about how others perceive them. To shape their image, individuals in groups consciously imitate productive behaviors. Combined with personal motivation, this makes people more focused in specific group settings.</li>
<li><strong>Eliminating Distractions</strong>. By keeping potential distractions—whether objects or people—out of sight or reach, external interruptions are minimized, helping sustain focus.</li>
<li><strong>Choosing the Right Task</strong>. The nature of the work or study material significantly impacts focus. For instance, we often concentrate intensely while gaming, competing, or watching TV shows. Tasks that provide immediate positive feedback are more likely to hold our attention, even to the point of addiction. Conversely, activities requiring long-term effort with unpredictable setbacks—like preparing for grad school or civil service exams—often trigger subconscious resistance, undermining focus.</li>
</ol>
<p>In summary, maintaining focus while working alone on long-term, low-reward tasks is extremely challenging. Forcing yourself to concentrate might backfire. Instead, try creating enforceable personal rules with unavoidable consequences, joining online communities of like-minded individuals, and using tools like screen locks or Pomodoro timers. Overcoming subconscious resistance by adopting a broader perspective is key to improving focus—but this requires extensive exploration and practice.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 5, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-05/</link>
      <pubDate>Mon, 05 May 2025 13:06:07 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-05/</guid>
      <description>&lt;p&gt;Today is already the last day of the holiday—time really flies.&lt;/p&gt;
&lt;p&gt;I slept in today, and after waking up, we continued playing games. I was hoping to finish the game today.&lt;/p&gt;
&lt;p&gt;Around 10 a.m., my brother called and asked me to drive to Liupanshui South Station to pick up Mom. When I met up with him, he said he had already arranged a ride-hailing service for her. We just happened to run into my brother, and then he left. We took the opportunity to have breakfast at Panxian Flavors.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today is already the last day of the holiday—time really flies.</p>
<p>I slept in today, and after waking up, we continued playing games. I was hoping to finish the game today.</p>
<p>Around 10 a.m., my brother called and asked me to drive to Liupanshui South Station to pick up Mom. When I met up with him, he said he had already arranged a ride-hailing service for her. We just happened to run into my brother, and then he left. We took the opportunity to have breakfast at Panxian Flavors.</p>
<p>Huanhuan seemed a bit reluctant to let my brother know we had been together these past few days, feeling somewhat shy. I think if it were me, I’d feel the same way, but there isn’t really a good solution for it.</p>
<p>By 2 p.m., we finally finished <em>It Takes Two</em>. It really is an amazing game.</p>
<p>After resting for a few minutes, I took Huanhuan to the bus station. Just as we arrived, a driver from Panzhou approached us, so we avoided having to wait in line for the coach.</p>
<p>When I got back, I originally planned to rest, but I ended up tinkering with Shizuku, Dizuku, and NFC cards on my phone. As a result, I didn’t get proper rest when I should have.</p>
<p>There were still some leftover vegetables from yesterday, so I cooked noodles with them again today. Simple but delicious.</p>
<p>After eating, I caught up on the diary entries I missed.</p>
<p>Now it’s time to get back to work and give it my all.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 4, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-04/</link>
      <pubDate>Sun, 04 May 2025 11:19:05 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-04/</guid>
      <description>&lt;p&gt;Today was quite a relaxing day!&lt;/p&gt;
&lt;p&gt;After waking up in the morning, I played with my phone in bed for a while. Huanhuan suggested maybe getting up to study today, but I suddenly remembered that we had brought the game controllers back with us this time. A rare holiday is probably better spent relaxing.&lt;/p&gt;
&lt;p&gt;We bought &lt;em&gt;It Takes Two&lt;/em&gt; a long time ago but never finished it, so today was the perfect opportunity to continue playing. By noon, we were hungry but too lazy to cook. So we decided to go out and grab some food—fried spring rolls, sweet wine with eggs, and some zhajiang noodles.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today was quite a relaxing day!</p>
<p>After waking up in the morning, I played with my phone in bed for a while. Huanhuan suggested maybe getting up to study today, but I suddenly remembered that we had brought the game controllers back with us this time. A rare holiday is probably better spent relaxing.</p>
<p>We bought <em>It Takes Two</em> a long time ago but never finished it, so today was the perfect opportunity to continue playing. By noon, we were hungry but too lazy to cook. So we decided to go out and grab some food—fried spring rolls, sweet wine with eggs, and some zhajiang noodles.</p>
<p>After leaving the supermarket, we saw massage chairs by the roadside and thought about sitting down for a break. To our surprise, this annoying thing kept using a microphone to prompt us to pay. Out of curiosity, we spent 15 yuan for 20 minutes.</p>
<p>The massage didn’t feel comfortable at all, so we decided to try a real massage at a blind masseur’s place. This experience corrected a major misconception I had—blind people aren’t just people with their eyes closed. Their lives aren’t as clumsy as I imagined; instead, they are highly skilled. Whether grabbing things, walking, or making a living through massage, they demonstrate that they are complete, capable individuals.</p>
<p>For dinner, we planned to make clam vermicelli soup. We bought vermicelli, clams, shrimp, lemon, baby bok choy, and cilantro from the supermarket. Following a video tutorial while incorporating our own ideas and adapting to reality, we ended up with a dish that didn’t taste great at first. I thought, &ldquo;Oh no, this is a disaster!&rdquo; Haha. But after adding a bit more salt, it transformed completely—so delicious!</p>
<p>Oh, and the phone Huanhuan helped me buy arrived safely today. I even took some really nice photos of her, haha. But then I accidentally deleted them all while setting things up.</p>
<p>After dinner, we washed the dishes, took showers, and then went back to gaming. We didn’t go to bed until 1 a.m.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 3, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-03/</link>
      <pubDate>Sat, 03 May 2025 11:19:03 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-03/</guid>
      <description>&lt;p&gt;To create more alone time with Huanhuan, we headed to Shuicheng today, planning to spend two days together.&lt;/p&gt;
&lt;p&gt;While waiting for the bus at noon, I got hungry and casually ate a bowl of beef noodles by the roadside. As a result, I wasn’t very hungry when we arrived in Shuicheng and had little appetite.&lt;/p&gt;
&lt;p&gt;During this trip home, I noticed an old broken phone that my sister used to have. I also observed that Manman and Ningning would become very eager to use phones when they had no playmates. So, I thought of taking this broken phone with me to see if I could fix it.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>To create more alone time with Huanhuan, we headed to Shuicheng today, planning to spend two days together.</p>
<p>While waiting for the bus at noon, I got hungry and casually ate a bowl of beef noodles by the roadside. As a result, I wasn’t very hungry when we arrived in Shuicheng and had little appetite.</p>
<p>During this trip home, I noticed an old broken phone that my sister used to have. I also observed that Manman and Ningning would become very eager to use phones when they had no playmates. So, I thought of taking this broken phone with me to see if I could fix it.</p>
<p>After picking up the package (parts for repairing the phone) and returning to our accommodation, I immediately started working on the phone. Thinking I hadn’t fixed it, I reassembled it casually, only to find that the battery was slowly charging. Now I have another backup phone to bring home next time. I also asked Huanhuan:</p>
  

  


  
  <blockquote class="alert-blockquote alert-question" >
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><path d="M12 17h.01"></path>
      </svg>
      
      <span>Question</span>
      
    </p>
    <div class="alert-content callout-content">
      <p>Are phones more harmful or beneficial for kids?</p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
<p>Huanhuan said they’re more harmful, and I agreed. But it seems there aren’t many beneficial alternatives.</p>
<p>In the evening, neither of us felt like eating. After browsing on our phones for a while, we decided we wanted either boiled dishes (清水烫) or sour soup fish (酸汤鱼). We took a taxi to Fenghuang Mountain, only to find it closed. So, we started walking around while looking for food. Eventually, we found a sour soup fish place near People’s Square—it was incredibly cheap, just 29.9 yuan for two people. Though the fish seemed like it had been soaked in water, the vegetables were quite tasty.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 2, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-02/</link>
      <pubDate>Fri, 02 May 2025 11:19:01 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-02/</guid>
      <description>&lt;h2 id=&#34;morning&#34;&gt;Morning&lt;/h2&gt;
&lt;p&gt;Today, my second uncle, second aunt, fourth aunt, fourth uncle, youngest aunt, and even Huanhuan are all planning to come to my house for a visit.&lt;/p&gt;
&lt;p&gt;I remember bringing a bag of wheat gluten powder home earlier and have been thinking about improving my homemade gluten skewers. Taking advantage of my parents going out to buy food for the afternoon and evening, I poured out half the bag of wheat gluten powder to give it another try.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h2 id="morning">Morning</h2>
<p>Today, my second uncle, second aunt, fourth aunt, fourth uncle, youngest aunt, and even Huanhuan are all planning to come to my house for a visit.</p>
<p>I remember bringing a bag of wheat gluten powder home earlier and have been thinking about improving my homemade gluten skewers. Taking advantage of my parents going out to buy food for the afternoon and evening, I poured out half the bag of wheat gluten powder to give it another try.</p>
<h2 id="noon">Noon</h2>
<p>When the relatives arrived at noon, little Huanhuan came too. I drove fourth uncle’s car, taking Manman and Ningning to pick up Huanhuan. The streets were so crowded that I couldn’t find a single parking spot, so I had no choice but to turn back and park in the parking lot.</p>
<p>Right next to the parking lot was a supermarket, so I decided to take Manman and Ningning shopping. And that’s where the nightmare began. After Manman and Ningning took forever to finally pick out what they wanted, it was time to check out. Manman cheerfully said, “My uncle will pay for me!” Like an idiot, I replied, “So how are you going to repay me?” What I actually had in mind was tricking Manman into helping me grill the gluten skewers later.</p>
<p>Unexpectedly, Manman got angry right away. She ran over, put the items back, and started crying. Nothing I said worked. Thankfully, I’ve dealt with situations like this before, though I was still a bit flustered. I said everything I could think of, then decided to just stand by and wait for her emotions to settle on their own. Meanwhile, Huanhuan was patiently comforting and coaxing her the whole time. Ningning, on the other hand, stayed very calm—she didn’t join the tantrum, didn’t say anything, and didn’t run around, just waited quietly beside us.</p>
<p>After about thirty or forty minutes, when Manman realized this wasn’t getting her anywhere, she started asking for Huanhuan to hold her. Seeing this, I figured things were okay now, so I handed her the stuff I’d just bought and went to get the car. Manman took the things from me, and that was that. In a way, Manman gave Huanhuan a little lesson too.</p>
<h2 id="evening">Evening</h2>
<p>In the evening, I saw some mulberry leaves and suddenly remembered a video I’d watched about frying them. So I took the kids to pick some leaves, then made a batter with eggs, flour, and salt to fry them. Personally, I found them a bit greasy—probably because the batter wasn’t prepared well and absorbed too much oil—but everyone else thought they were delicious, and we finished every last piece.</p>
<p>After dinner, Huanhuan and I took Manman and Ningning for a walk before sunset. The laughter along the way and the feeling of being close to nature were wonderful.</p>
<p>When we got back, I prepared to grill my gluten skewers. I gathered whatever ingredients we had at home and made a simple version of chili oil. Using a portable gas canister, I lit the remaining charcoal and started grilling slowly. This time, the gluten skewers were a hit with everyone, and even I thought they tasted great—much better than the deep-fried version I’d made before.</p>
<h2 id="night">Night</h2>
<p>My dad, mom, and sister all have birthdays in late March. After finishing the grilled gluten skewers, I asked Manman to bring over the cake Huanhuan had ordered from Shenggu Cake. Manman made three birthday cake hats for them, and I handed the cake-cutting knife to Dad. It was his first time cutting a cake, and he didn’t seem awkward at all—it was perfect.</p>
<p>Everyone chatted away, each person happy in their own way. Today was a truly wonderful day.</p>
]]></content:encoded>
    </item>
    <item>
      <title>May 1, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/may/2025-05-01/</link>
      <pubDate>Thu, 01 May 2025 11:19:00 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/may/2025-05-01/</guid>
      <description>&lt;p&gt;Today was a scorching sunny day, and I&amp;rsquo;m exhausted.&lt;/p&gt;
&lt;p&gt;The loquat tree next to the livestock pen at home had its bark completely gnawed off by the cow that was tied to it. Though the tree bore many loquats, the leaves had almost entirely withered, making it impossible for the fruit to ripen.&lt;/p&gt;
&lt;p&gt;This morning, I asked my parents to help me cut down the loquat tree. With little experience in tree-cutting, we encountered several dangerous moments during the process. One commendable thing was that my dad had the foresight to tie a rope around himself and the tree for safety. After much chaotic discussion, fumbling, and a few risky moments, we successfully felled the loquat tree.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today was a scorching sunny day, and I&rsquo;m exhausted.</p>
<p>The loquat tree next to the livestock pen at home had its bark completely gnawed off by the cow that was tied to it. Though the tree bore many loquats, the leaves had almost entirely withered, making it impossible for the fruit to ripen.</p>
<p>This morning, I asked my parents to help me cut down the loquat tree. With little experience in tree-cutting, we encountered several dangerous moments during the process. One commendable thing was that my dad had the foresight to tie a rope around himself and the tree for safety. After much chaotic discussion, fumbling, and a few risky moments, we successfully felled the loquat tree.</p>
<p>We used a chainsaw to cut the branches and trunk into smaller pieces and stacked them in the yard. The massive trunk was also sectioned into several parts to be used for making stools later.</p>
<p>After cleaning up, we moved the chicken coop and pigeon cage that were originally under the loquat tree. It took us two to three hours to expand the flower bed, which now serves both as a fence and adds aesthetic appeal. By the next time I come home, the newly expanded flower bed should be even more vibrant.</p>
<p>In the evening, after my dad took a shower, he noticed the showerhead was leaking. He tried to fix it with a wrench but ended up breaking it completely, earning him a long scolding from my mom. I often do the same thing—trying to help but making things worse. My dad decided to go into town to buy a replacement. We asked him to pick up some beef while he was out, and in the evening, he stir-fried it into a dry pot beef dish, which turned out pretty tasty.</p>
<p>I did too much physical labor today, got extremely hungry, and ended up overeating.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 30, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-30/</link>
      <pubDate>Wed, 30 Apr 2025 11:18:57 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-30/</guid>
      <description>&lt;p&gt;I hadn’t even woken up yet when my mom anxiously called me in the morning. I quickly contacted the driver and booked a ride for 8:40.&lt;/p&gt;
&lt;p&gt;After arriving at Pingdi, I hurriedly got out of the car and ended up dropping my luggage. We went to the restaurant where Zhang Jing’s wedding was held, and my mom handed me 200 yuan to give as a gift. I really dislike these kinds of things, but I couldn’t be bothered to argue. After the meal, I just walked over and handed the money over.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I hadn’t even woken up yet when my mom anxiously called me in the morning. I quickly contacted the driver and booked a ride for 8:40.</p>
<p>After arriving at Pingdi, I hurriedly got out of the car and ended up dropping my luggage. We went to the restaurant where Zhang Jing’s wedding was held, and my mom handed me 200 yuan to give as a gift. I really dislike these kinds of things, but I couldn’t be bothered to argue. After the meal, I just walked over and handed the money over.</p>
<p>This was the first time my mom had been away from home for so long, so she was overjoyed to be returning. Her steps were so light it seemed like she couldn’t wait to run home.</p>
<p>The neighboring village had one celebration after another—what might seem like trivial matters are often the most meaningful.</p>
<p>I was really looking forward to this trip home, mainly because I wanted to see my sister, Manman, and Ningning. Manman and Ningning were as adorable and happy as ever.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 29, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-29/</link>
      <pubDate>Tue, 29 Apr 2025 07:14:27 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-29/</guid>
      <description>&lt;p&gt;Woke up in the middle of the night suddenly wanting to listen to this song. In the morning, after waiting for Huanhuan to wake up, I asked Xiao Ai to have Jeff Chang sing it for us.&lt;/p&gt;

&lt;link rel=&#34;stylesheet&#34; href=&#34;https://cdnjs.webstatic.cn/ajax/libs/aplayer/1.10.1/APlayer.min.css&#34; integrity=&#34;sha512-CIYsJUa3pr1eoXlZFroEI0mq0UIMUqNouNinjpCkSWo3Bx5NRlQ0OuC6DtEB/bDqUWnzXc1gs2X/g52l36N5iw==&#34; crossorigin=&#34;anonymous&#34;&gt;
&lt;script src=&#34;https://cdnjs.webstatic.cn/ajax/libs/aplayer/1.10.1/APlayer.min.js&#34; integrity=&#34;sha512-RWosNnDNw8FxHibJqdFRySIswOUgYhFxnmYO3fp+BgCU7gfo4z0oS7mYFBvaa8qu+axY39BmQOrhW3Tp70XbaQ==&#34; crossorigin=&#34;anonymous&#34;&gt;&lt;/script&gt;

&lt;script src=&#34;https://cdnjs.webstatic.cn/ajax/libs/meting/2.0.1/Meting.min.js&#34; integrity=&#34;sha512-/IDbuuVE9yEqGRO0rCzXN1jIU1ZFkVd3TMLuK3HkmD4fCCwoIAkrqcK8KPYcIMDF/Z/pQ2mMOTPYS07qM/7VsA==&#34; crossorigin=&#34;anonymous&#34;&gt;&lt;/script&gt;&lt;meting-js server=&#34;netease&#34; type=&#34;song&#34; id=&#34;33599439&#34; theme=&#34;#448aff&#34;&gt;&lt;/meting-js&gt;
&lt;blockquote&gt;
&lt;p&gt;Two people shining together, their radiance outshines the stars of the night.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Every separation always brings a tinge of reluctance, but today’s emotions felt particularly strong.&lt;/p&gt;
&lt;p&gt;We went to a place called Panxian Flavor for breakfast, having sticky rice, mushroom meatball noodles, and meat pies. Afterward, she went to attend a team-building event organized by the city branch, while I picked up a package and wandered around.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Woke up in the middle of the night suddenly wanting to listen to this song. In the morning, after waiting for Huanhuan to wake up, I asked Xiao Ai to have Jeff Chang sing it for us.</p>

<link rel="stylesheet" href="https://cdnjs.webstatic.cn/ajax/libs/aplayer/1.10.1/APlayer.min.css" integrity="sha512-CIYsJUa3pr1eoXlZFroEI0mq0UIMUqNouNinjpCkSWo3Bx5NRlQ0OuC6DtEB/bDqUWnzXc1gs2X/g52l36N5iw==" crossorigin="anonymous">
<script src="https://cdnjs.webstatic.cn/ajax/libs/aplayer/1.10.1/APlayer.min.js" integrity="sha512-RWosNnDNw8FxHibJqdFRySIswOUgYhFxnmYO3fp+BgCU7gfo4z0oS7mYFBvaa8qu+axY39BmQOrhW3Tp70XbaQ==" crossorigin="anonymous"></script>

<script src="https://cdnjs.webstatic.cn/ajax/libs/meting/2.0.1/Meting.min.js" integrity="sha512-/IDbuuVE9yEqGRO0rCzXN1jIU1ZFkVd3TMLuK3HkmD4fCCwoIAkrqcK8KPYcIMDF/Z/pQ2mMOTPYS07qM/7VsA==" crossorigin="anonymous"></script><meting-js server="netease" type="song" id="33599439" theme="#448aff"></meting-js>
<blockquote>
<p>Two people shining together, their radiance outshines the stars of the night.</p>
</blockquote>
<p>Every separation always brings a tinge of reluctance, but today’s emotions felt particularly strong.</p>
<p>We went to a place called Panxian Flavor for breakfast, having sticky rice, mushroom meatball noodles, and meat pies. Afterward, she went to attend a team-building event organized by the city branch, while I picked up a package and wandered around.</p>
<p>A few days ago, I submitted my resume at the Guizhou Talent Expo. This afternoon, the Energy Bureau called to ask if I was certain about joining. Personally, I’m not too keen—there’s a five-year service commitment, the benefits aren’t great, and if it involves frequent mine visits, I’d be quite averse to it. For now, I agreed to see how things unfold.</p>
<p>Later, I chatted with Niuwa, who mentioned that her colleague has a friend in the Energy Bureau and gave me a brief rundown of the situation. The meal allowance they provide is only enough for 13 meals a month, and the dormitory is still a communal setup. This isn’t talent recruitment—it’s more like recruiting workhorses. Niuwa then mentioned that her boyfriend is in Gui&rsquo;an and said the benefits there are quite good, suggesting I give it a try.</p>
<h3 id="1655-added-custom-title-to-callout">16:55 Added custom title to callout</h3>
<p>The most important thing in programming is understanding the existing code logic—otherwise, even the smartest AI won’t be of much help. The better you grasp the underlying logic, the better you can solve problems. The same goes for everything else.</p>
<h3 id="2019-continued-refining-obsidian-compatible-callout-folding">20:19 Continued refining Obsidian-compatible callout folding</h3>
<p>Noticed that Hugo’s source code supports folding tags, so I spent some effort combining it with AI to achieve callout folding compatible with Obsidian.</p>
  

  


  
  <blockquote class="alert-blockquote alert-question" data-collapsible="&#43;">
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><path d="M12 17h.01"></path>
      </svg>
      
      <span>Question</span>
      
    </p>
    <div class="alert-content callout-content">
      <p>CSS always has its share of inexplicable issues. With flex as the parent node, the span tags inside never seem to center vertically.</p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
<h3 id="2202-packed-up-some-things">22:02 Packed up some things</h3>
<p>Heading home with Mom tomorrow.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 28, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-28/</link>
      <pubDate>Mon, 28 Apr 2025 09:55:38 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-28/</guid>
      <description>&lt;p&gt;Huanhuan had a speech competition at the municipal branch today, so she practiced several times last night.&lt;/p&gt;
&lt;p&gt;Earlier, she mentioned she wanted to eat crayfish. In the morning, while she went to the competition, I went to Jiahui Supermarket and bought 3.6 jin (approx. 1.8 kg) of crayfish. On the way back, I saw an uncle selling local strawberries and bought some as well.&lt;/p&gt;
&lt;p&gt;I’ve never cooked crayfish completely on my own before, but it didn’t seem too difficult. However, handling the crayfish was a bit troublesome. When I bought them, I specifically picked live ones, but processing them felt somewhat cruel.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Huanhuan had a speech competition at the municipal branch today, so she practiced several times last night.</p>
<p>Earlier, she mentioned she wanted to eat crayfish. In the morning, while she went to the competition, I went to Jiahui Supermarket and bought 3.6 jin (approx. 1.8 kg) of crayfish. On the way back, I saw an uncle selling local strawberries and bought some as well.</p>
<p>I’ve never cooked crayfish completely on my own before, but it didn’t seem too difficult. However, handling the crayfish was a bit troublesome. When I bought them, I specifically picked live ones, but processing them felt somewhat cruel.</p>
<p>The crayfish turned out quite tasty, though toward the end, the flavor became too intense, making it a bit hard to enjoy.</p>
  

  


  
  <blockquote class="alert-blockquote alert-tip" >
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <path d="M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z"></path>
      </svg>
      
      <span>Tip</span>
      
    </p>
    <div class="alert-content callout-content">
      <p>Once the crayfish are braised to the desired taste, they should be removed promptly to prevent the flavor from becoming too strong.</p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
]]></content:encoded>
    </item>
    <item>
      <title>April 27, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-27/</link>
      <pubDate>Sun, 27 Apr 2025 12:01:49 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-27/</guid>
      <description>&lt;p&gt;Recently, I haven’t been in a good state, and I couldn’t even pinpoint what was wrong, let alone identify the specific issues.&lt;/p&gt;
&lt;p&gt;All I knew was that, on the surface, I seemed to be studying, eating well, and sleeping properly every day. Yet, nothing was truly done well, and each day passed by in a daze, slipping away far too quickly.&lt;/p&gt;
&lt;p&gt;It wasn’t until today, when I watched Jay Chou’s &lt;a href=&#34;https://www.bilibili.com/video/BV1Hi421a7gv?p=28&#34;&gt;summary&lt;/a&gt; on learning, that I reflected on myself and finally understood where the problem lay.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Recently, I haven’t been in a good state, and I couldn’t even pinpoint what was wrong, let alone identify the specific issues.</p>
<p>All I knew was that, on the surface, I seemed to be studying, eating well, and sleeping properly every day. Yet, nothing was truly done well, and each day passed by in a daze, slipping away far too quickly.</p>
<p>It wasn’t until today, when I watched Jay Chou’s <a href="https://www.bilibili.com/video/BV1Hi421a7gv?p=28">summary</a> on learning, that I reflected on myself and finally understood where the problem lay.</p>
<p>The lack of focus is the main reason for my low daily efficiency and lack of a sense of accomplishment. Whenever I needed to concentrate on important tasks, my mind would suddenly drift: &ldquo;I’m hungry, let’s grab a snack,&rdquo; &ldquo;I’m thirsty, let’s drink some water,&rdquo; &ldquo;My nails are too long, time to trim them,&rdquo; &ldquo;What should I prepare for lunch?&rdquo; &ldquo;Should I go to the bathroom?&rdquo; &ldquo;Let me check my phone for messages,&rdquo; &ldquo;I’m tired, maybe I’ll watch some short videos…&rdquo;</p>
<p>These seem like perfectly normal things, but they fragment our attention into tiny pieces. Combined with other concerns—work tasks, learning goals, future plans, daily habits—everything ends up being affected to varying degrees.</p>
<p>Short videos, in particular, severely encroach on the precious productive hours of the day. They are a major reason why our sleep deteriorates, our focus wanes, and our connection with the real world weakens. Often, we attribute these issues to a lack of self-control, but the truth is, humans have an instinctual drive to seek information. This instinct makes us greedily and incessantly crave new input. The moment our minds idle, we unconsciously open apps that feed us information—and with their recommendation systems and attention algorithms, these apps exploit us relentlessly.</p>
<p>There’s nothing inherently wrong with watching videos every day, but we must always remember: <strong>time is finite.</strong></p>
<p><strong>Each day is only so long, and each year is only so long.</strong> We should strive to spend our time on our dreams, work, habits, enjoyment, and the people who matter to us.</p>
<p>I had gone a long time without watching short videos before, but somehow, I slipped back into the habit. Moving forward, I will avoid platforms like Douyin (TikTok) for non-essential information. I’ve also filtered out videos shorter than five minutes on Bilibili’s homepage. In my free time, I’ll try to read or watch longer-form content, hoping to gradually rebuild my attention span.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 26, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-26/</link>
      <pubDate>Sat, 26 Apr 2025 14:07:50 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-26/</guid>
      <description>&lt;p&gt;This morning, both my mom and my brother called to invite me over for a meal, but I didn’t feel like going. My brother also asked me about signing up for the Guizhou Talent Expo and talked a lot about it—ugh.&lt;/p&gt;
&lt;p&gt;I cooked a bowl of noodles in the morning, and before I knew it, it was already noon. Lately, my phone has been lagging a lot, probably due to aging components. I thought resetting it might not solve much, so I started considering getting a new one. I should have taken a proper nap at noon, but instead, I spent time browsing and comparing prices on different platforms, which left me poorly rested.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This morning, both my mom and my brother called to invite me over for a meal, but I didn’t feel like going. My brother also asked me about signing up for the Guizhou Talent Expo and talked a lot about it—ugh.</p>
<p>I cooked a bowl of noodles in the morning, and before I knew it, it was already noon. Lately, my phone has been lagging a lot, probably due to aging components. I thought resetting it might not solve much, so I started considering getting a new one. I should have taken a proper nap at noon, but instead, I spent time browsing and comparing prices on different platforms, which left me poorly rested.</p>
<p>In the afternoon, I studied for a while, but by around 4 p.m., I was really hungry. Since the rice was still cooking, I fried an egg to eat. I chopped up a lot of chili peppers and stir-fried them with cured meat, then ate it all with rice—it was so much.</p>
<p>After that, I planned to go out to pick up Huang Wenxiu’s diary, which Huanhuan had bought, and also grab a few things. Cherries have been really cheap lately—you can get fresh ones for about 5 yuan per pound. I went to Jiahui Supermarket to buy some groceries for the next couple of days.</p>
<p>Studying is always so easy to get distracted from. I really need to plan my time better and focus wholeheartedly on learning.</p>
<p>I’m tired now, so I’m going to bed.</p>
  

  


  
  <blockquote class="alert-blockquote alert-idea" >
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <path d="M12 2a6 6 0 0 1 6 6c0 2.1-1.2 4-3 5v1a3 3 0 0 1-6 0v-1c-1.8-1-3-2.9-3-5a6 6 0 0 1 6-6z"></path><path d="M9 18h6"></path><path d="M10 22h4"></path>
      </svg>
      
      <span>Idea</span>
      
    </p>
    <div class="alert-content callout-content">
      <p>Sometimes I feel like my writing is very ordinary and doesn’t hold much value. But then I think that years from now, people might read my diary to catch a glimpse of what life was like for an ordinary person in this era.<br>
I’m sure it will be very different from the future.</p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
]]></content:encoded>
    </item>
    <item>
      <title>April 25, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-25/</link>
      <pubDate>Fri, 25 Apr 2025 02:27:01 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-25/</guid>
      <description>&lt;h3 id=&#34;1045-completed-the-integration-of-volcano-engines-api&#34;&gt;10:45 Completed the integration of Volcano Engine&amp;rsquo;s API&lt;/h3&gt;
&lt;p&gt;The money I topped up in DeepSeek always gets used up suddenly—not sure if it&amp;rsquo;s due to an API leak or issues with the calls. Switched to the API provided by Volcano Engine instead; it&amp;rsquo;s also cheaper.&lt;/p&gt;
&lt;h3 id=&#34;1052-optimized-the-quickadd-action-for-adding-records&#34;&gt;10:52 Optimized the QuickAdd action for adding records&lt;/h3&gt;
&lt;p&gt;Now it can all be done in a single input box. Even with longer text, there’s no need to open the diary again to continue adding more.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1045-completed-the-integration-of-volcano-engines-api">10:45 Completed the integration of Volcano Engine&rsquo;s API</h3>
<p>The money I topped up in DeepSeek always gets used up suddenly—not sure if it&rsquo;s due to an API leak or issues with the calls. Switched to the API provided by Volcano Engine instead; it&rsquo;s also cheaper.</p>
<h3 id="1052-optimized-the-quickadd-action-for-adding-records">10:52 Optimized the QuickAdd action for adding records</h3>
<p>Now it can all be done in a single input box. Even with longer text, there’s no need to open the diary again to continue adding more.</p>
<h3 id="1318-failed-attempt-at-using-typeit-as-a-shortcode">13:18 Failed attempt at using TypeIt as a shortcode</h3>
<p>Gave up on this. These trivial things aren’t worth the effort—remember, less is more. At all times, focus on the main content and grasp the essence. Unless I’m someone who produces appearances or tools, there’s no need to overcomplicate things.</p>
<h3 id="2004-suddenly-discovered-the-benefits-of-nearsightedness">20:04 Suddenly discovered the benefits of nearsightedness</h3>
<p>My left eye has about 200 degrees of myopia. After staying indoors all day, I decided to go out for a walk. My eyes felt a bit uncomfortable, so I tried closing one eye—and made a novel discovery.</p>
<p>As someone who strongly dislikes the overwhelming presence of advertisements in every aspect of life, I suddenly realized that mild nearsightedness can, to some extent, reduce the ads around us—because they become blurry.</p>
<p>Those eye-catching slogans are like being intelligently blurred out, no longer able to grab our attention. Of course, this only works with around 200 degrees of myopia. If the prescription is too high, it might also affect our ability to appreciate the beauty in life.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 24, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-24/</link>
      <pubDate>Thu, 24 Apr 2025 13:38:59 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-24/</guid>
      <description>&lt;p&gt;After the Grain Rain, the rain follows the solar term as expected.&lt;/p&gt;
&lt;p&gt;Last night, the rain was heavy, and I was awakened by the sound of it at 2 a.m. My mind conjured images of floods raging outside, the building I was in swaying precariously in the deluge, and before I knew it, I fell back asleep.&lt;/p&gt;
&lt;p&gt;This morning, I took a shower and started studying. I’ve come to appreciate the phrase &lt;strong&gt;&amp;ldquo;Stillness begets wisdom&amp;rdquo;&lt;/strong&gt; even more—only in stillness can one observe and reflect, complete the learning process, and gain wisdom.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>After the Grain Rain, the rain follows the solar term as expected.</p>
<p>Last night, the rain was heavy, and I was awakened by the sound of it at 2 a.m. My mind conjured images of floods raging outside, the building I was in swaying precariously in the deluge, and before I knew it, I fell back asleep.</p>
<p>This morning, I took a shower and started studying. I’ve come to appreciate the phrase <strong>&ldquo;Stillness begets wisdom&rdquo;</strong> even more—only in stillness can one observe and reflect, complete the learning process, and gain wisdom.</p>
<p>Yesterday, I sliced the ham I brought home and searched on Bilibili for recipes like &ldquo;ham stir-fried with XX.&rdquo; I came across a dish of ham and spare ribs stewed with bamboo shoots. Inspired, I decided to buy some spare ribs and bamboo shoots to make it. However, I ended up buying too much—two ribs along with the chunk of meat attached, totaling 3 jin (1.5 kg), priced at 23 yuan per jin.</p>
<p>Here’s where I really disliked the butcher. I kept emphasizing that I was cooking for myself and asked him to give me one less rib or leave out the attached meat. He kept mumbling that he’d lose money if he didn’t sell it to me and quickly stuffed it all into a bag.</p>
<p>At noon, my mom brought me a watermelon and mentioned that spare ribs cost 20 yuan per jin where she bought them. That made me even more dissatisfied with the butcher. I thought he seemed honest, even making small talk, but upon reflection, he wasn’t a good person at all. If I were a butcher and someone came to buy 3 jin of meat, I’d definitely ask if they could finish it alone, rather than forcing it on them or wishing they’d buy 30 jin.</p>
  

  


  
  <blockquote class="alert-blockquote alert-warning" >
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"></path><path d="M12 9v4"></path><path d="M12 17h.01"></path>
      </svg>
      
      <span>Warning</span>
      
    </p>
    <div class="alert-content callout-content">
      <p>This shop is blacklisted—I’m never going back there again.</p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
<p>After blanching the spare ribs, I divided them into two portions. One portion was pan-fried and stewed with corn, carrots, and lotus root, while the other was used to make sweet and sour ribs. As for the chunk of meat attached to the ribs—I’m not even sure what it’s called—it felt like it weighed about a jin (500g), which was way too much. I sliced it, fried it until dry, and preserved it in oil. Both rib dishes turned out delicious, and I’m increasingly pleased with my cooking skills.</p>
<p>By the way, the stir-fried ham with green peppers I had at noon was incredibly tasty. After blanching the ham, I stir-fried the peppers until just cooked and tossed them together. No additional seasoning was needed since the ham was already salty. It reinforced my belief that cooking is about subtraction. Next time, I’ll save some for Xiaohuanhuan.</p>
<p>Tonight, Xiaohuanhuan shared <em>Chronicle of a Blood Merchant</em> with me, and we had a long chat. Though I might have rambled a bit, and Huanhuan was also feeling down due to some minor family issues.</p>
<p>I saw Dapeng sharing this song on social media—hope it brings you a good mood too.</p>

<link rel="stylesheet" href="https://cdnjs.webstatic.cn/ajax/libs/aplayer/1.10.1/APlayer.min.css" integrity="sha512-CIYsJUa3pr1eoXlZFroEI0mq0UIMUqNouNinjpCkSWo3Bx5NRlQ0OuC6DtEB/bDqUWnzXc1gs2X/g52l36N5iw==" crossorigin="anonymous">
<script src="https://cdnjs.webstatic.cn/ajax/libs/aplayer/1.10.1/APlayer.min.js" integrity="sha512-RWosNnDNw8FxHibJqdFRySIswOUgYhFxnmYO3fp+BgCU7gfo4z0oS7mYFBvaa8qu+axY39BmQOrhW3Tp70XbaQ==" crossorigin="anonymous"></script>

<script src="https://cdnjs.webstatic.cn/ajax/libs/meting/2.0.1/Meting.min.js" integrity="sha512-/IDbuuVE9yEqGRO0rCzXN1jIU1ZFkVd3TMLuK3HkmD4fCCwoIAkrqcK8KPYcIMDF/Z/pQ2mMOTPYS07qM/7VsA==" crossorigin="anonymous"></script><meting-js server="netease" type="song" id="25642012" theme="#448aff"></meting-js>
]]></content:encoded>
    </item>
    <item>
      <title>April 23, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-23/</link>
      <pubDate>Wed, 23 Apr 2025 04:32:57 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-23/</guid>
      <description>&lt;h3 id=&#34;1232-just-made-the-best-scrambled-eggs-with-tomatoes&#34;&gt;12:32 Just Made the Best Scrambled Eggs with Tomatoes&lt;/h3&gt;
&lt;img alt=&#34;Best Scrambled Eggs with Tomatoes&#34; class=&#34;w50&#34; loading=&#34;lazy&#34; src=&#34;../../../../static/images/diary/%E6%9C%80%E5%A5%BD%E5%90%83%E7%9A%84%E8%A5%BF%E7%BA%A2%E6%9F%BF%E7%82%92%E8%9B%8B.png&#34;&gt;&lt;p&gt;&lt;strong&gt;Ingredients&lt;/strong&gt;: One tomato, two eggs.&lt;br&gt;
&lt;strong&gt;Additional ingredients&lt;/strong&gt;: Ginger, garlic leaves, small chili peppers, water.&lt;/p&gt;
&lt;p&gt;Steps as follows:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;After heating the pan, add slightly more oil than usual for stir-frying.&lt;/li&gt;
&lt;li&gt;Beat the eggs, and once the oil is hot, pour them in. When most of the eggs have set, start stirring to help the uncooked parts come into contact with the hot oil.&lt;/li&gt;
&lt;li&gt;Remove the eggs just before they start to turn golden brown.&lt;/li&gt;
&lt;li&gt;There should still be a small amount of oil left in the pan. Once the oil is hot again, add minced ginger.&lt;/li&gt;
&lt;li&gt;Dice the tomato and add it to the pan, stir-frying over low heat. Occasionally press the tomato with a spatula to release its juices, adding a pinch of salt to speed up the process and a splash of soy sauce for extra moisture.&lt;/li&gt;
&lt;li&gt;Once the tomato in the pan has turned into a paste but still retains some diced pieces, add about 1.5 eggshells&amp;rsquo; worth of water. Continue stir-frying over low heat for about 2 minutes, then add the small chili peppers.&lt;/li&gt;
&lt;li&gt;Turn the heat up to high, add the scrambled eggs back in, and stir-fry until evenly mixed.&lt;/li&gt;
&lt;li&gt;Turn off the heat, sprinkle with garlic leaves, and stir-fry to combine.&lt;/li&gt;
&lt;li&gt;Serve.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The result is melt-in-your-mouth, fragrant, and tender scrambled eggs with tomatoes.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1232-just-made-the-best-scrambled-eggs-with-tomatoes">12:32 Just Made the Best Scrambled Eggs with Tomatoes</h3>
<img alt="Best Scrambled Eggs with Tomatoes" class="w50" loading="lazy" src="../../../../static/images/diary/%E6%9C%80%E5%A5%BD%E5%90%83%E7%9A%84%E8%A5%BF%E7%BA%A2%E6%9F%BF%E7%82%92%E8%9B%8B.png"><p><strong>Ingredients</strong>: One tomato, two eggs.<br>
<strong>Additional ingredients</strong>: Ginger, garlic leaves, small chili peppers, water.</p>
<p>Steps as follows:</p>
<ol>
<li>After heating the pan, add slightly more oil than usual for stir-frying.</li>
<li>Beat the eggs, and once the oil is hot, pour them in. When most of the eggs have set, start stirring to help the uncooked parts come into contact with the hot oil.</li>
<li>Remove the eggs just before they start to turn golden brown.</li>
<li>There should still be a small amount of oil left in the pan. Once the oil is hot again, add minced ginger.</li>
<li>Dice the tomato and add it to the pan, stir-frying over low heat. Occasionally press the tomato with a spatula to release its juices, adding a pinch of salt to speed up the process and a splash of soy sauce for extra moisture.</li>
<li>Once the tomato in the pan has turned into a paste but still retains some diced pieces, add about 1.5 eggshells&rsquo; worth of water. Continue stir-frying over low heat for about 2 minutes, then add the small chili peppers.</li>
<li>Turn the heat up to high, add the scrambled eggs back in, and stir-fry until evenly mixed.</li>
<li>Turn off the heat, sprinkle with garlic leaves, and stir-fry to combine.</li>
<li>Serve.</li>
</ol>
<p>The result is melt-in-your-mouth, fragrant, and tender scrambled eggs with tomatoes.</p>
<h3 id="2213-eye-discomfort">22:13 Eye Discomfort</h3>
<p>If only there were a little split personality in my head to supervise me in doing positive things regularly every day. I always feel like I&rsquo;m tired and need a break, but when I do rest, I don’t rest properly—I unconsciously end up opening various apps on my phone. As a result, I don’t get enough rest, and the things I actually want to do don’t get done well either.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 22, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-22/</link>
      <pubDate>Tue, 22 Apr 2025 02:03:36 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-22/</guid>
      <description>&lt;h3 id=&#34;1213-a-fairly-focused-morning-of-studying&#34;&gt;12:13 A fairly focused morning of studying&lt;/h3&gt;
&lt;p&gt;Summer has arrived, and the temperature is no longer a major obstacle to getting out of bed. I’ve also been less inclined to laze around in the mornings compared to before.&lt;/p&gt;
&lt;p&gt;Originally, I wanted to find a desktop timer app to help plan study and rest periods. On GitHub, I came across &lt;a href=&#34;https://github.com/ClassIsland/ClassIsland&#34;&gt;ClassIsland&lt;/a&gt;, a project that even includes a class schedule feature, making me feel like I’ve returned to my student days.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1213-a-fairly-focused-morning-of-studying">12:13 A fairly focused morning of studying</h3>
<p>Summer has arrived, and the temperature is no longer a major obstacle to getting out of bed. I’ve also been less inclined to laze around in the mornings compared to before.</p>
<p>Originally, I wanted to find a desktop timer app to help plan study and rest periods. On GitHub, I came across <a href="https://github.com/ClassIsland/ClassIsland">ClassIsland</a>, a project that even includes a class schedule feature, making me feel like I’ve returned to my student days.</p>
<h3 id="1525-thoughts">15:25 Thoughts</h3>
<p>I strongly agree with what Teacher Zhengdao said:</p>
<blockquote>
<p>We should not create barriers to knowledge, as doing so will only lead to societal inequity, turning exams into a selection process based on wealth rather than merit.</p>
</blockquote>
<h3 id="1744-taking-a-shower">17:44 Taking a shower</h3>
<p>For humans, taking a shower can, to some extent, be considered a <code>reset</code> action. After showering, people tend to feel much more refreshed and comfortable.</p>
<p>Mom called me again today. When I answered, I said, &ldquo;What’s up?&rdquo;<br>
&ldquo;Have you cooked and eaten?&rdquo; she asked.<br>
&ldquo;I’m not coming,&rdquo; I replied.<br>
&ldquo;I’m asking if you’ve cooked and eaten,&rdquo; she repeated.<br>
I said no.<br>
&ldquo;I bought some ribs today, but no one came for lunch,&rdquo; she added.<br>
&ldquo;I’m not coming.&rdquo;<br>
……</p>
<p>After reaching an agreement, Mom told me to accept the money Dad had transferred to me yesterday. I said okay.</p>
<p>I know that accepting it will make them feel better and more at ease.</p>
<h3 id="2132-eye-discomfort">21:32 Eye discomfort</h3>
<p>I’ve been staring at screens for too long today—almost the entire day watching study videos.</p>
<h3 id="2216-why-do-people-feel-uneasy-in-life">22:16 Why do people feel uneasy in life?</h3>
<p>When we find ourselves in an unfamiliar environment or interacting with unfamiliar people, why do we feel uneasy? I tried to answer this question to help my mom adapt more quickly to her new lifestyle. I asked a few AIs, and the response from ChatGPT-o4-mini best captured the complex logic behind this feeling. Here’s the answer:</p>
<hr>
<ul>
<li><strong>Evolution and Physiological Mechanisms</strong>
<ul>
<li><strong>&ldquo;Fear of the Unknown&rdquo; Instinct</strong>: From an evolutionary perspective, unfamiliar environments or objects may conceal dangers (predators, natural disasters, etc.). The brain automatically labels the &ldquo;unfamiliar&rdquo; as a potential threat, activating the hypothalamic-pituitary-adrenal (HPA) axis, releasing cortisol and adrenaline, and triggering a stress response that makes people alert and uneasy.</li>
</ul>
</li>
<li><strong>Cognitive Load and Uncertainty</strong>
<ul>
<li><strong>Lack of Pre-existing &ldquo;Scripts&rdquo;</strong>: In daily life, we rely on past experiences to quickly invoke &ldquo;social scripts&rdquo; (how to greet, how to maintain a conversation, etc.). In unfamiliar settings, there are no ready-made scripts to follow, forcing the brain to expend extra cognitive resources to observe, judge, and decide, leading to fatigue and anxiety.</li>
<li><strong>Increased Uncertainty</strong>: Not knowing the preferences of others or the rules of the situation, nor the consequences of one’s actions, amplifies tension.</li>
</ul>
</li>
<li><strong>Social Psychology and Self-Evaluation</strong>
<ul>
<li><strong>Fear of Negative Judgment</strong>: When interacting with unfamiliar people, individuals often worry that their words or actions will be met with disapproval, rejection, or ridicule. This &ldquo;social anxiety&rdquo; further magnifies feelings of unease.</li>
<li><strong>Reduced Self-Efficacy</strong>: When one feels unable to control the situation, their sense of security wavers, making them more prone to tension and discomfort.</li>
</ul>
</li>
<li><strong>Individual Differences</strong>
<ul>
<li><strong>Personality Traits</strong>: For example, introverts are naturally more sensitive to external stimuli and may feel more pressure in unfamiliar settings, while those high in &ldquo;novelty-seeking&rdquo; may enjoy exploring the unknown.</li>
<li><strong>Past Experiences</strong>: Negative experiences in unfamiliar environments can reinforce anxiety about such situations.</li>
</ul>
</li>
</ul>
<hr>
<p>Avoiding unfamiliar environments and reducing interactions with unfamiliar people is not a solution—unless we can return to our comfort zones and never encounter unfamiliar people again.</p>
<p>On the contrary, the only way to eliminate this unease is to bravely confront this instinctive fear, turning the unfamiliar into the familiar and the strange into the known. At the same time, maintaining confidence, not fearing negative judgment or uncertainty, and rediscovering self-efficacy through personal interests can help us regain self-affirmation.</p>
<p>In this process, we will rewrite our &ldquo;social scripts,&rdquo; enabling us to achieve greater accomplishments and reshape our inherent perceptions.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 21, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-21/</link>
      <pubDate>Mon, 21 Apr 2025 13:57:09 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-21/</guid>
      <description>&lt;p&gt;Today was a lazy day.&lt;/p&gt;
&lt;p&gt;I didn&amp;rsquo;t finish watching &lt;em&gt;Justice League&lt;/em&gt; in the car yesterday, so I continued and finished it this morning. In the afternoon, I slept in and then got up to study for a while.&lt;/p&gt;
&lt;p&gt;In the evening, my mom called and said they couldn&amp;rsquo;t finish the chicken and asked me to come over to eat it so it wouldn’t go to waste. I didn’t really feel like going—I thought it was a bit of a time-waster. It’s not like I could arrive right at mealtime, eat, and then immediately leave. I’d much rather be on my own.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today was a lazy day.</p>
<p>I didn&rsquo;t finish watching <em>Justice League</em> in the car yesterday, so I continued and finished it this morning. In the afternoon, I slept in and then got up to study for a while.</p>
<p>In the evening, my mom called and said they couldn&rsquo;t finish the chicken and asked me to come over to eat it so it wouldn’t go to waste. I didn’t really feel like going—I thought it was a bit of a time-waster. It’s not like I could arrive right at mealtime, eat, and then immediately leave. I’d much rather be on my own.</p>
<p>When I was about to leave after eating, my mom gave me some meat and some vegetables they hadn’t cooked today. I also took the out-of-season quarter-watermelon I had bought myself.</p>
  

  


  
  <blockquote class="alert-blockquote alert-todo" >
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <circle cx="12" cy="12" r="10"></circle><path d="m9 12 2 2 4-4"></path>
      </svg>
      
      <span>Todo</span>
      
    </p>
    <div class="alert-content callout-content">
      <p>This weekend, I plan to cook some crayfish to eat.</p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
]]></content:encoded>
    </item>
    <item>
      <title>April 20, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-20/</link>
      <pubDate>Sun, 20 Apr 2025 14:35:36 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-20/</guid>
      <description>&lt;p&gt;I slept quite well last night, without any dreams.&lt;/p&gt;
&lt;p&gt;This morning, Huanhuan’s dad came back while we were still sleeping in. After getting up, I washed my hair, and Huanhuan’s dad went out to buy groceries. At noon, I tried stir-frying pork liver for the first time—it tasted a bit odd, but Huanhuan’s dad thought it was quite delicious.&lt;/p&gt;
&lt;p&gt;In the afternoon, I went to Huanhuan’s office to wait for her while she worked on her speech draft. After she finished, she bought me some cakes, and then we went to eat Luosifen (river snail rice noodles). It didn’t taste as good as before.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I slept quite well last night, without any dreams.</p>
<p>This morning, Huanhuan’s dad came back while we were still sleeping in. After getting up, I washed my hair, and Huanhuan’s dad went out to buy groceries. At noon, I tried stir-frying pork liver for the first time—it tasted a bit odd, but Huanhuan’s dad thought it was quite delicious.</p>
<p>In the afternoon, I went to Huanhuan’s office to wait for her while she worked on her speech draft. After she finished, she bought me some cakes, and then we went to eat Luosifen (river snail rice noodles). It didn’t taste as good as before.</p>
<p>Time flew by quickly. After the meal, Huanhuan rode her bike to drop me off at the bus stop. When I arrived in Shuicheng, I called my mom and asked if she wanted to come for a walk. If she did, I told her to meet me directly.</p>
<p>I found a bench near People’s Square and sat down to play on my phone. Lately, my mom has seemed somewhat adjusted—or maybe not. Either way, we still don’t get along very comfortably.</p>
<p>I completely agree with what Huanhuan said: <strong>people need validation</strong>. Mom used to do everything well back in our hometown. But after coming here, she&rsquo;s only left with cooking and taking care of the kids. However, these two tasks haven’t received any recognition, which makes her feel very frustrated. I think I should take some time to talk to my brother about this—to be more patient in teaching Mom and to communicate with my sister-in-law. I believe we can reach a comfortable state, but if we ignore it, things might get worse.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 19, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-19/</link>
      <pubDate>Sat, 19 Apr 2025 14:35:40 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-19/</guid>
      <description>&lt;p&gt;Last night, I managed to sleep fairly well, though I went to bed a bit late.&lt;/p&gt;
&lt;p&gt;Exams really cost a lot of money, especially since hotels turn into a seller&amp;rsquo;s market during exam periods and inevitably raise their prices. Many hotels have hiked their rates to such an extent that they might as well be publicly shamed on a lamppost.&lt;/p&gt;
&lt;p&gt;Candidates are truly pitiable—most of them don’t even have stable jobs. The exams themselves are hard enough, and yet they still have to endure being exploited by these people.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Last night, I managed to sleep fairly well, though I went to bed a bit late.</p>
<p>Exams really cost a lot of money, especially since hotels turn into a seller&rsquo;s market during exam periods and inevitably raise their prices. Many hotels have hiked their rates to such an extent that they might as well be publicly shamed on a lamppost.</p>
<p>Candidates are truly pitiable—most of them don’t even have stable jobs. The exams themselves are hard enough, and yet they still have to endure being exploited by these people.</p>
<p>Complimenting others is actually quite nice. Last night, the driver I had booked stood me up, and a taxi happened to come pick me up instead. I praised the driver for her excellent skills, and she ended up sharing a lot about her life with me.</p>
<p>The exam didn’t go so well, though. I messed up transferring and filling in the answer sheet. I had the correct answers calculated but didn’t write them down—so frustrating. It took me several minutes to calm down and focus on the essay section. For the first question, I had already finished writing but thought of adding more, only to exceed the word limit. It was really annoying. These little details still need more practice.</p>
<p>After the exam, I grabbed a shared bike and rode to Haina Plaza to find something to eat. Nothing really appealed to me, so after some thought, I ordered a KFC single meal. I asked the staff to verify my coupon, but she told me to do it myself on the app. Feeling a bit annoyed and considering my slow phone, I just left. At the station, I ended up eating the eggs I had in my bag and the mooncakes Huanhuan bought for me.</p>
<p>Huanhuan took me to eat sour soup fish noodles, and I was so hungry that I finished even the soup. We walked home and also had some big gluten skewers on the way. I told Huanhuan about an Indian movie I had watched part of on the bus today—<em>Karma</em>, and after we got home, we continued watching it. Her mom couldn’t stand the bloody scenes and went back to her own room. We stayed up very late before going to bed.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 18, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-18/</link>
      <pubDate>Fri, 18 Apr 2025 14:35:42 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-18/</guid>
      <description>&lt;p&gt;Tomorrow, I have an exam in Guiyang for a public institution under the Department of Transportation, so today I’m rushing to catch a bus to Guiyang.&lt;/p&gt;
&lt;p&gt;As I left the house, I overheard two kids talking. One of them said:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When I was little, I thought if a mouse got sick, it should take rat poison.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Exams are truly expensive, especially since hotels turn into a seller’s market whenever there’s an exam—price hikes are inevitable. Many hotels have raised their rates so much that they practically deserve to be publicly shamed on utility poles.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Tomorrow, I have an exam in Guiyang for a public institution under the Department of Transportation, so today I’m rushing to catch a bus to Guiyang.</p>
<p>As I left the house, I overheard two kids talking. One of them said:</p>
<blockquote>
<p>When I was little, I thought if a mouse got sick, it should take rat poison.</p>
</blockquote>
<p>Exams are truly expensive, especially since hotels turn into a seller’s market whenever there’s an exam—price hikes are inevitable. Many hotels have raised their rates so much that they practically deserve to be publicly shamed on utility poles.</p>
<p>It’s tough for examinees too. Most of them don’t have stable jobs to begin with. The exams themselves are already hard enough, and on top of that, they have to endure being bled dry by these price-gougers.</p>
<p>Spending money but still not getting a decent place to stay is really frustrating.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 17, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-17/</link>
      <pubDate>Thu, 17 Apr 2025 14:23:15 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-17/</guid>
      <description>&lt;p&gt;The provincial exam results are out, and I ranked 16th—utterly ridiculous. It feels like the era of Kong Yiji has returned. Due to the poor employment environment, a large number of young people are flocking to civil service exams, creating a vicious cycle.&lt;/p&gt;
&lt;p&gt;Today is my mother’s birthday. At noon, I bought her two small cakes.&lt;/p&gt;
&lt;p&gt;In the evening, I took my mother for a walk around the neighborhood. She still seems a bit confused about directions and roads—perhaps she needs to walk the route a few more times. My parents and I don’t have deep conversations; we rarely talk about anything beyond daily life.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The provincial exam results are out, and I ranked 16th—utterly ridiculous. It feels like the era of Kong Yiji has returned. Due to the poor employment environment, a large number of young people are flocking to civil service exams, creating a vicious cycle.</p>
<p>Today is my mother’s birthday. At noon, I bought her two small cakes.</p>
<p>In the evening, I took my mother for a walk around the neighborhood. She still seems a bit confused about directions and roads—perhaps she needs to walk the route a few more times. My parents and I don’t have deep conversations; we rarely talk about anything beyond daily life.</p>
<p>Today, I said to my mother, “You’re 57 now, huh?”<br>
“Just turned 56,” she replied.<br>
“Is there anything you’d like to do? Or any place you’d like to go?”<br>
“What kind of place would I want to go to…?” After a few seconds of thought, she continued, “There isn’t.”</p>
<p>My mother has devoted her entire life to our family—you could say she’s spent her life battling this difficult world. She’s timid, afraid of many things, afraid of dealing with people, even afraid of arguing with us. Yet, she constantly wrestles with herself internally. I often lose patience with her over these things, urging her to pay attention to her own feelings. I don’t know if it helps.</p>
<hr>
<p>Let me talk about something else.</p>
<p>I really dislike conversations that revolve around money, houses, and the like—who has money, how much a house costs, how big it is, where it’s bought. Of course, it’s not because I don’t have these things myself at the moment, but rather because the attitude people have toward them disgusts me.</p>
<p>I don’t deny the importance of wealth in our lives—it helps us realize our personal value. What I despise are these twisted values, where many treat money as a label. Expensive items are automatically considered good, healthy, and high-quality; wealthy people are seen as hardworking, capable, and ambitious—exactly what they aspire to be. I’ve never heard them discuss who doesn’t have money or the underlying essence of these phenomena when they talk about who does.</p>
<p>If the only things left to discuss in life are these, I’d rather not participate in the conversation at all.</p>
<p>There is never anything wrong with making money, and I will always dislike those who treat money as an end in itself and use it to measure the value of life.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 16, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-16/</link>
      <pubDate>Wed, 16 Apr 2025 04:46:16 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-16/</guid>
      <description>&lt;p&gt;Human laziness is, to some extent, a manifestation of the law of inertia, and it inherently carries significant friction. A person lying down or at rest finds it difficult to maintain a state of continuous forward motion.&lt;/p&gt;
&lt;h3 id=&#34;0009-getting-ready-for-bed&#34;&gt;00:09 Getting ready for bed&lt;/h3&gt;
&lt;p&gt;Spent most of today watching educational videos and discovered a highly capable teacher with solid values: &lt;a href=&#34;https://space.bilibili.com/57658647&#34;&gt;The Right Path in Public Exams is Full of Vicissitudes&lt;/a&gt;. I also found his verbatim notes on interviews, which I’ve reposted on my blog: &lt;a href=&#34;https://jinpeng.cv/en/posts/note/article_202504162353/&#34;&gt;Verbatim Notes on Interview Insights | The Right Path in Public Exams is Full of Vicissitudes&lt;/a&gt;.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Human laziness is, to some extent, a manifestation of the law of inertia, and it inherently carries significant friction. A person lying down or at rest finds it difficult to maintain a state of continuous forward motion.</p>
<h3 id="0009-getting-ready-for-bed">00:09 Getting ready for bed</h3>
<p>Spent most of today watching educational videos and discovered a highly capable teacher with solid values: <a href="https://space.bilibili.com/57658647">The Right Path in Public Exams is Full of Vicissitudes</a>. I also found his verbatim notes on interviews, which I’ve reposted on my blog: <a href="/en/posts/note/article_202504162353/">Verbatim Notes on Interview Insights | The Right Path in Public Exams is Full of Vicissitudes</a>.</p>
<p>This completely changed my previous perspective—public exams aren’t purely about luck. I used to think that people with similar abilities would perform similarly in exams, and that the benefits of practice might be offset by luck.</p>
<p>The belief that success depends on luck isn&rsquo;t necessarily correct, but we can only explore this after we&rsquo;ve done everything within our power to eliminate non-luck factors. If we aspire to achieve great goals, then this is precisely what we must do.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 15, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-15/</link>
      <pubDate>Tue, 15 Apr 2025 09:39:15 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-15/</guid>
      <description>&lt;p&gt;I said my diary is very similar to the &amp;ldquo;Progress Reports&amp;rdquo; written by Charlie, but writing it doesn’t necessarily make one improve. It’s more about observing one’s own life cycle and seeing which stage one is currently in.&lt;/p&gt;
&lt;h3 id=&#34;1739-finished-reading-flowers-for-algernon&#34;&gt;17:39 Finished reading &lt;em&gt;Flowers for Algernon&lt;/em&gt;&lt;/h3&gt;
&lt;p&gt;Yesterday, I read about two-thirds of the book and wrote a letter to Huanhuan: &lt;a href=&#34;https://jinpeng.cv/en/letter/letter_202504142002/&#34;&gt;Seeing True Love Is a Difficult Thing&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;But after finishing the book, I had more thoughts. I pondered the differences between the same person named Charlie at an IQ of 185 versus 68. I reflected on how society overlooks individual lives and existence, from small things like the purpose of brain surgery to larger issues like various experiments, policies, and wars in society. This world is full of selfish people, and harm caused by selfishness is everywhere. On different scales, each of us could be a victim like Charlie, or we might inadvertently become perpetrators.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I said my diary is very similar to the &ldquo;Progress Reports&rdquo; written by Charlie, but writing it doesn’t necessarily make one improve. It’s more about observing one’s own life cycle and seeing which stage one is currently in.</p>
<h3 id="1739-finished-reading-flowers-for-algernon">17:39 Finished reading <em>Flowers for Algernon</em></h3>
<p>Yesterday, I read about two-thirds of the book and wrote a letter to Huanhuan: <a href="/en/letter/letter_202504142002/">Seeing True Love Is a Difficult Thing</a>.</p>
<p>But after finishing the book, I had more thoughts. I pondered the differences between the same person named Charlie at an IQ of 185 versus 68. I reflected on how society overlooks individual lives and existence, from small things like the purpose of brain surgery to larger issues like various experiments, policies, and wars in society. This world is full of selfish people, and harm caused by selfishness is everywhere. On different scales, each of us could be a victim like Charlie, or we might inadvertently become perpetrators.</p>
<p>As for love, it seems like an elusive thing. Was the love between Charlie and Alice real and eternal? Clearly not. Love requires conditions and capability; otherwise, Charlie wouldn’t have pushed Alice away as he rapidly deteriorated. But perhaps choosing not to love is also a deeper form of love.</p>
<p>And what about Fay? Couldn’t the connection between her and Charlie be called love? Fay saw the charming qualities in Charlie and harbored no ill intentions. Her departure was only because Charlie wanted her to leave. Could it be that the foolish Charlie always adored Alice, while Fay was the partner the intelligent Charlie chose and desired? To answer this, perhaps we need to reverse the question and define precisely <mark style="background: #ADCCFFA6;">what is not love</mark>.</p>
<h3 id="1946-after-dinner">19:46 After dinner</h3>
<p>I love potatoes stir-fried until golden, with a bit of salt and chili, paired with freshly steamed hot rice and a pot of vegetables. Delicious.</p>
<p>There are too many slapdash operations. Suddenly, many institutions and official sources announced the release of provincial exam rankings, and everyone thought they were really out—but they weren’t. Is it so hard to release the results, or does someone have other ideas?</p>
<h3 id="2217-back-from-a-walk-with-mom">22:17 Back from a walk with Mom</h3>
<p>After dinner today, I called Mom again, and she still wanted to come out for a walk to get familiar with the route. I was feeling particularly lazy, so I called Mom and asked her to come find me along Xiangyang Road, giving her a chance to get more familiar with the area.</p>
<p>Tomorrow, I need to focus on practicing some questions—I have an exam to take this weekend.</p>
  

  


  
  <blockquote class="alert-blockquote alert-fix" >
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <path d="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"></path><path d="m15 5 4 4"></path>
      </svg>
      
      <span>Fix</span>
      
    </p>
    <div class="alert-content callout-content">
      <p>Additionally, a few days ago, I noticed that the back cover of my phone was cracked, so I ordered a new one from Taobao. It arrived today. I couldn’t wait to pick it up from the delivery station. After using a hairdryer to soften the adhesive and cleaning off the residual glue, I replaced it with the new back cover. The result is relatively perfect, though not an absolutely seamless fit.</p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
]]></content:encoded>
    </item>
    <item>
      <title>April 14, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-14/</link>
      <pubDate>Mon, 14 Apr 2025 03:02:23 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-14/</guid>
      <description>&lt;h3 id=&#34;1102-totally-blind&#34;&gt;11:02 Totally Blind&lt;/h3&gt;
&lt;p&gt;The website&amp;rsquo;s Sitemap kept generating empty files, and I spent time troubleshooting the issue. After a round of debugging, I realized the &lt;code&gt;disable&lt;/code&gt; flag in the configuration file was set to &lt;code&gt;true&lt;/code&gt;. The local &lt;code&gt;hugo.yaml&lt;/code&gt; had already been changed to &lt;code&gt;false&lt;/code&gt;, but I still wasted two hours.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;sitemap&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;changefreq&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;always&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;disable&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;false&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;priority&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;m&#34;&gt;0.8&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;1149-after-eating-liangfen&#34;&gt;11:49 After Eating Liangfen&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;pre-commit&lt;/code&gt; always makes me wait forever during submissions, and the &lt;code&gt;node_modules&lt;/code&gt; directory also slows down Obsidian&amp;rsquo;s startup. So, I deleted it.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1102-totally-blind">11:02 Totally Blind</h3>
<p>The website&rsquo;s Sitemap kept generating empty files, and I spent time troubleshooting the issue. After a round of debugging, I realized the <code>disable</code> flag in the configuration file was set to <code>true</code>. The local <code>hugo.yaml</code> had already been changed to <code>false</code>, but I still wasted two hours.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-yaml" data-lang="yaml"><span class="line"><span class="cl"><span class="nt">sitemap</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">changefreq</span><span class="p">:</span><span class="w"> </span><span class="l">always</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">disable</span><span class="p">:</span><span class="w"> </span><span class="kc">false</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">priority</span><span class="p">:</span><span class="w"> </span><span class="m">0.8</span><span class="w">
</span></span></span></code></pre></td></tr></table>
</div>
</div><h3 id="1149-after-eating-liangfen">11:49 After Eating Liangfen</h3>
<p><code>pre-commit</code> always makes me wait forever during submissions, and the <code>node_modules</code> directory also slows down Obsidian&rsquo;s startup. So, I deleted it.</p>
<p>I also removed Front Matter (CMS). Obsidian itself is already sufficient—no need to chase after redundant tools.</p>
<h3 id="1446-trying-to-shelve-my-thoughts">14:46 Trying to Shelve My Thoughts</h3>
<p>I couldn’t fall asleep at noon, thinking about learning <code>Sass</code> and <code>Tailwind CSS</code>, wondering why lunch wasn’t over yet, and stressing over things like the provincial civil service exam (CSC). These thoughts swirled in my head, and in the end, I didn’t sleep at all.</p>
<p>There’s no need to learn so many things—time is limited. Mastering basic CSS is enough for me. Why bother with more? I’m not someone who makes a living as a front-end developer. What I need now is a way to earn a living, or at least something that brings me peace of mind.</p>
<h3 id="1949-after-dinner">19:49 After Dinner</h3>
<p>So many thoughts.</p>
<p>Yesterday, I bought liangfen and liangpi, and it took me the whole day to finish them today. But these things aren’t filling—they’re mostly water, so I got hungry again quickly. Then, my stomach took control of my brain, ordering my mouth to eat an ice cream, a ham sausage, a fried egg, and a pot of vegetables.</p>
<p>Supermarket eggs are ridiculously cheap—only 3.99 yuan per pound—so I quickly put the packaged eggs in my cart back on the shelf.</p>
<p>Later, my mom asked me to go for a walk, but I was too lazy to move, so I told her to come to me instead.</p>
<h3 id="2142-back-from-a-walk-with-mom">21:42 Back from a Walk with Mom</h3>
<p>I always get super hungry after walks. Came back and ate some fruit and bread—so much for losing weight.</p>
<h3 id="2214-finished-writing-a-reply-to-huanhuan-about-charlie">22:14 Finished Writing a Reply to Huanhuan About Charlie</h3>
<p>When similar incidents occur around us, there are many issues worth reflecting upon.</p>
<h3 id="2349-some-eternal-things-only-can-be-discovered-by-ourselves">23:49 Some eternal things only can be discovered by ourselves</h3>
<blockquote>
<p>When we discuss things like love, truth, and the supreme goodness that others speak or write about, we need to be rational and recognize that the preciousness of these things lies in the fact that not everyone can see and recognize them.</p>
<p>Therefore, we must carefully discuss the things they write about, and firmly believe that our own judgment comes from our own things.</p>
</blockquote>
]]></content:encoded>
    </item>
    <item>
      <title>April 13, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-13/</link>
      <pubDate>Sun, 13 Apr 2025 01:56:20 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-13/</guid>
      <description>&lt;h3 id=&#34;0957-woke-up&#34;&gt;09:57 Woke up&lt;/h3&gt;
&lt;p&gt;Haha, currently teaching Xiaohuanhuan about Git and GitHub.&lt;/p&gt;
&lt;h3 id=&#34;1016-teaching-xiaohuanhuan-markdown-syntax&#34;&gt;10:16 Teaching Xiaohuanhuan markdown syntax&lt;/h3&gt;
&lt;p&gt;Haha, she seemed quite amazed and curious. But it’s indeed very useful—taking just a few minutes to learn it is definitely worth it.&lt;/p&gt;
&lt;h3 id=&#34;noon&#34;&gt;Noon&lt;/h3&gt;
&lt;p&gt;At noon, we fried mushrooms again. Using only potato starch didn’t taste very good. The potato starch was sticky, and after frying, it turned out quite tough. The texture wasn’t great, so we can improve on that later.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0957-woke-up">09:57 Woke up</h3>
<p>Haha, currently teaching Xiaohuanhuan about Git and GitHub.</p>
<h3 id="1016-teaching-xiaohuanhuan-markdown-syntax">10:16 Teaching Xiaohuanhuan markdown syntax</h3>
<p>Haha, she seemed quite amazed and curious. But it’s indeed very useful—taking just a few minutes to learn it is definitely worth it.</p>
<h3 id="noon">Noon</h3>
<p>At noon, we fried mushrooms again. Using only potato starch didn’t taste very good. The potato starch was sticky, and after frying, it turned out quite tough. The texture wasn’t great, so we can improve on that later.</p>
<h3 id="nap">Nap</h3>
<p>When the two of us are together, we just get so sleepy—once we fall asleep, we don’t want to get up at all.<br>
After 3 PM, we took the leftover mushrooms to share with my brother and his family. Then, Xiaohuanhuan and I strolled along the Shuicheng River and admired the cherry blossoms by the riverside.</p>
<p>My hair was greasy and messy, so I could only take some sloppy, unflattering photos. In the future, I’ll have to specifically train Xiaohuanhuan in managing her expressions, haha.</p>
<h3 id="return">Return</h3>
<p>After seeing Xiaohuanhuan off on the bus, I took the K1 route back. It was 1 yuan more expensive, but there were far fewer people. Definitely worth it in this scorching summer heat.</p>
<p>Then I went to get a 15-yuan haircut, which turned out quite satisfying, and the barber was very nice. Since lunch was a bit greasy, I didn’t feel like eating much, so I bought some jelly noodles and cold skin noodles, along with 5-yuan crispy beans. Back home, I mixed them together myself, and it tasted pretty good.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 12, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-12/</link>
      <pubDate>Sat, 12 Apr 2025 08:32:50 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-12/</guid>
      <description>&lt;div class=&#34;encrypted-content&#34; data-cipher=&#34;3JpYWxseSwgd2UgaGFkIGRlY2lkZWQgdG8gZ28gdG8gTGlzaGFuJnJzcXVvO3MgaG91c2UgaW4gUWluZ3poZW4gZm9yIGEgYmFyYmVjdWUgdG9kYXkgdG8gY2VsZWJyYXRlIHRoZWlyIHJlY2VudCBzdWJtaXNzaW9uIGZvciByZXZpZXcuPC9wPgo8cD5UaGUgaW5pdGlhbCBwbGFuIHdhcyBtYWRlIGJlY2F1c2UgSSBoYWQgdGFrZW4gb24gYSDkuJPljYfmnKwgKGp1bmlvciBjb2xsZWdlIHRvIHVuZGVyZ3JhZHVhdGUpIHRyYWluaW5nIHByb2dyYW0gaW4gR3VpeWFuZywgYW5kIGl0IGhhcHBlbmVkIHRvIGJlIGNvbnZlbmllbnQgdG8gdmlzaXQgUWluZ3poZW4uIExhdGVyLCBkdWUgdG8gc3VkZGVuIGNpcmN1bXN0YW5jZXMgKHNlZSA8YSBocmVmPSIvZW4vZGlhcnkvMjAyNS9hcHJpbC8yMDI1LTA0LTA3Ij4yMDI1LTA0LTA3LmVuPC9hPiksIHdlIGNhbmNlbGVkIHRoZSB0cmlwLiBBbm90aGVyIG1ham9yIHJlYXNvbiB3YXMgdGhhdCBhIHRyaXAgdG8gUWluZ3poZW4gd291bGQgY29zdCB1cyBhdCBsZWFzdCA1MDArLCBhbmQgb24gdG9wIG9mIHRoYXQsIEh1YW5odWFuIGFuZCBJIGhhZG4mcnNxdW87dCBoYWQgbXVjaCB0aW1lIGFsb25lIHRvZ2V0aGVyIGluIGEgd2hpbGUuPC9wPgo8cD5TbywgdGhlIGNvc3Qgb2YgdGhpcyB0cmlwIHNlZW1lZCBkaXNwcm9wb3J0aW9uYXRlbHkgaGlnaCwgYW5kIEkgaGFkIHRvIGF3a3dhcmRseSB0ZWxsIExpc2hhbiB0aGF0IHdlIHdvdWxkbuKAmXQgYmUgY29taW5nIGFmdGVyIGFsbC48L3A&amp;#43;CjxwPlRoZSByZWFzb24gSSBnYXZl4oCUaGVscGluZyBteSBtb20gYWRqdXN0IHRvIGNpdHkgbGlmZeKAlHdhcyBhY3R1YWxseSB0aGUgbGVhc3QgaW1wb3J0YW50IGZhY3RvciwgYnV0IHRoZSBvdGhlciByZWFzb25zIHdlcmUgdG9vIGhhcmQgdG8gZXhwbGFpbi48L3A&amp;#43;CjxwPjxzdHJvbmc&amp;#43;U2lnaCE8L3N0cm9uZz4gU3VjaCBhIHNlbnRpbWVudGFsIHBlcnNvbiE8L3A&amp;#43;CjxoMyBpZD0iMTYzMi1maXJzdC10aW1lLWJvaWxpbmctcGVhbnV0cyI&amp;#43;MTY6MzIgRmlyc3QgVGltZSBCb2lsaW5nIFBlYW51dHM8L2gzPgo8cD5JIHVzZWQgdGhlIHJpY2UgY29va2VyLiBBdCBmaXJzdCwgSSB0aG91Z2h0IEnigJlkIGFkZGVkIHRvbyBtdWNoIHNhbHQsIGJ1dCBpdCB0dXJuZWQgb3V0IGZpbmUuPC9wPgo8cD5IdWFuaHVhbiB0dXJuZWQgaW50byBhIGxpdHRsZSBzbmFjayBtb25zdGVyLCBzbmVha2luZyBiaXRlcyBub25zdG9wLjwvcD4KPGgzIGlkPSIyMjQ5LWltcHJvdmluZy1jb250ZW50LWVuY3J5cHRpb24iPjIyOjQ5IEltcHJvdmluZyBDb250ZW50IEVuY3J5cHRpb248L2gzPgo8cD5QcmV2aW91c2x5LCBJIHVzZWQgc2ltcGxlIE1hcmtkb3duIHN5bnRheCByZXN0b3JhdGlvbiwgd2hpY2ggZGlkbuKAmXQgaGFuZGxlIGxpbmtzIHdlbGwgYW5kIGhhZCBsaW1pdGVkIGZvcm1hdCBzdXBwb3J0LiBOb3csIEnigJltIGVuY3J5cHRpbmcgdGhlIEhUTUwgZGlyZWN0bHkgYW5kIHRoZW4gZGVjcnlwdGluZyBpdCB0byByZWluc2VydCB0aGUgY29udGVudC4gTGlua3MgYXJlIGFsc28gc3BlY2lhbGx5IHByb2Nlc3NlZCwgd2hpY2ggc2hvdWxkIGNvdmVyIG1vc3Qgc2NlbmFyaW9zLjwvcD4KPGgzIGlkPSJyYW5kb20tdGhvdWdodHMiPlJhbmRvbSBUaG91Z2h0czwvaDM&amp;#43;CjxwPlRoaXMgYWZ0ZXJub29uLCBJIHdhbnRlZCB0byBsYXplIGFyb3VuZCB3aXRoIEh1YW5odWFuLCBidXQgbXkgbW9tIGNhbGxlZCBzYXlpbmcgc2hlIHdhbnRlZCB0byBnbyBvdXQgZm9yIGEgd2Fsay4gU28sIHdlIGFjY29tcGFuaWVkIGhlciBhbmQgZXZlbiB0b29rIGhlciB0byBleGNoYW5nZSBzb21lIGNsb3RoZXMgc2hlIGhhZCBib3VnaHQgZWFybGllci4gU2hlIHdhcyByZWFsbHkgaGFwcHkuPC9wPgo8cD5UaGUgY2hlcnJ5IGJsb3Nzb21zIGR1cmluZyB0aGUgZGF5IGxvb2tlZCBtb3JlIHZpdmlkIGFuZCBkZXRhaWxlZC4gSGVoLCBJIHNuYXBwZWQgYSBwaG90byBvZiBIdWFuaHVhbiBhbmQgTW9tIHRvZ2V0aGVyLjwvcD4KPHA&amp;#43;SW4gdGhlIGV2ZW5pbmcsIHdlIGJvdWdodCBzb21lIHNlYSBiYXNzIHRvIG1ha2UgYnJhaXNlZCBmaXNoLCBidXQgaXQgZGlkbuKAmXQgdHVybiBvdXQgZ3JlYXTigJR0b28gbXVjaCBzdWdhciBhbmQgbm8gZGFyayBzb3kgc2F1Y2UgZm9yIGNvbG9yLiBXZeKAmWxsIGRvIGJldHRlciBuZXh0IHRpbWUuPC9wPgo8cD5J4oCZbSBoZXJlIG5vdywgbGl0dGxlIEh1YW5odWFuITwvcD4KPHA&amp;#43;TZ2lu&#34; data-hint=&#34;Content Here is Encrypted&#34; data-error=&#34;Password Error&#34;&gt;
  &lt;div class=&#34;locked-state&#34;&gt;
    &lt;p&gt;🔒 Content Here is Encrypted&lt;/p&gt;
    &lt;div class=&#34;password-prompt&#34;&gt;
      &lt;div class=&#34;password-input-wrapper&#34;&gt;
        &lt;input type=&#34;password&#34; class=&#34;password-input&#34;
               placeholder=&#34;Please input password&#34;
               id=&#34;pwd-input-0&#34;
               aria-label=&#34;加密内容密码&#34;&gt;
        &lt;button type=&#34;button&#34;
                class=&#34;toggle-visibility-btn&#34;
                aria-pressed=&#34;false&#34;
                aria-label=&#34;显示或隐藏密码&#34;
                onclick=&#34;toggleVisibility(this, &#39;pwd-input-0&#39;)&#34;&gt;
          &lt;svg class=&#34;icon icon-eye-open&#34; viewBox=&#34;0 0 24 24&#34; aria-hidden=&#34;true&#34;&gt;
            &lt;path d=&#34;M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z&#34;/&gt;
          &lt;/svg&gt;
          &lt;svg class=&#34;icon icon-eye-closed&#34; viewBox=&#34;0 0 24 24&#34; aria-hidden=&#34;true&#34;&gt;
            &lt;path d=&#34;M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z&#34;/&gt;
          &lt;/svg&gt;
        &lt;/button&gt;
      &lt;/div&gt;
      &lt;button class=&#34;decrypt-btn&#34; onclick=&#34;decryptContent(event, &#39;pwd-input-0&#39;)&#34;&gt;
        Unlock
      &lt;/button&gt;
    &lt;/div&gt;
    &lt;div class=&#34;status-message&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class=&#34;decrypted-content markdown-body&#34; hidden&gt;&lt;/div&gt;
&lt;/div&gt;



&lt;style&gt;
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
&lt;/style&gt;

&lt;script&gt;
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === &#39;password&#39;;
    input.type = isPwd ? &#39;text&#39; : &#39;password&#39;;
    btn.setAttribute(&#39;aria-pressed&#39;, String(isPwd));
    btn.classList.toggle(&#39;is-visible&#39;, isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest(&#39;.encrypted-content&#39;);
    const statusEl = container.querySelector(&#39;.status-message&#39;);
    const decryptedContent = container.querySelector(&#39;.decrypted-content&#39;);
  
    statusEl.textContent = &#39;&#39;;
    statusEl.classList.remove(&#39;error&#39;);
    input.classList.remove(&#39;error&#39;);
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, &#39;0&#39;) + String(today.getUTCDate()).padStart(2, &#39;0&#39;);
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, &#39;0&#39;);
  
    if (input.value !== validPwd) {
      input.classList.add(&#39;error&#39;);
      statusEl.textContent = container.dataset.error || &#39;&#39;;
      statusEl.classList.add(&#39;error&#39;);
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, &#39;&#39;);
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length &gt; 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i &lt; binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder(&#34;utf-8&#34;).decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = &#39;&#39;;
      decryptedContent.appendChild(fragment);
  
      container.querySelector(&#39;.locked-state&#39;).hidden = true;
      decryptedContent.hidden = false;
      container.classList.add(&#39;unlocked&#39;);
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = &#39;Decode Failed: &#39; + e.message;
      statusEl.classList.add(&#39;error&#39;);
    }
  }
  
  document.addEventListener(&#39;DOMContentLoaded&#39;, () =&gt; {
    document.querySelectorAll(&#39;.password-input&#39;).forEach(input =&gt; {
      input.addEventListener(&#39;keypress&#39;, e =&gt; {
        if (e.key === &#39;Enter&#39;) {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
&lt;/script&gt;</description>
      <content:encoded><![CDATA[<div class="encrypted-content" data-cipher="3JpYWxseSwgd2UgaGFkIGRlY2lkZWQgdG8gZ28gdG8gTGlzaGFuJnJzcXVvO3MgaG91c2UgaW4gUWluZ3poZW4gZm9yIGEgYmFyYmVjdWUgdG9kYXkgdG8gY2VsZWJyYXRlIHRoZWlyIHJlY2VudCBzdWJtaXNzaW9uIGZvciByZXZpZXcuPC9wPgo8cD5UaGUgaW5pdGlhbCBwbGFuIHdhcyBtYWRlIGJlY2F1c2UgSSBoYWQgdGFrZW4gb24gYSDkuJPljYfmnKwgKGp1bmlvciBjb2xsZWdlIHRvIHVuZGVyZ3JhZHVhdGUpIHRyYWluaW5nIHByb2dyYW0gaW4gR3VpeWFuZywgYW5kIGl0IGhhcHBlbmVkIHRvIGJlIGNvbnZlbmllbnQgdG8gdmlzaXQgUWluZ3poZW4uIExhdGVyLCBkdWUgdG8gc3VkZGVuIGNpcmN1bXN0YW5jZXMgKHNlZSA8YSBocmVmPSIvZW4vZGlhcnkvMjAyNS9hcHJpbC8yMDI1LTA0LTA3Ij4yMDI1LTA0LTA3LmVuPC9hPiksIHdlIGNhbmNlbGVkIHRoZSB0cmlwLiBBbm90aGVyIG1ham9yIHJlYXNvbiB3YXMgdGhhdCBhIHRyaXAgdG8gUWluZ3poZW4gd291bGQgY29zdCB1cyBhdCBsZWFzdCA1MDArLCBhbmQgb24gdG9wIG9mIHRoYXQsIEh1YW5odWFuIGFuZCBJIGhhZG4mcnNxdW87dCBoYWQgbXVjaCB0aW1lIGFsb25lIHRvZ2V0aGVyIGluIGEgd2hpbGUuPC9wPgo8cD5TbywgdGhlIGNvc3Qgb2YgdGhpcyB0cmlwIHNlZW1lZCBkaXNwcm9wb3J0aW9uYXRlbHkgaGlnaCwgYW5kIEkgaGFkIHRvIGF3a3dhcmRseSB0ZWxsIExpc2hhbiB0aGF0IHdlIHdvdWxkbuKAmXQgYmUgY29taW5nIGFmdGVyIGFsbC48L3A&#43;CjxwPlRoZSByZWFzb24gSSBnYXZl4oCUaGVscGluZyBteSBtb20gYWRqdXN0IHRvIGNpdHkgbGlmZeKAlHdhcyBhY3R1YWxseSB0aGUgbGVhc3QgaW1wb3J0YW50IGZhY3RvciwgYnV0IHRoZSBvdGhlciByZWFzb25zIHdlcmUgdG9vIGhhcmQgdG8gZXhwbGFpbi48L3A&#43;CjxwPjxzdHJvbmc&#43;U2lnaCE8L3N0cm9uZz4gU3VjaCBhIHNlbnRpbWVudGFsIHBlcnNvbiE8L3A&#43;CjxoMyBpZD0iMTYzMi1maXJzdC10aW1lLWJvaWxpbmctcGVhbnV0cyI&#43;MTY6MzIgRmlyc3QgVGltZSBCb2lsaW5nIFBlYW51dHM8L2gzPgo8cD5JIHVzZWQgdGhlIHJpY2UgY29va2VyLiBBdCBmaXJzdCwgSSB0aG91Z2h0IEnigJlkIGFkZGVkIHRvbyBtdWNoIHNhbHQsIGJ1dCBpdCB0dXJuZWQgb3V0IGZpbmUuPC9wPgo8cD5IdWFuaHVhbiB0dXJuZWQgaW50byBhIGxpdHRsZSBzbmFjayBtb25zdGVyLCBzbmVha2luZyBiaXRlcyBub25zdG9wLjwvcD4KPGgzIGlkPSIyMjQ5LWltcHJvdmluZy1jb250ZW50LWVuY3J5cHRpb24iPjIyOjQ5IEltcHJvdmluZyBDb250ZW50IEVuY3J5cHRpb248L2gzPgo8cD5QcmV2aW91c2x5LCBJIHVzZWQgc2ltcGxlIE1hcmtkb3duIHN5bnRheCByZXN0b3JhdGlvbiwgd2hpY2ggZGlkbuKAmXQgaGFuZGxlIGxpbmtzIHdlbGwgYW5kIGhhZCBsaW1pdGVkIGZvcm1hdCBzdXBwb3J0LiBOb3csIEnigJltIGVuY3J5cHRpbmcgdGhlIEhUTUwgZGlyZWN0bHkgYW5kIHRoZW4gZGVjcnlwdGluZyBpdCB0byByZWluc2VydCB0aGUgY29udGVudC4gTGlua3MgYXJlIGFsc28gc3BlY2lhbGx5IHByb2Nlc3NlZCwgd2hpY2ggc2hvdWxkIGNvdmVyIG1vc3Qgc2NlbmFyaW9zLjwvcD4KPGgzIGlkPSJyYW5kb20tdGhvdWdodHMiPlJhbmRvbSBUaG91Z2h0czwvaDM&#43;CjxwPlRoaXMgYWZ0ZXJub29uLCBJIHdhbnRlZCB0byBsYXplIGFyb3VuZCB3aXRoIEh1YW5odWFuLCBidXQgbXkgbW9tIGNhbGxlZCBzYXlpbmcgc2hlIHdhbnRlZCB0byBnbyBvdXQgZm9yIGEgd2Fsay4gU28sIHdlIGFjY29tcGFuaWVkIGhlciBhbmQgZXZlbiB0b29rIGhlciB0byBleGNoYW5nZSBzb21lIGNsb3RoZXMgc2hlIGhhZCBib3VnaHQgZWFybGllci4gU2hlIHdhcyByZWFsbHkgaGFwcHkuPC9wPgo8cD5UaGUgY2hlcnJ5IGJsb3Nzb21zIGR1cmluZyB0aGUgZGF5IGxvb2tlZCBtb3JlIHZpdmlkIGFuZCBkZXRhaWxlZC4gSGVoLCBJIHNuYXBwZWQgYSBwaG90byBvZiBIdWFuaHVhbiBhbmQgTW9tIHRvZ2V0aGVyLjwvcD4KPHA&#43;SW4gdGhlIGV2ZW5pbmcsIHdlIGJvdWdodCBzb21lIHNlYSBiYXNzIHRvIG1ha2UgYnJhaXNlZCBmaXNoLCBidXQgaXQgZGlkbuKAmXQgdHVybiBvdXQgZ3JlYXTigJR0b28gbXVjaCBzdWdhciBhbmQgbm8gZGFyayBzb3kgc2F1Y2UgZm9yIGNvbG9yLiBXZeKAmWxsIGRvIGJldHRlciBuZXh0IHRpbWUuPC9wPgo8cD5J4oCZbSBoZXJlIG5vdywgbGl0dGxlIEh1YW5odWFuITwvcD4KPHA&#43;TZ2lu" data-hint="Content Here is Encrypted" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Content Here is Encrypted</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

]]></content:encoded>
    </item>
    <item>
      <title>April 11, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-11/</link>
      <pubDate>Fri, 11 Apr 2025 01:56:37 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-11/</guid>
      <description>&lt;h3 id=&#34;0956-completed-not-by-ai-and-nonbot-declaration-citations&#34;&gt;09:56 Completed Not-By-AI and NonBot Declaration Citations&lt;/h3&gt;
&lt;p&gt;Started tinkering with code again—sometimes it&amp;rsquo;s hard to resist the temptation. Especially when I see someone else&amp;rsquo;s great implementation or when a novel idea suddenly pops into my head.&lt;/p&gt;
&lt;h3 id=&#34;1014-ported-the-chat-bubble-shortcode&#34;&gt;10:14 Ported the Chat Bubble Shortcode&lt;/h3&gt;
&lt;p&gt;Inspired by &lt;a href=&#34;https://www.xalaok.top/post/hugo-shortcodes/#%E8%81%8A%E5%A4%A9%E6%B0%94%E6%B3%A1&#34;&gt;Some Hugo Shortcodes | Naive Koala&lt;/a&gt;, the effect is as follows:&lt;/p&gt;

&lt;div class=&#34;chat --other&#34;&gt;
    &lt;div class=&#34;chat__inner&#34;&gt;
        &lt;div class=&#34;chat__meta&#34;&gt;Jeapo&amp;nbsp;&amp;nbsp;&amp;nbsp;2025-04-11 09:20&lt;/div&gt;
        &lt;div class=&#34;chat__text&#34;&gt;
              
Little Huanhuan is hungry  

        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;style&gt;
    .chat {
        margin: 10px;
        padding: 10px;
        position: relative;
         
        transition: transform 0.2s;
         
        max-width: 80%;
        min-width: 15%;
    }
    
    .chat:hover {
        transform: scale(1.05);
    }
    
    .chat.--self {
        text-align: left;
        background-color: #ecf5ff;
        color: #000000;
        border-radius: 15px;
        width: fit-content;
        margin-left: auto;
        margin-right: 20px;
    }
     
    
    .chat.--self::before {
        content: &#34;&#34;;
        position: absolute;
        right: -18px;
         
        bottom: 5px;
        transform: translateY(-50%);
        border-width: 15px 0 0 20px;
        border-style: solid;
        border-color: transparent transparent transparent #ecf5ff;
         
    }
     
    
    .chat.--other {
        text-align: left;
        background-color: #ffecec;
        color: #333;
        border-radius: 15px;
        position: relative;
        width: fit-content;
        margin-left: 20px;
    }
     
    
    .chat.--other::before {
        content: &#34;&#34;;
        position: absolute;
        left: -18px;
        bottom: 5px;
        transform: translateY(-50%);
        border-width: 15px 20px 0 0;
        border-style: solid;
        border-color: transparent #ffecec transparent transparent;
    }
     
    
    .chat__meta {
        font-weight: bold;
        font-size: 0.67em;
        color: #707070;
        margin-bottom: 5px;
    }
     
    
    .chat__text {
        font-size: 0.9em;
        margin-left: 10px;
        word-break: break-all;
    }
    
    [data-scheme=&#34;dark&#34;] {
        .chat.--self {
            color: #fefefe;
            background-color: #253958;
        }
        .chat.--self::before {
            border-color: transparent transparent transparent #253958;
        }
        .chat.--other {
            color: #fefefe;
            background-color: #1a1a1a;
        }
        .chat.--other::before {
            border-color: transparent #1a1a1a transparent transparent;
        }
        .chat__meta {
            color: #b1b1b1;
        }
    }
&lt;/style&gt;


&lt;div class=&#34;chat --self&#34;&gt;
    &lt;div class=&#34;chat__inner&#34;&gt;
        &lt;div class=&#34;chat__meta&#34; style=&#34;text-align: right;&#34;&gt;2025-04-11 09:37&amp;nbsp;&amp;nbsp;&amp;nbsp;Huan&lt;/div&gt;
        &lt;div class=&#34;chat__text&#34;&gt;
              
The noodles Sister Sha brought, hahaha  

        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;style&gt;
    .chat {
        margin: 10px;
        padding: 10px;
        position: relative;
         
        transition: transform 0.2s;
         
        max-width: 80%;
        min-width: 15%;
    }
    
    .chat:hover {
        transform: scale(1.05);
    }
    
    .chat.--self {
        text-align: left;
        background-color: #ecf5ff;
        color: #000000;
        border-radius: 15px;
        width: fit-content;
        margin-left: auto;
        margin-right: 20px;
    }
     
    
    .chat.--self::before {
        content: &#34;&#34;;
        position: absolute;
        right: -18px;
         
        bottom: 5px;
        transform: translateY(-50%);
        border-width: 15px 0 0 20px;
        border-style: solid;
        border-color: transparent transparent transparent #ecf5ff;
         
    }
     
    
    .chat.--other {
        text-align: left;
        background-color: #ffecec;
        color: #333;
        border-radius: 15px;
        position: relative;
        width: fit-content;
        margin-left: 20px;
    }
     
    
    .chat.--other::before {
        content: &#34;&#34;;
        position: absolute;
        left: -18px;
        bottom: 5px;
        transform: translateY(-50%);
        border-width: 15px 20px 0 0;
        border-style: solid;
        border-color: transparent #ffecec transparent transparent;
    }
     
    
    .chat__meta {
        font-weight: bold;
        font-size: 0.67em;
        color: #707070;
        margin-bottom: 5px;
    }
     
    
    .chat__text {
        font-size: 0.9em;
        margin-left: 10px;
        word-break: break-all;
    }
    
    [data-scheme=&#34;dark&#34;] {
        .chat.--self {
            color: #fefefe;
            background-color: #253958;
        }
        .chat.--self::before {
            border-color: transparent transparent transparent #253958;
        }
        .chat.--other {
            color: #fefefe;
            background-color: #1a1a1a;
        }
        .chat.--other::before {
            border-color: transparent #1a1a1a transparent transparent;
        }
        .chat__meta {
            color: #b1b1b1;
        }
    }
&lt;/style&gt;


&lt;div class=&#34;chat --self&#34;&gt;
    &lt;div class=&#34;chat__inner&#34;&gt;
        &lt;div class=&#34;chat__meta&#34; style=&#34;text-align: right;&#34;&gt;2025-04-11 09:37&amp;nbsp;&amp;nbsp;&amp;nbsp;Huan&lt;/div&gt;
        &lt;div class=&#34;chat__text&#34;&gt;
              
So fragrant  

        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;style&gt;
    .chat {
        margin: 10px;
        padding: 10px;
        position: relative;
         
        transition: transform 0.2s;
         
        max-width: 80%;
        min-width: 15%;
    }
    
    .chat:hover {
        transform: scale(1.05);
    }
    
    .chat.--self {
        text-align: left;
        background-color: #ecf5ff;
        color: #000000;
        border-radius: 15px;
        width: fit-content;
        margin-left: auto;
        margin-right: 20px;
    }
     
    
    .chat.--self::before {
        content: &#34;&#34;;
        position: absolute;
        right: -18px;
         
        bottom: 5px;
        transform: translateY(-50%);
        border-width: 15px 0 0 20px;
        border-style: solid;
        border-color: transparent transparent transparent #ecf5ff;
         
    }
     
    
    .chat.--other {
        text-align: left;
        background-color: #ffecec;
        color: #333;
        border-radius: 15px;
        position: relative;
        width: fit-content;
        margin-left: 20px;
    }
     
    
    .chat.--other::before {
        content: &#34;&#34;;
        position: absolute;
        left: -18px;
        bottom: 5px;
        transform: translateY(-50%);
        border-width: 15px 20px 0 0;
        border-style: solid;
        border-color: transparent #ffecec transparent transparent;
    }
     
    
    .chat__meta {
        font-weight: bold;
        font-size: 0.67em;
        color: #707070;
        margin-bottom: 5px;
    }
     
    
    .chat__text {
        font-size: 0.9em;
        margin-left: 10px;
        word-break: break-all;
    }
    
    [data-scheme=&#34;dark&#34;] {
        .chat.--self {
            color: #fefefe;
            background-color: #253958;
        }
        .chat.--self::before {
            border-color: transparent transparent transparent #253958;
        }
        .chat.--other {
            color: #fefefe;
            background-color: #1a1a1a;
        }
        .chat.--other::before {
            border-color: transparent #1a1a1a transparent transparent;
        }
        .chat__meta {
            color: #b1b1b1;
        }
    }
&lt;/style&gt;

&lt;p&gt;From now on, meaningful conversations can be preserved in this format, like the one I had with Manman before: &lt;a href=&#34;2023/2023-06-22.en.md&#34;&gt;Is Our Earth Real?&lt;/a&gt;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0956-completed-not-by-ai-and-nonbot-declaration-citations">09:56 Completed Not-By-AI and NonBot Declaration Citations</h3>
<p>Started tinkering with code again—sometimes it&rsquo;s hard to resist the temptation. Especially when I see someone else&rsquo;s great implementation or when a novel idea suddenly pops into my head.</p>
<h3 id="1014-ported-the-chat-bubble-shortcode">10:14 Ported the Chat Bubble Shortcode</h3>
<p>Inspired by <a href="https://www.xalaok.top/post/hugo-shortcodes/#%E8%81%8A%E5%A4%A9%E6%B0%94%E6%B3%A1">Some Hugo Shortcodes | Naive Koala</a>, the effect is as follows:</p>

<div class="chat --other">
    <div class="chat__inner">
        <div class="chat__meta">Jeapo&nbsp;&nbsp;&nbsp;2025-04-11 09:20</div>
        <div class="chat__text">
              
Little Huanhuan is hungry  

        </div>
    </div>
</div>


<style>
    .chat {
        margin: 10px;
        padding: 10px;
        position: relative;
         
        transition: transform 0.2s;
         
        max-width: 80%;
        min-width: 15%;
    }
    
    .chat:hover {
        transform: scale(1.05);
    }
    
    .chat.--self {
        text-align: left;
        background-color: #ecf5ff;
        color: #000000;
        border-radius: 15px;
        width: fit-content;
        margin-left: auto;
        margin-right: 20px;
    }
     
    
    .chat.--self::before {
        content: "";
        position: absolute;
        right: -18px;
         
        bottom: 5px;
        transform: translateY(-50%);
        border-width: 15px 0 0 20px;
        border-style: solid;
        border-color: transparent transparent transparent #ecf5ff;
         
    }
     
    
    .chat.--other {
        text-align: left;
        background-color: #ffecec;
        color: #333;
        border-radius: 15px;
        position: relative;
        width: fit-content;
        margin-left: 20px;
    }
     
    
    .chat.--other::before {
        content: "";
        position: absolute;
        left: -18px;
        bottom: 5px;
        transform: translateY(-50%);
        border-width: 15px 20px 0 0;
        border-style: solid;
        border-color: transparent #ffecec transparent transparent;
    }
     
    
    .chat__meta {
        font-weight: bold;
        font-size: 0.67em;
        color: #707070;
        margin-bottom: 5px;
    }
     
    
    .chat__text {
        font-size: 0.9em;
        margin-left: 10px;
        word-break: break-all;
    }
    
    [data-scheme="dark"] {
        .chat.--self {
            color: #fefefe;
            background-color: #253958;
        }
        .chat.--self::before {
            border-color: transparent transparent transparent #253958;
        }
        .chat.--other {
            color: #fefefe;
            background-color: #1a1a1a;
        }
        .chat.--other::before {
            border-color: transparent #1a1a1a transparent transparent;
        }
        .chat__meta {
            color: #b1b1b1;
        }
    }
</style>


<div class="chat --self">
    <div class="chat__inner">
        <div class="chat__meta" style="text-align: right;">2025-04-11 09:37&nbsp;&nbsp;&nbsp;Huan</div>
        <div class="chat__text">
              
The noodles Sister Sha brought, hahaha  

        </div>
    </div>
</div>


<style>
    .chat {
        margin: 10px;
        padding: 10px;
        position: relative;
         
        transition: transform 0.2s;
         
        max-width: 80%;
        min-width: 15%;
    }
    
    .chat:hover {
        transform: scale(1.05);
    }
    
    .chat.--self {
        text-align: left;
        background-color: #ecf5ff;
        color: #000000;
        border-radius: 15px;
        width: fit-content;
        margin-left: auto;
        margin-right: 20px;
    }
     
    
    .chat.--self::before {
        content: "";
        position: absolute;
        right: -18px;
         
        bottom: 5px;
        transform: translateY(-50%);
        border-width: 15px 0 0 20px;
        border-style: solid;
        border-color: transparent transparent transparent #ecf5ff;
         
    }
     
    
    .chat.--other {
        text-align: left;
        background-color: #ffecec;
        color: #333;
        border-radius: 15px;
        position: relative;
        width: fit-content;
        margin-left: 20px;
    }
     
    
    .chat.--other::before {
        content: "";
        position: absolute;
        left: -18px;
        bottom: 5px;
        transform: translateY(-50%);
        border-width: 15px 20px 0 0;
        border-style: solid;
        border-color: transparent #ffecec transparent transparent;
    }
     
    
    .chat__meta {
        font-weight: bold;
        font-size: 0.67em;
        color: #707070;
        margin-bottom: 5px;
    }
     
    
    .chat__text {
        font-size: 0.9em;
        margin-left: 10px;
        word-break: break-all;
    }
    
    [data-scheme="dark"] {
        .chat.--self {
            color: #fefefe;
            background-color: #253958;
        }
        .chat.--self::before {
            border-color: transparent transparent transparent #253958;
        }
        .chat.--other {
            color: #fefefe;
            background-color: #1a1a1a;
        }
        .chat.--other::before {
            border-color: transparent #1a1a1a transparent transparent;
        }
        .chat__meta {
            color: #b1b1b1;
        }
    }
</style>


<div class="chat --self">
    <div class="chat__inner">
        <div class="chat__meta" style="text-align: right;">2025-04-11 09:37&nbsp;&nbsp;&nbsp;Huan</div>
        <div class="chat__text">
              
So fragrant  

        </div>
    </div>
</div>


<style>
    .chat {
        margin: 10px;
        padding: 10px;
        position: relative;
         
        transition: transform 0.2s;
         
        max-width: 80%;
        min-width: 15%;
    }
    
    .chat:hover {
        transform: scale(1.05);
    }
    
    .chat.--self {
        text-align: left;
        background-color: #ecf5ff;
        color: #000000;
        border-radius: 15px;
        width: fit-content;
        margin-left: auto;
        margin-right: 20px;
    }
     
    
    .chat.--self::before {
        content: "";
        position: absolute;
        right: -18px;
         
        bottom: 5px;
        transform: translateY(-50%);
        border-width: 15px 0 0 20px;
        border-style: solid;
        border-color: transparent transparent transparent #ecf5ff;
         
    }
     
    
    .chat.--other {
        text-align: left;
        background-color: #ffecec;
        color: #333;
        border-radius: 15px;
        position: relative;
        width: fit-content;
        margin-left: 20px;
    }
     
    
    .chat.--other::before {
        content: "";
        position: absolute;
        left: -18px;
        bottom: 5px;
        transform: translateY(-50%);
        border-width: 15px 20px 0 0;
        border-style: solid;
        border-color: transparent #ffecec transparent transparent;
    }
     
    
    .chat__meta {
        font-weight: bold;
        font-size: 0.67em;
        color: #707070;
        margin-bottom: 5px;
    }
     
    
    .chat__text {
        font-size: 0.9em;
        margin-left: 10px;
        word-break: break-all;
    }
    
    [data-scheme="dark"] {
        .chat.--self {
            color: #fefefe;
            background-color: #253958;
        }
        .chat.--self::before {
            border-color: transparent transparent transparent #253958;
        }
        .chat.--other {
            color: #fefefe;
            background-color: #1a1a1a;
        }
        .chat.--other::before {
            border-color: transparent #1a1a1a transparent transparent;
        }
        .chat__meta {
            color: #b1b1b1;
        }
    }
</style>

<p>From now on, meaningful conversations can be preserved in this format, like the one I had with Manman before: <a href="2023/2023-06-22.en.md">Is Our Earth Real?</a></p>
<h3 id="1055-hidden-posts">10:55 Hidden Posts</h3>
<p>Some draft-like posts that won’t be edited later, so I added a <code>hidden</code> attribute to the site to hide them. Unlike the <code>draft</code> attribute, these posts will still be rendered and accessible via direct links. Reference: <a href="https://mantyke.icu/posts/2024/hidden-posts/">Hugo | Adding Hidden Posts Functionality to the Cactus Theme | Little Flying Fish</a>.</p>
<h3 id="1219-introduced-heti">12:19 Introduced Heti</h3>
<p>Heti (hè tí) is an open-source project for enhancing Chinese typography, making page layouts more aesthetically pleasing. Project address: <a href="https://sivan.github.io/heti/#intro">Heti - A Simple and Minimalist Web Chinese Typography Enhancement</a></p>
<h3 id="1314-csc-has-reached-the-review-stage-at-the-china-scholarship-council">13:14 CSC Has Reached the Review Stage at the China Scholarship Council</h3>
<p>Suddenly realized I hadn’t checked the CSC application status in a while—it had been stuck at &ldquo;Pending Acceptance by the Unit.&rdquo; Just logged in and saw that the provincial education department has approved it, and now it’s under review by the China Scholarship Council.<br>
<img loading="lazy" src="../../../../static/images/diary/CSC%E5%AE%A1%E6%A0%B8%E8%BF%9B%E5%BA%A6-%E5%9F%BA%E9%87%91%E5%A7%94%E5%AE%A1%E6%A0%B8%E4%B8%AD.png"><br>
One step closer to a successful application. Feeling a mix of excitement and nervousness.</p>
<h3 id="1418-why-cant-i-keep-things-to-myself">14:18 Why Can’t I Keep Things to Myself?</h3>
<p>Couldn’t fall asleep. Kept worrying about my passport still being at my former workplace—it might become an issue.</p>
<h3 id="1551-tidied-up-the-room">15:51 Tidied Up the Room</h3>
<p>Living alone really makes me lazy. Huanhuan is coming over this afternoon, so I cleaned up the room a bit—it looks slightly more presentable now.</p>
<h3 id="1724-eyes-feeling-sore">17:24 Eyes Feeling Sore</h3>
<p>Synced recent diary entries to a notebook.<br>
Tried adding an info stats page inspired by <a href="https://www.eallion.com/stats/">Big Little Snail</a>, but rendering took too long, so I gave up.</p>
<p>Time to read for a while.</p>
<h3 id="1936-2024-guizhou-provincial-exam-results-are-out">19:36 2024 Guizhou Provincial Exam Results Are Out</h3>
<p>Saw the results on WeChat—they’re out. I applied for the Guiyang Disabled Persons’ Federation position, and this score basically means no chance for an interview.</p>
<table>
  <thead>
      <tr>
          <th>Category</th>
          <th>Civil Service</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>Subcategory</td>
          <td>Class A</td>
      </tr>
      <tr>
          <td>Test Score</td>
          <td>99.9</td>
      </tr>
      <tr>
          <td>Essay Score</td>
          <td>105.5</td>
      </tr>
      <tr>
          <td>Bonus Points</td>
          <td>0</td>
      </tr>
      <tr>
          <td>Written Exam Score</td>
          <td>68.47</td>
      </tr>
  </tbody>
</table>
<h3 id="2335-happiness">23:35 Happiness</h3>
<p>For the past four days, I’ve been guiding my mom around the main streets of Shuicheng. Today, to help her practice exploring the city on her own, I asked her to walk along Gongyuan Road to find me. She successfully followed the path and made it to me. We took a short stroll, and she got to know the surrounding streets a little better.</p>
<p>After dropping my mom off, I walked along the Shuicheng River to pick up Huanhuan.<br>
Winter is truly over—the cherry blossoms along the riverbank are in full bloom, clustered in thick bunches. Crowds of people gathered beneath them: girls in all kinds of dresses, middle-aged men and women, elderly folks, and children. Shuicheng is coming alive again.</p>
<p>After meeting Huanhuan, we walked the cherry blossom-lined path once more. It had been a long time since we were alone together, and we both felt relaxed and at ease. The only downside was that I’d walked too much—my lower back was aching terribly.</p>
<p>We took a taxi back from Minghu Road and cooked a bowl of Buldak ramen with crayfish flavor, along with some leftover vegetarian dishes from the morning. It was absolutely delicious—everything was just perfect, even the chilled broth from the vegetables.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 10, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-10/</link>
      <pubDate>Wed, 09 Apr 2025 16:15:33 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-10/</guid>
      <description>&lt;h3 id=&#34;0016-time-flies-so-fast&#34;&gt;00:16 Time Flies So Fast&lt;/h3&gt;
&lt;p&gt;It&amp;rsquo;s time to sleep again. Need to go to bed early, or else I won’t be able to fall asleep.&lt;/p&gt;
&lt;p&gt;Submitted all the code I wrote today.&lt;/p&gt;
&lt;h3 id=&#34;1034-swelling-and-pain-around-my-eyes&#34;&gt;10:34 Swelling and Pain Around My Eyes&lt;/h3&gt;
&lt;p&gt;Not sure if it’s because I slept face down, but this morning I woke up with a painful swelling around my eyes. Nothing seems to help—lying still in bed, applying a cold towel, sitting in meditation, or even DIY remedies—nothing works.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0016-time-flies-so-fast">00:16 Time Flies So Fast</h3>
<p>It&rsquo;s time to sleep again. Need to go to bed early, or else I won’t be able to fall asleep.</p>
<p>Submitted all the code I wrote today.</p>
<h3 id="1034-swelling-and-pain-around-my-eyes">10:34 Swelling and Pain Around My Eyes</h3>
<p>Not sure if it’s because I slept face down, but this morning I woke up with a painful swelling around my eyes. Nothing seems to help—lying still in bed, applying a cold towel, sitting in meditation, or even DIY remedies—nothing works.</p>
<p>Might as well get up and take a shower. Even if I’m uncomfortable, life has to go on.</p>
  

  


  
  <blockquote class="alert-blockquote alert-tip" >
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <path d="M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z"></path>
      </svg>
      
      <span>Tip</span>
      
    </p>
    <div class="alert-content callout-content">
      <p>I learned that mom also feels dizzy at the middle of last night and this morning, so I guess that this may be food poisoning.<br>
I rarely get dizzy.</p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
<h3 id="1117-still-a-headache">11:17 Still a Headache</h3>
<p>Did some coding, but now it’s not just my eyes—I feel terrible all over.</p>
  

  


  
  <blockquote class="alert-blockquote alert-warning" >
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"></path><path d="M12 9v4"></path><path d="M12 17h.01"></path>
      </svg>
      
      <span>Warning</span>
      
    </p>
    <div class="alert-content callout-content">
      <p>From now on, focus more on content creation and output, and open VSCode less!</p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
<h3 id="1605-cooking">16:05 Cooking</h3>
<p>Today I’m making a stew with minced meat, potatoes, and tea tree mushrooms. Sounds absolutely delicious!<br>
It’s already simmering. By evening, I’ll just add some veggies, and it’ll be ready to eat.</p>
<h3 id="1802-headache-finally-eases-up">18:02 Headache Finally Eases Up</h3>
<p>Did some more coding—added a heatmap to the About page. Realized that shortcodes can achieve endless functionalities, and treating them merely as div containers isn’t ideal for website development. So, I refactored the shortcodes for frequently used websites and blog links, separating data from the page structure for easier maintenance.</p>
<h3 id="2218-back-from-a-walk-with-mom">22:18 Back from a Walk with Mom</h3>
<p>Lately, my exercise routine has been excessive—walking five or six kilometers every day. It’s a bit much for me, but Mom seems to enjoy it, probably because she gets bored at home.</p>
<p>My patience always wears thin when I’m with my parents—not sure if that’s good or bad. Maybe I should encourage them more instead of feeling impatient.</p>
<p>Got home and immediately felt hungry. Even though I’d already eaten dinner (and hadn’t even cleared the dishes yet), I had another meal. Eating made me feel much better.</p>
<h3 id="2313-writing-a-diary">23:13 Writing a Diary</h3>
<p>After resting for a while, I got up to complete my diary entry and then submitted today&rsquo;s code changes.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 9, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-09/</link>
      <pubDate>Wed, 09 Apr 2025 02:50:54 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-09/</guid>
      <description>&lt;h3 id=&#34;1050-trying-to-tinker-with-website-seo&#34;&gt;10:50 Trying to Tinker with Website SEO&lt;/h3&gt;
&lt;p&gt;There seems to be a lot of demand for this from others. I feel like I could dive deeper into it as a side gig and offer services to people.&lt;/p&gt;
&lt;p&gt;The principle isn’t complicated—just understand how major search engines and the web gather information, then adjust your website accordingly.&lt;/p&gt;
&lt;h3 id=&#34;1238-fixed-the-mermaid-theme-switching-function&#34;&gt;12:38 Fixed the Mermaid Theme Switching Function&lt;/h3&gt;
&lt;p&gt;Functions from different partials ultimately end up on the same page. So, declaring functions or variables repeatedly can cause interference, which needs to be debugged and eliminated. Another solution is to prefix names with the file name.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1050-trying-to-tinker-with-website-seo">10:50 Trying to Tinker with Website SEO</h3>
<p>There seems to be a lot of demand for this from others. I feel like I could dive deeper into it as a side gig and offer services to people.</p>
<p>The principle isn’t complicated—just understand how major search engines and the web gather information, then adjust your website accordingly.</p>
<h3 id="1238-fixed-the-mermaid-theme-switching-function">12:38 Fixed the Mermaid Theme Switching Function</h3>
<p>Functions from different partials ultimately end up on the same page. So, declaring functions or variables repeatedly can cause interference, which needs to be debugged and eliminated. Another solution is to prefix names with the file name.</p>
<h3 id="1428-made-callout-compatible-with-obsidian">14:28 Made Callout Compatible with Obsidian</h3>
<p>Reference:<br>
<a href="https://blog.grew.cc/posts/hugo-alert-blockquote">Hugo Series (8): Adding GitHub-Style Alert Blockquotes - Tom&rsquo;s Blog</a><sup id="fnref:1"><a href="#fn:1" class="footnote-ref" role="doc-noteref">1</a></sup></p>
  

  


  
  <blockquote class="alert-blockquote alert-bug" >
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <path d="m8 2 1.88 1.88"></path><path d="M14.12 3.88 16 2"></path><path d="M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"></path><path d="M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"></path><path d="M12 20v-9"></path><path d="M6.53 9C4.6 8.8 3 7.1 3 5"></path><path d="M6 13H2"></path><path d="M3 21c0-2.1 1.7-3.9 3.8-4"></path><path d="M20.97 5c0 2.1-1.6 3.8-3.5 4"></path><path d="M22 13h-4"></path><path d="M17.2 17c2.1.1 3.8 1.9 3.8 4"></path>
      </svg>
      
      <span>Bug</span>
      
    </p>
    <div class="alert-content callout-content">
      <p>Testing the note block&rsquo;s style.</p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
<p>For regular styling, it’s achieved by modifying CSS selectors:</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-css" data-lang="css"><span class="line"><span class="cl"><span class="nt">blockquote</span><span class="p">:</span><span class="nd">not</span><span class="o">(</span><span class="p">.</span><span class="nc">alert-blockquote</span><span class="o">,</span> <span class="p">.</span><span class="nc">quote-center</span><span class="o">,</span> <span class="p">.</span><span class="nc">quote</span><span class="o">)</span> <span class="p">{</span>  
</span></span><span class="line"><span class="cl">    <span class="k">font-style</span><span class="p">:</span> <span class="kc">italic</span><span class="p">;</span>  
</span></span><span class="line"><span class="cl">    <span class="k">position</span><span class="p">:</span> <span class="kc">relative</span><span class="p">;</span>  
</span></span><span class="line"><span class="cl">    <span class="k">margin</span><span class="p">:</span> <span class="nf">var</span><span class="p">(</span><span class="o">--</span><span class="n">gap</span><span class="p">)</span> <span class="kc">auto</span> <span class="nb">calc</span><span class="p">(</span><span class="nf">var</span><span class="p">(</span><span class="o">--</span><span class="n">gap</span><span class="p">)</span><span class="o">*</span><span class="mf">.6</span><span class="p">)</span> <span class="kc">auto</span> <span class="cp">!important</span><span class="p">;</span>  
</span></span><span class="line"><span class="cl">    <span class="k">font-style</span><span class="p">:</span> <span class="kc">italic</span><span class="p">;</span>  
</span></span><span class="line"><span class="cl">    <span class="k">color</span><span class="p">:</span> <span class="mh">#666666</span><span class="p">;</span>  
</span></span><span class="line"><span class="cl">    <span class="k">padding</span><span class="p">:</span> <span class="mf">1.1</span><span class="kt">em</span> <span class="mi">30</span><span class="kt">px</span> <span class="mf">.2</span><span class="kt">em</span> <span class="mi">55</span><span class="kt">px</span> <span class="cp">!important</span><span class="p">;</span>  
</span></span><span class="line"><span class="cl">    <span class="k">border-left</span><span class="p">:</span> <span class="mi">8</span><span class="kt">px</span> <span class="kc">solid</span> <span class="mh">#3e5a72</span> <span class="cp">!important</span><span class="p">;</span>  
</span></span><span class="line"><span class="cl">    <span class="k">line-height</span><span class="p">:</span> <span class="mf">1.5</span><span class="p">;</span>  
</span></span><span class="line"><span class="cl">    <span class="k">position</span><span class="p">:</span> <span class="kc">relative</span><span class="p">;</span>  
</span></span><span class="line"><span class="cl">    <span class="k">background</span><span class="p">:</span> <span class="mh">#EDEDED</span><span class="p">;</span>  
</span></span><span class="line"><span class="cl"><span class="p">}</span>  
</span></span></code></pre></td></tr></table>
</div>
</div><p>The effect is as follows:</p>
<blockquote>
<p>Hello there<br>
How should multiple quotes be handled? <span>Test</span></p>
</blockquote>
<h3 id="1636-spent-a-long-time-on-my-phone">16:36 Spent a Long Time on My Phone</h3>
<p>I took a nap at noon but ended up oversleeping without actually falling asleep. A regular routine is the foundation of healthy sleep.</p>
<h3 id="2132-came-back-from-a-walk-with-mom">21:32 Came Back from a Walk with Mom</h3>
<p>Mom called and said my brother and sister-in-law weren’t home for dinner, so she had made too much food and didn’t want it to go to waste, so she asked me to come over and eat.</p>
<p>I had already cooked my own meal—just tossed some fish mint salad and ate it. But it seemed like Mom also wanted to take a walk, so I put on my socks and shoes and went over.</p>
<h3 id="2320-added-a-link-collection-page-to-navi">23:20 Added a Link Collection Page to Navi</h3>
<p>I’m really satisfied with this page—it looks very aesthetically pleasing. I’ll be adding some great blogs here in the future.</p>
<p>When I have time, I can open them up for reference and learning, to see what other outstanding people are up to.</p>
<h3 id="0016-time-flies">00:16 Time Flies</h3>
<p>It’s time to sleep again. I should go to bed early, or I won’t be able to fall asleep.</p>
<p>Committed all the code I wrote today.</p>
<h3 id="reflection">Reflection</h3>
<p>Recently, I&rsquo;ve been too focused on technology and tools, neglecting the creation of content itself. More attention should be given to content output rather than the refinement of techniques.</p>
<div class="footnotes" role="doc-endnotes">
<hr>
<ol>
<li id="fn:1">
<p><a href="https://blog.grew.cc/posts/hugo-alert-blockquote">Hugo Series (8): Adding GitHub-Style Alert Blockquotes - Tom&rsquo;s Blog</a>&#160;<a href="#fnref:1" class="footnote-backref" role="doc-backlink">&#x21a9;&#xfe0e;</a></p>
</li>
</ol>
</div>
]]></content:encoded>
    </item>
    <item>
      <title>April 8, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-08/</link>
      <pubDate>Tue, 08 Apr 2025 03:48:17 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-08/</guid>
      <description>&lt;h3 id=&#34;0913-woke-up&#34;&gt;09:13 Woke Up&lt;/h3&gt;
&lt;p&gt;Today, I integrated Mermaid&amp;rsquo;s flowchart into my blog, and it also displays correctly in Obsidian.&lt;/p&gt;
&lt;p&gt;Testing the cover page a bit more—this will allow me to create richer content in the future.&lt;/p&gt;
&lt;div class=&#34;mermaid&#34;&gt;graph LR;  
    A--&gt;B;  
    A--&gt;C;  
    B--&gt;D;  
    C--&gt;D;  
&lt;/div&gt;



&lt;h3 id=&#34;2040-back-from-a-walk-with-mom&#34;&gt;20:40 Back from a Walk with Mom&lt;/h3&gt;
&lt;p&gt;Took Mom around the area where I live, passing by my brother’s workplace, and then walked her back home.&lt;/p&gt;
&lt;p&gt;A few more trips like this, and I’ll get familiar and comfortable with the route.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0913-woke-up">09:13 Woke Up</h3>
<p>Today, I integrated Mermaid&rsquo;s flowchart into my blog, and it also displays correctly in Obsidian.</p>
<p>Testing the cover page a bit more—this will allow me to create richer content in the future.</p>
<div class="mermaid">graph LR;  
    A-->B;  
    A-->C;  
    B-->D;  
    C-->D;  
</div>



<h3 id="2040-back-from-a-walk-with-mom">20:40 Back from a Walk with Mom</h3>
<p>Took Mom around the area where I live, passing by my brother’s workplace, and then walked her back home.</p>
<p>A few more trips like this, and I’ll get familiar and comfortable with the route.</p>
<h3 id="2152-fixed-the-missing-404-page-issue">21:52 Fixed the Missing 404 Page Issue</h3>
<p>Placed a default <code>404.html</code> page directly in the <code>static</code> folder to address the missing 404 page issue across multiple sites. Additionally, I implemented automatic language switching (Chinese/English) via script based on path matching.</p>
<p>As long as it works, it’s good enough.</p>
<h3 id="2225-taking-a-shower-and-getting-ready-for-bed">22:25 Taking a Shower and Getting Ready for Bed</h3>
<p>Indeed, getting proper sleep makes a huge difference—I feel so much more energetic now.</p>
<p>Today I slept in quite a bit longer, and my health bar slowly refilled.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 7, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-07/</link>
      <pubDate>Mon, 07 Apr 2025 15:33:12 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-07/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Continuing from the previous diary entry, a few days ago, I received a training assignment for an adult education program (upgrading from college to university)&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;2117-arrived-guiyang&#34;&gt;21:17 Arrived Guiyang&lt;/h3&gt;
&lt;p&gt;After arriving in Guiyang, I didn’t want the teacher who was supposed to meet me to stay up too late, so I quickly hailed a ride to the training location—behind the West Campus of Guizhou University.&lt;/p&gt;
&lt;h3 id=&#34;2201-reach-the-training-institution-positioning-point&#34;&gt;22:01 Reach the training institution positioning point&lt;/h3&gt;
&lt;p&gt;But when I got out of the car, they told me it wasn’t the right spot and that I still had to walk a bit further. At this point, I started feeling a bit uneasy—about 1% discomfort.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<blockquote>
<p>Continuing from the previous diary entry, a few days ago, I received a training assignment for an adult education program (upgrading from college to university)&hellip;</p>
</blockquote>
<h3 id="2117-arrived-guiyang">21:17 Arrived Guiyang</h3>
<p>After arriving in Guiyang, I didn’t want the teacher who was supposed to meet me to stay up too late, so I quickly hailed a ride to the training location—behind the West Campus of Guizhou University.</p>
<h3 id="2201-reach-the-training-institution-positioning-point">22:01 Reach the training institution positioning point</h3>
<p>But when I got out of the car, they told me it wasn’t the right spot and that I still had to walk a bit further. At this point, I started feeling a bit uneasy—about 1% discomfort.</p>
<p>Then, I added another teacher, Ms. Wu, on WeChat. Carrying my heavy suitcase, I followed her directions and met her after about five minutes. Ms. Wu gave me a meal card and a blanket, told me to go upstairs by myself, and said the room number was 1805.</p>
<p>I took the elevator up to the 18th floor—this was the last time I’d go up.</p>
<h3 id="2220-start-to-scramble">22:20 Start to scramble</h3>
<p>When I reached 1805, I saw two students smoking in the dorm (discomfort level: 10%). I greeted them and prepared to settle in, tidy up my bed, and start preparing for class.</p>
<p>After one of the students left, the remaining one came over to chat with me. He mentioned that he snores heavily at night and had moved out of his previous dorm because of it. Oh no! I’m an extremely light sleeper, and I haven’t had a good night’s sleep in a long time. I was really hoping to sleep well tonight so I’d have energy for class the next day. So, I started messaging Ms. Wu and Ms. Zhang, asking if they could switch me to another room (discomfort level: 50%).</p>
<p>Aside from snoring, talking a lot, and smoking, this guy was actually really nice—kind and helpful. I didn’t dislike him; I was just worried I wouldn’t sleep at all. Meanwhile, I noticed teachers in the hallway trying to coordinate a room change. It was already 10 p.m., and I knew it might not be easy, so I mentally prepared myself.</p>
<p>Sure enough, no room was available. They asked me to tough it out for the night, and I replied, “Alright then” (discomfort level now at 60%).</p>
<p>Since it was late, Huanhuan and I brushed our teeth together. I went to the bathroom (to pee) and found the toilet was clogged (discomfort level: 65%).</p>
<p>After complaining a bit, I started preparing for class. I figured I should be thorough since the new textbooks hadn’t arrived yet.</p>
<p>Since it was material I’d studied before, I quickly reviewed it with my own book and got a general idea of how to teach the next day. Feeling drowsy, I decided to sleep.</p>
<p>Around 1 a.m., I took a melatonin pill, turned off my phone, and tried to sleep. As usual, I couldn’t fall asleep, though I didn’t have any obsessive thoughts. But I knew if I stayed up all night, I wouldn’t be able to teach the next day.</p>
<h3 id="0317-decide-to-back">03:17 Decide to back</h3>
<p>Sweet dreams didn’t come—but the snoring did. Around 2 a.m., my roommate fell asleep, and the snoring began, relentless and powerful, just as he’d described. I tried forcing myself to get used to it, but it was no use. By 3:30 a.m. (discomfort level: 100%), I decided I couldn’t handle this assignment anymore. I didn’t care about the pay or anything else—I just wanted to sleep. So, I sent them a message saying they should find someone else.</p>
<p>I quickly got up, packed my laptop and other belongings, and quietly left the room and the building. Downstairs, I couldn’t find an exit. I ran into a boy and a girl in shorts taking out the trash and asked them. They said it seemed locked.</p>
<p>No way—I had to get out! So, I took the stairs down to the basement. I could see the street outside, but it was blocked by a metal fence. After looking around, I noticed a section where the wall extended about 10 cm beyond the fence, and there was a small gap. I figured I could climb over.</p>
<p>Without hesitation, I lifted my suitcase over my head, pushed it outside, and stood it up. Then, carefully gripping the wall, I hoisted myself up with a push from my butt. The ledge was too narrow for me to pivot or jump, so after some awkward shuffling, I stepped onto my unsteady suitcase and wobbled my way down.</p>
<p>Then, I hailed a ride to go somewhere else. I thought about going to a massage parlor for a few hours but worried Huanhuan might overthink it.</p>
<p>Next, I considered a internet café, but when I got there, it was too noisy, so I left without going in.</p>
<h3 id="0349-good-night">03:49 Good night</h3>
<p>A light rain fell indifferently as I stood there for a moment. Eventually, I booked a place to stay. After lying awake for a while, I listened to <em>Flowers for Algernon</em> and finally fell asleep. I don’t know when I drifted off, but I was later woken up by the same audiobook—I hadn’t set a timer or turned it off, so it suddenly started playing again around 6 a.m.</p>
<p>I muted my phone and went back to sleep&hellip;</p>
<p>After 9 a.m., I replied to their messages, saying I’d already left Guiyang. I also offered to ask my juniors if they’d take the assignment, but they were too busy with graduation stuff. Oh well.</p>
<h3 id="0938-wake-up-and-go-back">09:38 Wake up and go back</h3>
<p>I got up quickly, washed up, and took a cab to the train station. I bought a ticket for 11 a.m. and just made it. At the station convenience store, I grabbed a cup of instant noodles—breakfast and lunch sorted.</p>
<p>The train was nearly empty, so everyone could sprawl across multiple seats. I just lay down.</p>
<p>I got off the train at 3 p.m., feeling utterly exhausted. I ignored all the offers for lodging, taxis, and food nearby and headed straight for the bus stop, taking the bus back to Huayudong.</p>
<p>After getting off the bus, I saw a lamb noodle shop. My brother had said it was good, but then I remembered I hadn’t earned a single cent these past two days and had already spent over 300 yuan. I couldn’t bring myself to splurge.</p>
<p>So, I decided to go home and cook noodles instead. Maybe because I was hungry, I ate a sausage raw, fried another sausage and two eggs, boiled some noodles and potato skins, and had a delicious meal while on the phone with Huanhuan.</p>
<h3 id="1910-hang-out-with-mom">19:10 Hang out with mom</h3>
<p>I rested for about an hour. As dusk fell, I called my mom and asked if she wanted to go for a walk. She’d just come to Shuicheng from our hometown and wasn’t familiar with the area, so I thought I’d show her around. We walked from Minghu Market along the Shuicheng River all the way to People’s Square, stopping to buy two ice cream cones along the way. Mom said she’d seen on TikTok that people with thyroid nodules shouldn’t eat them, but I told her not to worry—it’s just sugar and water, and she shouldn’t believe everything online. Reluctantly, she started eating, and I taught her to lick from the edges so it wouldn’t melt and drip on her hands.</p>
<p>In the end, she said the cone was pretty tasty.</p>
<p>Then I walked back on my own, and just like that, the day came to an end.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 6, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-06/</link>
      <pubDate>Sun, 06 Apr 2025 15:21:41 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-06/</guid>
      <description>&lt;p&gt;This noon, Huanhuan, her dad, and I went to a beef restaurant to buy some beef to bring home. The beef was 50 yuan per pound, which is a decent price in Hongguo.&lt;/p&gt;
&lt;p&gt;Along the way, Huanhuan bought some roasted corn and roasted potatoes. The roasted corn was quite tasty. When we passed by a pharmacy, Huanhuan wanted to buy melatonin for me, but the price was over 100 yuan—way too expensive. I had checked the price on Meituan before, and it was only around 30-40 yuan. So Huanhuan just placed an order online instead. By the time we got home, the delivery person had already arrived.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This noon, Huanhuan, her dad, and I went to a beef restaurant to buy some beef to bring home. The beef was 50 yuan per pound, which is a decent price in Hongguo.</p>
<p>Along the way, Huanhuan bought some roasted corn and roasted potatoes. The roasted corn was quite tasty. When we passed by a pharmacy, Huanhuan wanted to buy melatonin for me, but the price was over 100 yuan—way too expensive. I had checked the price on Meituan before, and it was only around 30-40 yuan. So Huanhuan just placed an order online instead. By the time we got home, the delivery person had already arrived.</p>
<p>After eating, we immediately headed to catch a bus to Shuicheng. Since I have class early tomorrow morning, I needed to get to Guiyang tonight. It’s always tough to get transportation after a holiday—the bus tickets were already sold out until 3 PM. Luckily, we found a taxi for just 60 yuan, so I hopped in. Huanhuan went to refund the bus tickets.</p>
<p>The two-hour trip ended up taking twice as long due to traffic, and by the time we arrived in Shuicheng, it was already very late. I also had my mom’s medicine and a medicine jar with me, so I quickly took a taxi to drop them off. Coincidentally, they were having dinner when I arrived, so without hesitation, I grabbed a bowl and took a few bites.</p>
<p>I immediately took another taxi back to where I was staying, took a quick shower, and with a very clear mind, packed everything neatly. Then, I hailed another taxi and headed to the train station.</p>
<p>Then began my bizarre and sensitive day.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 5, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-05/</link>
      <pubDate>Sat, 05 Apr 2025 15:13:35 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-05/</guid>
      <description>&lt;p&gt;Since Huanhuan&amp;rsquo;s family was heading back to their hometown in Yingwu, we got up very early today. By eight o&amp;rsquo;clock, we had finished breakfast, packed up, and set off. Dad also came with us, as we were giving him a ride to the coal mine where he works along the way.&lt;/p&gt;
&lt;p&gt;The road conditions were quite good, and there was no traffic congestion at all. Today&amp;rsquo;s driving was steadier than yesterday&amp;rsquo;s, but because I hadn’t slept well, my eyes were very uncomfortable, and I felt exhausted the whole time.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Since Huanhuan&rsquo;s family was heading back to their hometown in Yingwu, we got up very early today. By eight o&rsquo;clock, we had finished breakfast, packed up, and set off. Dad also came with us, as we were giving him a ride to the coal mine where he works along the way.</p>
<p>The road conditions were quite good, and there was no traffic congestion at all. Today&rsquo;s driving was steadier than yesterday&rsquo;s, but because I hadn’t slept well, my eyes were very uncomfortable, and I felt exhausted the whole time.</p>
<p>I don’t quite agree with Uncle Luo’s viewpoint—he tends to label people, believing that officials can’t and shouldn’t do manual labor, while he himself should just keep working hard without complaint. People are multifaceted, and being an official is just a profession.</p>
<p>By evening, I was so tired that I fell asleep without even taking off my clothes or washing up.</p>
<p>It&rsquo;s just 3 a.m. again, and I woke up, then couldn&rsquo;t fall back asleep. It&rsquo;s really uncomfortable—I might be sick.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 4, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-04/</link>
      <pubDate>Fri, 04 Apr 2025 14:56:00 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-04/</guid>
      <description>&lt;h3 id=&#34;0748-didnt-sleep-well-again-last-night&#34;&gt;07:48 Didn&amp;rsquo;t Sleep Well Again Last Night&lt;/h3&gt;
&lt;p&gt;Woke up before six this morning, feeling pretty rough.&lt;/p&gt;
&lt;p&gt;It’s my first time renting a car, and without an experienced driver by my side, I’m a little nervous.&lt;/p&gt;
&lt;p&gt;Spent quite a while learning online, now ready to get up.&lt;/p&gt;
&lt;h3 id=&#34;driving-home&#34;&gt;Driving Home&lt;/h3&gt;
&lt;p&gt;At 9 a.m., Huanhuan and I went to pick up the car—a Chevrolet Cruze. This car rolls back a bit, which is slightly scary.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0748-didnt-sleep-well-again-last-night">07:48 Didn&rsquo;t Sleep Well Again Last Night</h3>
<p>Woke up before six this morning, feeling pretty rough.</p>
<p>It’s my first time renting a car, and without an experienced driver by my side, I’m a little nervous.</p>
<p>Spent quite a while learning online, now ready to get up.</p>
<h3 id="driving-home">Driving Home</h3>
<p>At 9 a.m., Huanhuan and I went to pick up the car—a Chevrolet Cruze. This car rolls back a bit, which is slightly scary.</p>
<p>Thanks to some prior practice, we calmly drove it into Huanhuan’s family courtyard.</p>
<p>Packed our stuff into the trunk and set off. The drive went smoothly overall—my first time driving this far alone, including on the highway.</p>
<p>In the afternoon after arriving home, they mentioned wanting to go play by the river again. So, along with Fourth Uncle, we drove everyone to the riverside. Having a car is quite convenient, though the rough roads still make it easy to scrape the undercarriage. But with all the insurance we’ve bought, it’s no big deal.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 3, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-03/</link>
      <pubDate>Thu, 03 Apr 2025 02:43:27 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-03/</guid>
      <description>&lt;h3 id=&#34;0930-waking-up&#34;&gt;09:30 Waking Up&lt;/h3&gt;
&lt;p&gt;Lately, my sleep schedule has been irregular, making it hard to fall asleep. When I lie awake and observe my thoughts, I realize that on the surface, I don’t seem stressed, but my mind is flooded with all sorts of distracting and annoying thoughts.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Where do I need to go tomorrow? What do I need to do? And the day after? This is the most fragmented and complicated question.&lt;/li&gt;
&lt;li&gt;How’s my CSC application going? Why hasn’t it been processed yet? How should I respond to different possible outcomes?&lt;/li&gt;
&lt;li&gt;I might not finish all the food I bought—what should I cook tomorrow, or what should I do with it?&lt;/li&gt;
&lt;li&gt;Suddenly remembered an idea for fixing an unresolved bug on my website—feels like I should jump up and work on it right away. What other optimizations can I make?&lt;/li&gt;
&lt;li&gt;I haven’t read a book in a long time, and my mind feels empty. I really dislike short-form videos; I should treat them like enemies.&lt;/li&gt;
&lt;li&gt;What happens if I stay awake for too long? Will it affect important tasks tomorrow or the day after?&lt;/li&gt;
&lt;li&gt;Gotta take a photo of little Huanhuan.&lt;/li&gt;
&lt;li&gt;Oh, I should also shower tomorrow.&lt;/li&gt;
&lt;li&gt;What might my friends and family be up to these days…&lt;/li&gt;
&lt;li&gt;Suddenly feel like buying something, but I don’t have much money left—maybe look for alternatives. Then I remind myself not to buy non-essentials. And then I think, having a stable monthly income would be nice.&lt;/li&gt;
&lt;li&gt;I remember going a long time without insomnia—what’s going on lately? Need to reflect on what’s different about my current state and make sure I don’t slip into depression.&lt;/li&gt;
&lt;li&gt;……&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;1043-spent-some-time-organizing-my-blog&#34;&gt;10:43 Spent Some Time Organizing My Blog&lt;/h3&gt;
&lt;p&gt;Realized my old blog was a mess—lots of tiny, trivial posts that didn’t deserve standalone entries. Also, categorizing articles is an important issue—it needs to be logical. Ideally, it should be based on the file directory structure, with additional fine-tuning via frontmatter tags.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0930-waking-up">09:30 Waking Up</h3>
<p>Lately, my sleep schedule has been irregular, making it hard to fall asleep. When I lie awake and observe my thoughts, I realize that on the surface, I don’t seem stressed, but my mind is flooded with all sorts of distracting and annoying thoughts.</p>
<ul>
<li>Where do I need to go tomorrow? What do I need to do? And the day after? This is the most fragmented and complicated question.</li>
<li>How’s my CSC application going? Why hasn’t it been processed yet? How should I respond to different possible outcomes?</li>
<li>I might not finish all the food I bought—what should I cook tomorrow, or what should I do with it?</li>
<li>Suddenly remembered an idea for fixing an unresolved bug on my website—feels like I should jump up and work on it right away. What other optimizations can I make?</li>
<li>I haven’t read a book in a long time, and my mind feels empty. I really dislike short-form videos; I should treat them like enemies.</li>
<li>What happens if I stay awake for too long? Will it affect important tasks tomorrow or the day after?</li>
<li>Gotta take a photo of little Huanhuan.</li>
<li>Oh, I should also shower tomorrow.</li>
<li>What might my friends and family be up to these days…</li>
<li>Suddenly feel like buying something, but I don’t have much money left—maybe look for alternatives. Then I remind myself not to buy non-essentials. And then I think, having a stable monthly income would be nice.</li>
<li>I remember going a long time without insomnia—what’s going on lately? Need to reflect on what’s different about my current state and make sure I don’t slip into depression.</li>
<li>……</li>
</ul>
<h3 id="1043-spent-some-time-organizing-my-blog">10:43 Spent Some Time Organizing My Blog</h3>
<p>Realized my old blog was a mess—lots of tiny, trivial posts that didn’t deserve standalone entries. Also, categorizing articles is an important issue—it needs to be logical. Ideally, it should be based on the file directory structure, with additional fine-tuning via frontmatter tags.</p>
<h3 id="1045-remembering-the-past">10:45 Remembering the Past</h3>
<p>Thought back to when I first created my blog—I even encouraged others to contribute content, imagining that one day we could compile our writings into a book. Looking back, that idea still feels romantic and meaningful.</p>
<p>In the future, I should focus on learning, absorbing, creating, and sharing. With little Huanhuan by my side, I’ll probably stick with it even longer.</p>
<h3 id="1558-getting-ready-to-go-out">15:58 Getting Ready to Go Out</h3>
<p>I took the meat to my brothers, then got ready to take the bus to Hongguo.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 2, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-02/</link>
      <pubDate>Wed, 02 Apr 2025 07:44:01 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-02/</guid>
      <description>&lt;h3 id=&#34;0936-getting-ready-to-get-up&#34;&gt;09:36 Getting Ready to Get Up&lt;/h3&gt;
&lt;p&gt;The sky is already bright, and I haven’t slept enough. So annoying.&lt;/p&gt;
&lt;h3 id=&#34;1230-actually-getting-up-now&#34;&gt;12:30 Actually Getting Up Now&lt;/h3&gt;
&lt;p&gt;Made a simple lunch of ham and shredded pork noodles—delicious!&lt;/p&gt;
&lt;p&gt;Then I started thinking about how many of the articles on my blog lack depth. Exposing shallow thoughts isn’t necessarily a good thing, and it also makes the blog structure messy.&lt;/p&gt;
&lt;p&gt;So I restructured the blog’s categorization logic: removed diary entries from the homepage and archive page, created a separate menu button for them, and organized them by year.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0936-getting-ready-to-get-up">09:36 Getting Ready to Get Up</h3>
<p>The sky is already bright, and I haven’t slept enough. So annoying.</p>
<h3 id="1230-actually-getting-up-now">12:30 Actually Getting Up Now</h3>
<p>Made a simple lunch of ham and shredded pork noodles—delicious!</p>
<p>Then I started thinking about how many of the articles on my blog lack depth. Exposing shallow thoughts isn’t necessarily a good thing, and it also makes the blog structure messy.</p>
<p>So I restructured the blog’s categorization logic: removed diary entries from the homepage and archive page, created a separate menu button for them, and organized them by year.</p>
<blockquote>
<p>Cherish every idea you have. Follow the thread of each thought and explore it carefully. Consider whether it’s worth writing about. If it is, then make sure to articulate each idea clearly.</p>
</blockquote>
<p>Spending too much time realizing how precious time is can also be a waste of time.</p>
<div class="encrypted-content" data-cipher="GlkNTQ0LWZpbmFsbHktZmVlbGluZy1zbGVlcHktYWZ0ZXItdGlua2VyaW5nLXdpdGgtdGhlLWJsb2ciPjE1OjQ0IEZpbmFsbHkgRmVlbGluZyBTbGVlcHkgQWZ0ZXIgVGlua2VyaW5nIHdpdGggdGhlIEJsb2c8L2gzPgo8cD5IYWQgaW5zb21uaWEgYWdhaW4gbGFzdCBuaWdodC4gV2VudCB0byBiZWQgYXQgbWlkbmlnaHQgYnV0IHdhcyBzdGlsbCBhd2FrZSBhdCAyIGEubS4gR290IHVwLCB0b29rIG1hdHRlcnMgaW50byBteSBvd24gaGFuZHMgKDxlbT5ESVk8L2VtPiksIGFuZCBxdWlja2x5IGZlbGwgYXNsZWVwIGFmdGVyd2FyZC4gTWlnaHQgbmVlZCB0byBnZXQgc29tZSBtZWxhdG9uaW4gb3Igc2ltaWxhciBtZWRpY2F0aW9uIGp1c3QgaW4gY2FzZS48L3A&#43;CjxwPlNvbWV0aW1lcywgd2hlbiB5b3Ugc3VkZGVubHkgbmVlZCBzb21ldGhpbmcgbGlrZSB0aGlzLCBzZWFyY2hpbmcgZm9yIHZpZGVvcyBpcyBoYXJkIGFuZCB0aW1lLWNvbnN1bWluZy4gU28gaXTigJlzIGJldHRlciB0byBjb2xsZWN0IHJlc291cmNlcyBpbiBhZHZhbmNlLjwvcD4KPHA&#43;V2lzaCBJIGNvdWxkIHNwZW5kIGV2ZXJ5IGRheSB3aXRoIEh1YW5odWFuLjwvcD4KPGgzIPSIx" data-hint="Content Here is Encrypted" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Content Here is Encrypted</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>



<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>

<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>

<h3 id="2237-bought-a-domain-for-12-bucks">22:37 Bought a Domain for 12 Bucks</h3>
<p>Domain: <a href="https://jeapo.top">jeapo.top</a> or <a href="https://www.jeapo.top">www.jeapo.top</a></p>
<p>Configuring the DNS resolution was a bit tricky. Now I understand it requires settings on both ends: Alibaba Cloud resolves to another network server, so accessing the domain will direct you to that server. If the server stores the domain’s information, it will provide the corresponding data to requests for that domain.</p>
<h3 id="2307-time-to-sleep">23:07 Time to Sleep</h3>
<p>I won&rsquo;t toss and turn before bed anymore; I&rsquo;ll just play with my phone, hoping to get a good night&rsquo;s sleep.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 1, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/april/2025-04-01/</link>
      <pubDate>Tue, 01 Apr 2025 02:06:27 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/april/2025-04-01/</guid>
      <description>&lt;h3 id=&#34;1006-stayed-up-late-again&#34;&gt;10:06 Stayed up late again&lt;/h3&gt;
&lt;p&gt;Electric blankets may affect sleep quality. This is just a speculation, but thinking back to times when I slept well, it was usually when the ambient temperature was lower than the blanket&amp;rsquo;s temperature, and the blanket&amp;rsquo;s warmth was evenly distributed. Electric blankets might create excessive heat or uneven heating, which could disrupt sleep.&lt;/p&gt;
&lt;h3 id=&#34;1202-integrating-conventional-commits&#34;&gt;12:02 Integrating Conventional Commits&lt;/h3&gt;
&lt;p&gt;Implemented Conventional Commits into the submission workflow. Since it&amp;rsquo;s a blog repository, I added the main article types. Later, I can analyze my commit history to track how I spend my time.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1006-stayed-up-late-again">10:06 Stayed up late again</h3>
<p>Electric blankets may affect sleep quality. This is just a speculation, but thinking back to times when I slept well, it was usually when the ambient temperature was lower than the blanket&rsquo;s temperature, and the blanket&rsquo;s warmth was evenly distributed. Electric blankets might create excessive heat or uneven heating, which could disrupt sleep.</p>
<h3 id="1202-integrating-conventional-commits">12:02 Integrating Conventional Commits</h3>
<p>Implemented Conventional Commits into the submission workflow. Since it&rsquo;s a blog repository, I added the main article types. Later, I can analyze my commit history to track how I spend my time.</p>
<h3 id="1519-doing-laundry">15:19 Doing laundry</h3>
<blockquote>
<p>Information, for humans, is like food and sexual desire.</p>
</blockquote>
<p>As long as a person can continuously consume information, even someone without deep thoughts will experience a kind of physiological satisfaction. This is also why people are so obsessed with gossip.</p>
<p>This process may seem harmless, but it consumes a lot of time and leaves people feeling exhausted and empty.</p>
<p>Properly controlling and resisting such temptations allows us to recognize our own existence—rather than just being a vessel for generating and filling desires.</p>
<h3 id="2356-late-at-night">23:56 Late at night</h3>
<p>Migrated Typehco&rsquo;s articles to Hugo and did some initial optimizations for the <code>archives</code> page.</p>
<p>There are still so many things I want to do but haven&rsquo;t gotten around to. Time to sleep—I&rsquo;ll tackle them tomorrow when I wake up.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 31, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-31/</link>
      <pubDate>Mon, 31 Mar 2025 11:32:02 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-31/</guid>
      <description>&lt;p&gt;Today is the last day of March. Last night, I accidentally stayed up coding until almost 2 a.m. again—another late night.&lt;/p&gt;
&lt;p&gt;Regret&amp;hellip;&lt;/p&gt;
&lt;p&gt;The weather is unusually cold, making it feel like we&amp;rsquo;re still in the depths of winter. This morning, I checked the progress of my CSC application and saw that it was still stuck at &amp;ldquo;received by the handling unit.&amp;rdquo; Feeling a bit anxious, I called the exchange office of the Yunnan Provincial Department of Education. I tried twice in the morning but couldn’t get through, so I called again in the afternoon. They reassured me not to worry and said the teacher would handle it. That eased my mind a little.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today is the last day of March. Last night, I accidentally stayed up coding until almost 2 a.m. again—another late night.</p>
<p>Regret&hellip;</p>
<p>The weather is unusually cold, making it feel like we&rsquo;re still in the depths of winter. This morning, I checked the progress of my CSC application and saw that it was still stuck at &ldquo;received by the handling unit.&rdquo; Feeling a bit anxious, I called the exchange office of the Yunnan Provincial Department of Education. I tried twice in the morning but couldn’t get through, so I called again in the afternoon. They reassured me not to worry and said the teacher would handle it. That eased my mind a little.</p>
<p>At noon, I cooked some rice and reheated the leftovers from yesterday in a pan. The steaming hot rice was delicious—I ended up eating two big bowls.</p>
<p>In the future, I should try making more tasty dishes myself, like fish or fried chicken legs. It’s not difficult, and it’s definitely healthier than eating from street vendors.</p>
<p>Thinking about it, I’m actually quite suited for creative professions. I have an almost obsessive dedication to technical implementations or aesthetics. I should nurture this interest and ability more.</p>
<blockquote>
<p>Starting tonight, I’ll go to bed before 11:00 p.m., and no later than 12:00 a.m. at the absolute latest.<br>
Regardless of the harm late nights do to the body, <strong>staying up late ruins precious mornings</strong>.<span>Jeapo</span></p>
</blockquote>
]]></content:encoded>
    </item>
    <item>
      <title>March 30, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-30/</link>
      <pubDate>Sun, 30 Mar 2025 15:38:14 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-30/</guid>
      <description>&lt;h2 id=&#34;2025-03-29&#34;&gt;2025-03-29&lt;/h2&gt;
&lt;p&gt;Yesterday, I went to Qingzhen to take a public institution exam—I had applied for the Guizhou Academy of Social Sciences. Xiaohuanhuan came along to accompany me, and spending these last two days with her has been so much fun.&lt;/p&gt;
&lt;p&gt;On the 29th, we had some spicy braised food, which was &lt;em&gt;really&lt;/em&gt; spicy, and the ingredients didn’t seem all that fresh either. The next day, both of us had stomach issues. I should probably buy less of this kind of food in the future—making it myself might be better.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h2 id="2025-03-29">2025-03-29</h2>
<p>Yesterday, I went to Qingzhen to take a public institution exam—I had applied for the Guizhou Academy of Social Sciences. Xiaohuanhuan came along to accompany me, and spending these last two days with her has been so much fun.</p>
<p>On the 29th, we had some spicy braised food, which was <em>really</em> spicy, and the ingredients didn’t seem all that fresh either. The next day, both of us had stomach issues. I should probably buy less of this kind of food in the future—making it myself might be better.</p>
<p>I performed terribly on the exam, constantly distracted and feeling really frustrated. But now that it’s over, I’ll just let it go.</p>
<p>At noon, we went to a small hotpot place near Xiaokun’s place. We were so hungry that everything tasted amazing. After eating, we spontaneously decided to go to Anshun for some fun.</p>
<p>In the evening, we visited Anshun’s Little Cross area, strolled through the food street, and explored the ancient town. Anshun has <em>so</em> many delicious foods—after eating around, we even went for some big skewer barbecue. We were stuffed to the point of numbness.</p>
<p>Back at our accommodation, we played Exploding Kittens and ended up staying up late again.</p>
<h2 id="2025-03-30">2025-03-30</h2>
<p>Today, Xiaokun took us to eat yellow catfish with green peppers. There were <em>so</em> many chilies and Sichuan peppercorns—it was legitimately numbing and spicy, but still pretty good.</p>
<p>After overeating, we took a walk along the river and returned to Little Cross. The food street was just as lively during the day as it was at night. We bought some rice paper rolls (<em>xiaoguojuan</em>), which were <em>seriously</em> delicious. We also grabbed some meat pies—next time, I’ll try the <em>posu</em> buns.</p>
<p>I took the leftover rice paper rolls and the chips Xiaohuanhuan bought to my brother and sister-in-law’s place. They weren’t as good as when they were fresh. We had dinner at my brother’s, and afterward, he and I drove the car to park it at the stadium.</p>
<p>It’s been a while since I last drove, so I felt a bit rusty.</p>
<h3 id="2338-code-edits">23:38 Code Edits</h3>
<p>Added a visitor statistics feature to my blog and also fixed a bug with Giscus theme switching. Now the theme changes successfully on the first attempt.</p>
<p>By the way, I took a photo that I really like.</p>
<img alt="Two ways" loading="lazy" src="../../../../../static/images/diary/two-ways.png">]]></content:encoded>
    </item>
    <item>
      <title>March 28, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-28/</link>
      <pubDate>Fri, 28 Mar 2025 16:46:31 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-28/</guid>
      <description>&lt;h3 id=&#34;0930-insomnia-last-night&#34;&gt;09:30 Insomnia Last Night&lt;/h3&gt;
&lt;p&gt;Naturally, waking up this morning felt exhausting, and I had zero desire to get out of bed. Yet, my biological clock rudely dragged me awake early anyway.&lt;/p&gt;
&lt;p&gt;The main reason for the insomnia is my irregular sleep schedule. Deviating from my usual bedtime often leads to sleeplessness. Both the night before last and last night were like this. So far, I’ve found two effective solutions:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Indulge my desires to exhaustion&lt;/strong&gt;: By physically tiring myself out, I can trigger hormone release that helps me fall asleep faster.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Don’t even try to sleep&lt;/strong&gt;: Instead, learn something new—especially by listening to lectures, like math or English. The more attentively I listen, the quicker I drift off. The catch? As a lazy person, forcing myself to study is tough. It takes practice.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;1134-cooking-lunch-and-taking-a-shower&#34;&gt;11:34 Cooking Lunch and Taking a Shower&lt;/h3&gt;
&lt;p&gt;Stir-fried some cabbage, fried two eggs, and tossed in yesterday’s leftover fried potatoes and sausages. Mixed it all with rice in the pan, along with the boiled veggies from yesterday—delicious!&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0930-insomnia-last-night">09:30 Insomnia Last Night</h3>
<p>Naturally, waking up this morning felt exhausting, and I had zero desire to get out of bed. Yet, my biological clock rudely dragged me awake early anyway.</p>
<p>The main reason for the insomnia is my irregular sleep schedule. Deviating from my usual bedtime often leads to sleeplessness. Both the night before last and last night were like this. So far, I’ve found two effective solutions:</p>
<ol>
<li><strong>Indulge my desires to exhaustion</strong>: By physically tiring myself out, I can trigger hormone release that helps me fall asleep faster.</li>
<li><strong>Don’t even try to sleep</strong>: Instead, learn something new—especially by listening to lectures, like math or English. The more attentively I listen, the quicker I drift off. The catch? As a lazy person, forcing myself to study is tough. It takes practice.</li>
</ol>
<h3 id="1134-cooking-lunch-and-taking-a-shower">11:34 Cooking Lunch and Taking a Shower</h3>
<p>Stir-fried some cabbage, fried two eggs, and tossed in yesterday’s leftover fried potatoes and sausages. Mixed it all with rice in the pan, along with the boiled veggies from yesterday—delicious!</p>
<p>Showering is such a refreshing experience. It washes away the grimy aura that seems to cling to us after waking up, leaving me feeling clear-headed and revitalized.</p>
<h3 id="1208-explaining-tuihēng">12:08 Explaining <em>Tuihēng</em></h3>
<p>In the <em>Whale</em> group chat, someone mentioned Xiao Kun drinking, and I described him with the term <mark style="background: #FFF3A3A6;"><em>tuihēng</em></mark>. It dawned on me that others don’t usually use this word—it’s probably a local dialect. Here’s my definition:</p>
  

  


  
  <blockquote class="alert-blockquote alert-note" >
    <p class="alert-heading callout-title">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
        <path d="M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z"></path><path d="m15 5 4 4"></path>
      </svg>
      
      <span>Note</span>
      
    </p>
    <div class="alert-content callout-content">
      <p><strong>Tuī Hēng</strong><br>
To put it vividly: When someone is unwilling, reluctant, or afraid to face a situation or person, they bury their head in their belly button or armpit. If someone calls their name or nudges them, they respond with vague grunts or deflect the topic, hoping the moment will just pass.</p>
    </div>
  </blockquote>
  

<script>
  document.addEventListener("DOMContentLoaded", function () {
    document.querySelectorAll(".alert-blockquote").forEach(function (e) {
        
        var foldAttr = e.getAttribute("data-collapsible");
        if (foldAttr === "+" || foldAttr === "-") {
            e.classList.add("is-collapsible");

            var titleElem = e.querySelector(".callout-title");
            var contentElem = e.querySelector(".callout-content");

            if (titleElem && contentElem && !titleElem.querySelector(".callout-fold")) {
                var isCollapsed = foldAttr === "-"; 
                var toggleState = function () {
                    updateState(!isCollapsed, true);
                };

                var updateState = function (collapsed, animate) {
                    isCollapsed = collapsed;
                    e.classList.toggle("is-collapsed", collapsed);
                    contentElem.style.display = collapsed ? "none" : "block";

                    
                    
                    var svgIcon = foldButton.querySelector("svg");
                    if (svgIcon) {
                        svgIcon.style.transform = collapsed ? "rotate(-90deg)" : "rotate(0deg)";
                        svgIcon.style.transition = "transform 0.2s ease-in-out";
                    }
                };

                
                var foldButton = document.createElement("div");
                foldButton.className = "callout-fold";

                
                foldButton.innerHTML = `
                    <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-chevron-down">
                        <path d="m6 9 6 6 6-6"></path>
                    </svg>
                `;

                foldButton.addEventListener("click", function (event) {
                    event.preventDefault();
                    toggleState();
                });

                
                titleElem.appendChild(foldButton);

                
                titleElem.addEventListener("click", function (event) {
                    if (!event.defaultPrevented) {
                        event.preventDefault();
                        toggleState();
                    }
                });

                
                updateState(isCollapsed, false);
            }
        }
    });
});
</script>
<h3 id="1255-finished-debugging-code">12:55 Finished Debugging Code</h3>
<p>Fixed the rating display to show the day of the week when no rating is set. Debugging is always a hassle, especially when I’m unfamiliar with the code. The most effective approach? Stay calm and methodically log outputs to diagnose the issue.</p>
<h3 id="1752-getting-ready-to-head-out">17:52 Getting Ready to Head Out</h3>
<p>After finishing a set of exam papers, having dinner, and washing the dishes, I set off for the train station. I’ll get to see little Huanhuan soon.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 27, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-27/</link>
      <pubDate>Thu, 27 Mar 2025 01:04:42 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-27/</guid>
      <description>&lt;h3 id=&#34;0904-woke-up&#34;&gt;09:04 Woke Up&lt;/h3&gt;
&lt;p&gt;My habits have been quite poor lately—I often find myself mindlessly picking up my phone to scroll through videos on Bilibili or Douyin. This behavior wastes a lot of time and significantly harms both my eye health and my normal routine. I need to be more mindful. I believe this is achievable because I didn’t used to have this habit, and I’ve also realized that most of the time I spend watching these videos, I’m not even happy.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0904-woke-up">09:04 Woke Up</h3>
<p>My habits have been quite poor lately—I often find myself mindlessly picking up my phone to scroll through videos on Bilibili or Douyin. This behavior wastes a lot of time and significantly harms both my eye health and my normal routine. I need to be more mindful. I believe this is achievable because I didn’t used to have this habit, and I’ve also realized that most of the time I spend watching these videos, I’m not even happy.</p>
<p>I need to cultivate awareness!</p>
<h3 id="1534-finished-reviewing-mistakes">15:34 Finished Reviewing Mistakes</h3>
<p>Sometimes I wonder whether recording these trivial daily details and mundane accounts is meaningless. But then I think again—these words are all traces of my existence, no matter how small or ordinary. Without them, I wouldn’t even remember what I did last Monday, what happened to me, or what emotional journey I went through. Perhaps one day, all of this will become my precious treasure, even if only I think so.</p>
<h3 id="1733-played-3-rounds-of-plants-vs-zombies-hybrid-editionquite-stress-relieving">17:33 Played 3 Rounds of Plants vs. Zombies Hybrid Edition—Quite Stress-Relieving</h3>
<p>Feeling a bit physically tired.</p>
<h3 id="2103-back-from-a-walk">21:03 Back from a Walk</h3>
<p><mark style="background: #FF5582A6;">Sleep is the most important thing in life. Eating is too, but when you’re hungry, you can’t help but eat.</mark></p>
<p>Today, I said to Huanhuan:</p>
<blockquote>
<p>I was thinking—if we don’t have children in the future, what could replace the role of a child and become as strong a bond, something we’d strive for our entire lives?</p>
<p>I think shared ideals, building a career together, or pursuing interests could work.<br>
<span>Jeapo</span></p>
</blockquote>
<p>Coincidentally, I came across an article titled <a href="https://mp.weixin.qq.com/s/dwEMZXXjl_lS2rEiNATtIQ">Advice: Cultivate an &ldquo;Output-Oriented&rdquo; Hobby as Early as Possible</a>, which further strengthened my thoughts.</p>
<h3 id="2235-finished-a-comprehensive-aptitude-test">22:35 Finished a Comprehensive Aptitude Test</h3>
<p>Compared to the essay section, this really is just about copying from the material. The answers are all in the text—you just need to find them and reorganize them in the required format.</p>
<h3 id="2246-added-a-rating-attribute">22:46 Added a <code>rating</code> Attribute</h3>
<p>I added a <code>rating</code> attribute to my diary template to evaluate the importance and significance of each day. Unlike <code>mood</code>, sadness, pain, or happiness won’t affect the score—it’s solely meant to highlight the insights and reflections I’ve gained.</p>
<p>The rating ranges from 0 to 5, with rough numbers to avoid overthinking when filling it out. The rating is converted into icons before the day of the week—the higher the score, the darker the shading.</p>
<p>In short, growth earns a high score.</p>
<h3 id="0046-finally-finished-debugging">00:46 Finally Finished Debugging</h3>
<p>Now I can use this data to analyze my long-term state. The later it gets, the more energetic I feel. Time to sleep.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 26, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-26/</link>
      <pubDate>Wed, 26 Mar 2025 01:31:03 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-26/</guid>
      <description>&lt;h3 id=&#34;0931-started-studying&#34;&gt;09:31 Started Studying&lt;/h3&gt;
&lt;p&gt;Just finished debugging the code. There are always so many things to do in my own room—thinking about folding laundry, taking out the trash, what to eat for lunch… Before I knew it, a lot of time was wasted on these little tasks.&lt;/p&gt;
&lt;h3 id=&#34;2141-finished-a-vocational-aptitude-test&#34;&gt;21:41 Finished a Vocational Aptitude Test&lt;/h3&gt;
&lt;p&gt;Scored in the top 35%. It was okay—still plenty of room for improvement.&lt;/p&gt;
&lt;p&gt;This afternoon, I completed a set of &amp;ldquo;Comprehensive Application Ability&amp;rdquo; exercises, then cooked some rice and went grocery shopping in my pajama pants. Bought a lot of stuff: strawberries, choy sum, cabbage, tofu, and pork belly. Originally planned to make it last two days, but I got greedy and wanted to eat everything. Ended up not being able to finish it all by myself, so I called my brother over to share the meal.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0931-started-studying">09:31 Started Studying</h3>
<p>Just finished debugging the code. There are always so many things to do in my own room—thinking about folding laundry, taking out the trash, what to eat for lunch… Before I knew it, a lot of time was wasted on these little tasks.</p>
<h3 id="2141-finished-a-vocational-aptitude-test">21:41 Finished a Vocational Aptitude Test</h3>
<p>Scored in the top 35%. It was okay—still plenty of room for improvement.</p>
<p>This afternoon, I completed a set of &ldquo;Comprehensive Application Ability&rdquo; exercises, then cooked some rice and went grocery shopping in my pajama pants. Bought a lot of stuff: strawberries, choy sum, cabbage, tofu, and pork belly. Originally planned to make it last two days, but I got greedy and wanted to eat everything. Ended up not being able to finish it all by myself, so I called my brother over to share the meal.</p>
<p>My brother had to work overtime at noon and didn&rsquo;t come over until 1 PM. I ate two bowls of rice at lunch and then three more bowls in the evening. Cooking for myself is terrifying—I always end up eating too much.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 25, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-25/</link>
      <pubDate>Tue, 25 Mar 2025 01:22:49 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-25/</guid>
      <description>&lt;p&gt;The weather is so nice today! Yet I didn&amp;rsquo;t step outside all day.&lt;/p&gt;
&lt;p&gt;I was sluggish in the morning, fiddling with this and that, and before I knew it, the morning was gone. The printer keeps acting up a little—I’ll send it back and try a replacement.&lt;/p&gt;
&lt;p&gt;Today, I worked through a set of practice tests. The &lt;em&gt;Administrative Aptitude Test&lt;/em&gt; was manageable, but I still need more practice with summarization and synthesis for the &lt;em&gt;Comprehensive Application Ability&lt;/em&gt; section. I should also familiarize myself with the basic formats of various writing styles. Tomorrow, I’ll tackle a few more test papers specifically to sharpen those skills.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The weather is so nice today! Yet I didn&rsquo;t step outside all day.</p>
<p>I was sluggish in the morning, fiddling with this and that, and before I knew it, the morning was gone. The printer keeps acting up a little—I’ll send it back and try a replacement.</p>
<p>Today, I worked through a set of practice tests. The <em>Administrative Aptitude Test</em> was manageable, but I still need more practice with summarization and synthesis for the <em>Comprehensive Application Ability</em> section. I should also familiarize myself with the basic formats of various writing styles. Tomorrow, I’ll tackle a few more test papers specifically to sharpen those skills.</p>
<p>I called home today to ask Mom how things were going. She said the land has been leased out, the cows have been sold, and the pigs are still a bit underpriced. Then my sister took Mom’s phone to talk to me—Ningning and Manman were as cheerful as ever. I noticed tears welling up in my sister’s eyes but didn’t press her about it at the time. Only after hanging up did I realize why. So, I wrote her a letter (<a href="/en/letter/letter_20250325201618/">letter_20250325201618.en</a>), hoping it might bring her some comfort.</p>
<p>This noon, I stir-fried some Chinese toon, but it wasn&rsquo;t particularly tasty. Instead, the toon aroma filled the entire room. After stir-frying it again, it turned out somewhat better.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 24, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-24/</link>
      <pubDate>Mon, 24 Mar 2025 15:21:03 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-24/</guid>
      <description>&lt;p&gt;I slept very well last night and didn’t wake up until 8 o’clock this morning.&lt;/p&gt;
&lt;p&gt;I dragged myself out of bed slowly. The day before yesterday, I received an email stating that I would receive an annual funding of 25,000 CAD, with a minimum of 100,000 CAD over four years. At the time, the email mentioned logging into the system to accept the offer, so I spent the entire morning today checking but couldn’t find any new information to accept. I gave up.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I slept very well last night and didn’t wake up until 8 o’clock this morning.</p>
<p>I dragged myself out of bed slowly. The day before yesterday, I received an email stating that I would receive an annual funding of 25,000 CAD, with a minimum of 100,000 CAD over four years. At the time, the email mentioned logging into the system to accept the offer, so I spent the entire morning today checking but couldn’t find any new information to accept. I gave up.</p>
<p>In the afternoon, I worked on some &ldquo;Administrative Aptitude Test&rdquo; exercises. I realized that the electronic version I bought online was quite poor—printing out the test papers and doing them by hand was uncomfortable. It would have been better to just take the tests directly on the Fenbi official website.</p>
<p>Later, I cooked rice for dinner. While the rice was cooking, I went out to buy some fish mint. For dinner, I made stir-fried fish mint with ham, fried potatoes, vegetable soup, and cold-tossed fish mint. Everything was delicious, and I ended up eating two full bowls of rice.</p>
<p>In the evening, Professor Yu called to ask about the progress of my CSC application, and I felt quite guilty. In the future, I should promptly update my advisor on any developments regarding such matters. It was wrong of me to assume that the professor might have forgotten and avoid reaching out.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 23, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-23/</link>
      <pubDate>Sun, 23 Mar 2025 22:52:15 +0800</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-23/</guid>
      <description>&lt;p&gt;Kunming finally saw clear skies today after several overcast days.&lt;/p&gt;
&lt;p&gt;This morning, Da Huang Fangfang took us to a nearby place where we had some particularly delicious and affordable rice noodles and vermicelli. We ate until we were quite full.&lt;/p&gt;
&lt;p&gt;We also visited the Luoyu River Wetland Park, where we bought two small nets to catch tiny fish and shrimp. Today was much better than yesterday, and we managed to catch quite a few small ones.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Kunming finally saw clear skies today after several overcast days.</p>
<p>This morning, Da Huang Fangfang took us to a nearby place where we had some particularly delicious and affordable rice noodles and vermicelli. We ate until we were quite full.</p>
<p>We also visited the Luoyu River Wetland Park, where we bought two small nets to catch tiny fish and shrimp. Today was much better than yesterday, and we managed to catch quite a few small ones.</p>
<p>Time flew by quickly, and soon it was time to head back. I had also thought about visiting Fangfang&rsquo;s home to see her younger sister, but we didn&rsquo;t get the chance.</p>
<p>At 4:20 PM, I returned to Panzhou with Huanhuan. Huanhuan then accompanied me to the bus station in Panzhou, where I caught a bus to Shuicheng.</p>
<p>I stayed quite alert on the bus, feeling a bit tired but not inclined to sleep.</p>
<p>Came back and did some laundry.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 22, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-22/</link>
      <pubDate>Sat, 22 Mar 2025 14:49:23 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-22/</guid>
      <description>&lt;p&gt;Today was a day out for fun, and we got up lazily.&lt;/p&gt;
&lt;p&gt;Fangfang was on duty all day today and couldn&amp;rsquo;t join us. We managed to trick Lao Sao into coming over at noon, and he even brought his own potatoes. Then, Da Huang went to buy some oyster mushrooms to fry. The fried potatoes and fried oyster mushrooms were simply delicious.&lt;/p&gt;
&lt;p&gt;We also visited the Expo Park today, but it wasn&amp;rsquo;t very exciting as there were charges everywhere. We strolled around casually, and at the end, we sang songs with a few outgoing and optimistic uncles and aunties outside the guard booth, which was quite a social experience.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today was a day out for fun, and we got up lazily.</p>
<p>Fangfang was on duty all day today and couldn&rsquo;t join us. We managed to trick Lao Sao into coming over at noon, and he even brought his own potatoes. Then, Da Huang went to buy some oyster mushrooms to fry. The fried potatoes and fried oyster mushrooms were simply delicious.</p>
<p>We also visited the Expo Park today, but it wasn&rsquo;t very exciting as there were charges everywhere. We strolled around casually, and at the end, we sang songs with a few outgoing and optimistic uncles and aunties outside the guard booth, which was quite a social experience.</p>
<p>We came back and Dahuang bought a net online, so we grabbed a small basin and went to catch crayfish. As expected, we came back empty-handed, and the feeling wasn&rsquo;t great. In the evening, we went home and played Bomb Cat with Huanhuan for a while, which was quite fun.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 21, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-21/</link>
      <pubDate>Fri, 21 Mar 2025 14:46:09 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-21/</guid>
      <description>&lt;p&gt;The materials were submitted yesterday.&lt;/p&gt;
&lt;p&gt;Early this morning, little Huanhuan arrived, and we went to Yunnan University Hospital, then to the Traditional Chinese Medicine Hospital. In between, we also checked my lingual frenulum, and the doctor said it was normal. Haha, I felt a little disappointed.&lt;/p&gt;
&lt;p&gt;In the evening, we had dinner together at the same place where I had previously eaten with Brother Deng Zhongqing.&lt;/p&gt;
&lt;p&gt;Old Sao is really quick when it comes to giving money, it&amp;rsquo;s done in the blink of an eye. From now on, I&amp;rsquo;ll have to prepay the money there first.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The materials were submitted yesterday.</p>
<p>Early this morning, little Huanhuan arrived, and we went to Yunnan University Hospital, then to the Traditional Chinese Medicine Hospital. In between, we also checked my lingual frenulum, and the doctor said it was normal. Haha, I felt a little disappointed.</p>
<p>In the evening, we had dinner together at the same place where I had previously eaten with Brother Deng Zhongqing.</p>
<p>Old Sao is really quick when it comes to giving money, it&rsquo;s done in the blink of an eye. From now on, I&rsquo;ll have to prepay the money there first.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 20, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-20/</link>
      <pubDate>Thu, 20 Mar 2025 13:38:38 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-20/</guid>
      <description>&lt;p&gt;This morning, I got up slowly and leisurely, and since my hair was quite oily, I decided to wash it.&lt;/p&gt;
&lt;p&gt;I took a taxi to the Provincial Department of Education. I spent 6.5 yuan to photocopy a document at a nearby print shop. Printing things outside is really expensive. Color copies cost 1 yuan per page, and black and white copies cost 0.5 yuan per page—it&amp;rsquo;s practically robbery. I still feel like buying my own printer was a good investment, as I can now frequently print things like record sheets and such.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This morning, I got up slowly and leisurely, and since my hair was quite oily, I decided to wash it.</p>
<p>I took a taxi to the Provincial Department of Education. I spent 6.5 yuan to photocopy a document at a nearby print shop. Printing things outside is really expensive. Color copies cost 1 yuan per page, and black and white copies cost 0.5 yuan per page—it&rsquo;s practically robbery. I still feel like buying my own printer was a good investment, as I can now frequently print things like record sheets and such.</p>
<p>At the entrance of the Department of Education stood a young guy, seemingly there for reception but actually there to intercept, probably worried I might bring in some documents or items. Once inside the building, I asked at two offices in a row, but neither was the External Exchange Center.</p>
<p>Following the address I was given, I went to the second floor of a nearby bookstore. I found the office, but no one was there. Then I ran into a security guard, Cui Zishan, who patiently explained the situation to me. He left me a phone number and said he could help me inquire tomorrow.</p>
<p>About an hour later, I received a call from Uncle Cui, telling me to come up and check. When I went up, sure enough, someone was in the office. That was great.</p>
<p>There was a minor issue with the materials, but Teacher Du still accepted them. With that, today&rsquo;s tasks were completed. Then I wandered around outside and somehow ended up by Cuihu Lake. I saw the Lu Han Residence, the Yunnan Military Academy, and the Wen Yiduo Former Residence.</p>
<p>It was the first time I had seen so many of Mr. Wen Yiduo&rsquo;s poems, paintings, and seal carvings. His talent is enviable, and his integrity, bravery, and fearlessness are truly admirable.</p>
<p>Mr. Wen Yiduo is the person I aspire to become.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 19, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-19/</link>
      <pubDate>Wed, 19 Mar 2025 02:38:25 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-19/</guid>
      <description>&lt;p&gt;I don&amp;rsquo;t know when the sky brightened; I got up without opening my eyes.&lt;/p&gt;
&lt;p&gt;After a quick wash, I hailed a cab and went straight to Zhongqing Company. I got the necessary stamps, treated Brother Deng from the company to lunch at noon, and had a couple of drinks. The alcohol content was quite high, and by the time I finished eating and drinking, I was already feeling dizzy.&lt;/p&gt;
&lt;p&gt;In the afternoon, I came back and slept until four o&amp;rsquo;clock, then got up to find a print shop to print some documents. In the evening, I had dinner with Da Huang, Fangfang, and Lao Sao. They were too eager to pay the bill.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I don&rsquo;t know when the sky brightened; I got up without opening my eyes.</p>
<p>After a quick wash, I hailed a cab and went straight to Zhongqing Company. I got the necessary stamps, treated Brother Deng from the company to lunch at noon, and had a couple of drinks. The alcohol content was quite high, and by the time I finished eating and drinking, I was already feeling dizzy.</p>
<p>In the afternoon, I came back and slept until four o&rsquo;clock, then got up to find a print shop to print some documents. In the evening, I had dinner with Da Huang, Fangfang, and Lao Sao. They were too eager to pay the bill.</p>
<p>In the evening, when I got back, my younger cousin helped me sign all the documents that needed to be supplemented.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 18, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-18/</link>
      <pubDate>Tue, 18 Mar 2025 02:32:53 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-18/</guid>
      <description>&lt;p&gt;Whenever things become slightly unknown or complicated, I start to feel lazy and unmotivated.&lt;/p&gt;
&lt;p&gt;However, I still managed to print out the necessary documents. In the afternoon, after consulting with Manager Liu and Fangfang, we decided to head to Kunming overnight.&lt;/p&gt;
&lt;p&gt;It was already eleven o&amp;rsquo;clock when I arrived at Fangfang and Dahuang&amp;rsquo;s place, and Dahuang had even fried some potatoes waiting for me.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Whenever things become slightly unknown or complicated, I start to feel lazy and unmotivated.</p>
<p>However, I still managed to print out the necessary documents. In the afternoon, after consulting with Manager Liu and Fangfang, we decided to head to Kunming overnight.</p>
<p>It was already eleven o&rsquo;clock when I arrived at Fangfang and Dahuang&rsquo;s place, and Dahuang had even fried some potatoes waiting for me.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 17, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-17/</link>
      <pubDate>Mon, 17 Mar 2025 13:16:53 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-17/</guid>
      <description>&lt;p&gt;Saturday was the 2025 Guizhou Provincial Exam. On Friday night, I rushed to Guiyang overnight, and after work, Xiao Huanhuan also came from Panzhou to accompany me for the exam. It was both an exam and a date.&lt;/p&gt;
&lt;p&gt;The exam lasted the entire day on Saturday, and the timing was extremely tight. As soon as I arrived at the test center, I felt the urgent need to use the restroom. However, each floor had only one restroom, and although the building appeared to have four floors, it was actually a quadrangle-style structure with four single floors combined. By the time it was my turn, there were only fifteen minutes left before the exam started. While waiting for someone else to finish, my mind was racing with thoughts—should I just relieve myself on the bathroom floor? I was really struggling to hold it in, and the exam was about to begin. In the end, I managed to uphold human civilization&amp;hellip;&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Saturday was the 2025 Guizhou Provincial Exam. On Friday night, I rushed to Guiyang overnight, and after work, Xiao Huanhuan also came from Panzhou to accompany me for the exam. It was both an exam and a date.</p>
<p>The exam lasted the entire day on Saturday, and the timing was extremely tight. As soon as I arrived at the test center, I felt the urgent need to use the restroom. However, each floor had only one restroom, and although the building appeared to have four floors, it was actually a quadrangle-style structure with four single floors combined. By the time it was my turn, there were only fifteen minutes left before the exam started. While waiting for someone else to finish, my mind was racing with thoughts—should I just relieve myself on the bathroom floor? I was really struggling to hold it in, and the exam was about to begin. In the end, I managed to uphold human civilization&hellip;</p>
<p>I barely finished both the &ldquo;Administrative Aptitude Test&rdquo; and the &ldquo;Essay Writing&rdquo; sections. There were simply too many questions, and I couldn&rsquo;t afford to focus greedily on every scoring opportunity. At noon, Xiao Huanhuan ordered a lot of food, but we couldn&rsquo;t finish it all. While I was taking the exam in the afternoon, Xiao Huanhuan visited the Guizhou Provincial Geological Museum.</p>
<p>When Xue Feng found out I was in Guiyang for the exam, he arranged for us to have dinner at his place today. It&rsquo;s rare for the four of us from 1204 to get together, so after the exam, Xiao Huanhuan and I quickly took a taxi to Xue Feng&rsquo;s house.</p>
<p>We ate, drank, and chatted until 11 PM, and I managed to get a relatively quiet night&rsquo;s sleep. On Sunday morning, I woke up early and had breakfast with Xiao Kun and Xiao Xia at the old vegetarian noodle shop on Court Street, along with two portions of sticky rice that caused a bit of a quarrel between Huanhuan and me. Xiao Kun and Xiao Xia also took us out for pasta, and we ended up eating way too much.</p>
<p>After the meal, we headed straight to the North Station by subway to go home. Huanhuan&rsquo;s dad prepared a huge feast, and we ate so much. I bought some milk and watermelon, and the out-of-season fruit tasted especially good when I was craving it.</p>
<p>This morning, after seeing Huanhuan off to work, we had noodles together. Mine was the &ldquo;Iron Rice Bowl,&rdquo; while hers was the &ldquo;Executive Special.&rdquo; After eating, I walked to Shengjing Square and finally found a restroom.</p>
<p>Since returning, I&rsquo;ve been feeling extremely tired, as if no amount of sleep is enough. I played on my phone for a while and worked on my CSC application materials, but my eyes and head were so uncomfortable that I didn&rsquo;t feel like doing anything. I&rsquo;ll check again tomorrow morning, and if everything&rsquo;s fine, I&rsquo;ll head to Kunming in the afternoon.</p>
<p>Check the train ticket&hellip;</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 14, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-14/</link>
      <pubDate>Fri, 14 Mar 2025 06:56:58 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-14/</guid>
      <description>&lt;p&gt;In order to find a company to affiliate with, I can qualify for the CSC application. Paying to work is something that could only happen to me, and 1400 a month is quite a lot. It&amp;rsquo;s a bit outrageous, but there&amp;rsquo;s no other way. Coincidentally, Mr. Liu asked me for money, so I also mentioned to him about getting his seal, and it&amp;rsquo;s only natural that I&amp;rsquo;ll be heading to Kunming next week.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>In order to find a company to affiliate with, I can qualify for the CSC application. Paying to work is something that could only happen to me, and 1400 a month is quite a lot. It&rsquo;s a bit outrageous, but there&rsquo;s no other way. Coincidentally, Mr. Liu asked me for money, so I also mentioned to him about getting his seal, and it&rsquo;s only natural that I&rsquo;ll be heading to Kunming next week.</p>
<p>I couldn&rsquo;t fall asleep during my midday nap, as there&rsquo;s quite a lot on my mind.</p>
<p>In the blink of an eye, the day is over. I need to hurry up, take a shower, wash the dishes, and get ready to head to Guiyang for the exam.</p>
<p>Today is a day when I might get to see little Huanhuan.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 13, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-13/</link>
      <pubDate>Thu, 13 Mar 2025 20:08:26 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-13/</guid>
      <description>&lt;h3 id=&#34;2008-the-english-incident&#34;&gt;20:08 The English Incident&lt;/h3&gt;
&lt;p&gt;How ironic!&lt;/p&gt;
&lt;p&gt;Today, while browsing Bilibili, I discovered that He Kaiwen and Tian Jing, once familiar English tutors, are now involved in deceptive practices.&lt;/p&gt;
&lt;p&gt;Learning should primarily rely on serious textual materials, and only when things get too abstract should one turn to corresponding video explanations. This way, one can avoid being misled and make gradual progress.&lt;/p&gt;
&lt;h3 id=&#34;2238-completed-the-2023-administrative-aptitude-test&#34;&gt;22:38 Completed the 2023 Administrative Aptitude Test&lt;/h3&gt;
&lt;p&gt;Scored 73.63, my highest so far, but still went over the time limit by more than ten minutes. Facing numerous difficulties, feeling a bit overwhelmed.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="2008-the-english-incident">20:08 The English Incident</h3>
<p>How ironic!</p>
<p>Today, while browsing Bilibili, I discovered that He Kaiwen and Tian Jing, once familiar English tutors, are now involved in deceptive practices.</p>
<p>Learning should primarily rely on serious textual materials, and only when things get too abstract should one turn to corresponding video explanations. This way, one can avoid being misled and make gradual progress.</p>
<h3 id="2238-completed-the-2023-administrative-aptitude-test">22:38 Completed the 2023 Administrative Aptitude Test</h3>
<p>Scored 73.63, my highest so far, but still went over the time limit by more than ten minutes. Facing numerous difficulties, feeling a bit overwhelmed.</p>
<p>Recently, I got bitten a few times by some insect on my left shoulder, and it&rsquo;s so itchy and uncomfortable.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 12, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-12/</link>
      <pubDate>Wed, 12 Mar 2025 14:36:10 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-12/</guid>
      <description>&lt;p&gt;I got up and boiled two ears of corn for breakfast. They weren&amp;rsquo;t very sweet, probably the price to pay for being cheap.&lt;/p&gt;
&lt;p&gt;In the morning, I did a set of essay questions for the civil service exam and only scored 57. The questions were quite challenging. After checking the answers, I felt anxious, worrying about this and that.&lt;/p&gt;
&lt;p&gt;With a troubled heart, I took a nap. After waking up, I did a 10-minute meditation, which made me feel much better. It was quite effective. By the time I got up to review the morning&amp;rsquo;s answers, it was already past 3 PM. Feeling a bit stifled in the rental room, I packed my backpack with two sets of essay papers and headed to the library. I almost finished both sets, though I haven&amp;rsquo;t checked the answers for the second one yet.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I got up and boiled two ears of corn for breakfast. They weren&rsquo;t very sweet, probably the price to pay for being cheap.</p>
<p>In the morning, I did a set of essay questions for the civil service exam and only scored 57. The questions were quite challenging. After checking the answers, I felt anxious, worrying about this and that.</p>
<p>With a troubled heart, I took a nap. After waking up, I did a 10-minute meditation, which made me feel much better. It was quite effective. By the time I got up to review the morning&rsquo;s answers, it was already past 3 PM. Feeling a bit stifled in the rental room, I packed my backpack with two sets of essay papers and headed to the library. I almost finished both sets, though I haven&rsquo;t checked the answers for the second one yet.</p>
<p>In the evening, I did another set of &ldquo;Administrative Aptitude Test&rdquo; and scored 71, which is a significant improvement. However, I still haven&rsquo;t found the knack for the common sense judgment section.</p>
<p>Tonight, I had a discussion with Huanhuan about praying and making wishes to deities. We explored the following questions:</p>
<ol>
<li>What do people overlook when they make wishes to deities?</li>
<li>Do deities fulfill everyone&rsquo;s wishes equally? Are there any costs or conditions?</li>
<li>Should we seek the help of deities, assuming they have the power?</li>
<li>How do we distinguish between ancestors and deities?</li>
<li>The image and abilities of deities.</li>
<li>The randomness and uncertainty of the world, and the role of human agency.</li>
<li>What attitude should we adopt towards deities? If it cannot be falsified, then its existence cannot be denied. To live with peace and ease, we naturally should minimize our exposure to things beyond our control.</li>
</ol>
]]></content:encoded>
    </item>
    <item>
      <title>March 11, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-11/</link>
      <pubDate>Tue, 11 Mar 2025 10:50:38 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-11/</guid>
      <description>&lt;h3 id=&#34;1134-the-printer-has-arrived&#34;&gt;11:34 The Printer Has Arrived&lt;/h3&gt;
&lt;p&gt;Getting ready to go downstairs and pick it up.&lt;/p&gt;
&lt;h3 id=&#34;1643-finished-a-rough-set-of-essay-questions&#34;&gt;16:43 Finished a Rough Set of Essay Questions&lt;/h3&gt;
&lt;p&gt;Some of the questions were still quite challenging. If I don&amp;rsquo;t practice beforehand, I&amp;rsquo;ll definitely be at a loss during the exam.&lt;/p&gt;
&lt;p&gt;The printer is set up now, but it feels a bit cheap. Maybe it&amp;rsquo;s because of the price point. The photo prints aren&amp;rsquo;t very clear, and the color accuracy isn&amp;rsquo;t great either. Oh well, I can use it to print various types of paper, calendars, and such in the future, which is still quite nice.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1134-the-printer-has-arrived">11:34 The Printer Has Arrived</h3>
<p>Getting ready to go downstairs and pick it up.</p>
<h3 id="1643-finished-a-rough-set-of-essay-questions">16:43 Finished a Rough Set of Essay Questions</h3>
<p>Some of the questions were still quite challenging. If I don&rsquo;t practice beforehand, I&rsquo;ll definitely be at a loss during the exam.</p>
<p>The printer is set up now, but it feels a bit cheap. Maybe it&rsquo;s because of the price point. The photo prints aren&rsquo;t very clear, and the color accuracy isn&rsquo;t great either. Oh well, I can use it to print various types of paper, calendars, and such in the future, which is still quite nice.</p>
<p>I can even print homework for Manman and the others.</p>
<h3 id="2129-finished-washing-my-nose">21:29 Finished Washing My Nose</h3>
<p>No bleeding the first time, but there was a little the second time. It seems like there&rsquo;s still some slow bleeding, but it&rsquo;s much better than before. I didn&rsquo;t blow my nose or spit any phlegm all day today. Applied some more medicine, and I&rsquo;ll wash it again tomorrow to see how it goes.</p>
<h3 id="2255-time-flies-so-fast">22:55 Time Flies So Fast</h3>
<p>It&rsquo;s time to go to bed again, and I haven&rsquo;t solved many problems.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 7, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-07/</link>
      <pubDate>Fri, 07 Mar 2025 21:48:49 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-07/</guid>
      <description>&lt;p&gt;Today marks my last day working at the Transportation Bureau, concluding a three-month internship.&lt;/p&gt;
&lt;p&gt;This morning, I treated my colleagues on this floor to a cup of milk tea as a gesture of gratitude. Coincidentally, it&amp;rsquo;s also Women&amp;rsquo;s Day, so I could use that as a fitting occasion.&lt;/p&gt;
&lt;p&gt;Sister Nan has been the most helpful to me and has taught me the most. Yesterday, I bought her a small potted plant. She seemed quite reluctant to see me go, and so was I.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Today marks my last day working at the Transportation Bureau, concluding a three-month internship.</p>
<p>This morning, I treated my colleagues on this floor to a cup of milk tea as a gesture of gratitude. Coincidentally, it&rsquo;s also Women&rsquo;s Day, so I could use that as a fitting occasion.</p>
<p>Sister Nan has been the most helpful to me and has taught me the most. Yesterday, I bought her a small potted plant. She seemed quite reluctant to see me go, and so was I.</p>
<p>Guo Xue and I didn&rsquo;t have much interaction, but when the organization department came to our unit for a survey, she noticed me basking in the sun by the window. She then brought a heater from her other workstation and placed it beside me. This act warmed me more than the sunlight on my skin, and she is someone I particularly wanted to thank.</p>
<p>Xing Yinghui, Sister Xing, is also a wonderful person. Once, I arrived at work too early at noon, and the office door was still locked. Thinking that Sister Nan was still asleep, I didn&rsquo;t open the door directly but instead played with my phone outside. Sister Xing saw me and, thinking I didn&rsquo;t have a key, invited me to wait in their office. She always has a smile on her face and is a very kind person.</p>
<p>Zhou Qi, Brother Zhou, often shares knowledge with me and asks about my recent situation. When he sees my door open at the end of the day, he calls me to leave together. He even bought me milk tea once, for which I am especially grateful. Chen Ying from his office and I didn&rsquo;t interact much, but we would smile and greet each other when we met. Everyone is really nice.</p>
<p>Guo Ziyan, Lü Qibin, Chen Jing, and Han Yang have all had some degree of interaction with me at work, and they are all very friendly. Each has their own unique traits, so I won&rsquo;t elaborate on each one here.</p>
<p>Until we meet again, my friends!</p>
<p>I had the leftover braised rice from yesterday with Xiao Huanhuan. It was quite delicious, probably because I was hungry.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 6, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-06/</link>
      <pubDate>Thu, 06 Mar 2025 23:01:16 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-06/</guid>
      <description>&lt;p&gt;As the weather turns cold, one always feels like burrowing under the covers. The water city truly lives up to its name with an abundance of water, and now the sound of a gentle drizzle is tapping against the window again.&lt;/p&gt;
&lt;p&gt;This morning, I spent the entire time working on the annual salary report. When I delivered it in the morning, I was met with a barrage of criticism, and when asked about some unit issues, I was at a loss for words. It seems I&amp;rsquo;ll have to let Sister Nan handle it herself and make a trip.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>As the weather turns cold, one always feels like burrowing under the covers. The water city truly lives up to its name with an abundance of water, and now the sound of a gentle drizzle is tapping against the window again.</p>
<p>This morning, I spent the entire time working on the annual salary report. When I delivered it in the morning, I was met with a barrage of criticism, and when asked about some unit issues, I was at a loss for words. It seems I&rsquo;ll have to let Sister Nan handle it herself and make a trip.</p>
<p>In the afternoon, I went to the Labor Bureau to submit materials for public welfare positions. The person in charge of receiving the documents wasn&rsquo;t there, so I just left the materials on her desk and came back. I&rsquo;ve been thinking about buying a small potted plant for Sister Nan, and across from the Labor Bureau is a flower and bird market. I strolled around the market entrance but didn&rsquo;t find anything particularly attractive or that I wanted to buy. On my way back, I saw someone selling potato skins, bought half a kilo, and then noticed an elderly man buying two pots of flowers. I thought they looked quite nice, so I asked the man where he got them. He pointed me in the direction, and upon entering again, I saw several fresh pots of carnations. I picked one out, haggled the price down from 20 to 15, and settled on 18.</p>
<p>Sister Nan also gave me two novels, which I can read and learn from when I have some free time later. In the evening, I cooked rice and called my brother to come back for dinner. I added a bit too much water, but it was still passable. My brother also bought some braised beef; I fried some potato skins, but they didn&rsquo;t taste very good, far from what my mom and the others make themselves.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 5, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-05/</link>
      <pubDate>Wed, 05 Mar 2025 23:55:09 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-05/</guid>
      <description>&lt;p&gt;Since Sister Nan left, trivial matters have piled up. Although it&amp;rsquo;s possible that after this week, things might not be as busy, I&amp;rsquo;ve already informed Sister Nan and the section chief that I won&amp;rsquo;t be continuing after this week.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m thinking of setting aside ample time to prepare for my own affairs, as I&amp;rsquo;m quite lacking in many aspects. Regarding the CSC application, my understanding of the policies is insufficient, and my preparation of materials is not thorough enough. As for exams, I haven&amp;rsquo;t done enough practice questions and haven&amp;rsquo;t simulated the exams under timed conditions.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Since Sister Nan left, trivial matters have piled up. Although it&rsquo;s possible that after this week, things might not be as busy, I&rsquo;ve already informed Sister Nan and the section chief that I won&rsquo;t be continuing after this week.</p>
<p>I&rsquo;m thinking of setting aside ample time to prepare for my own affairs, as I&rsquo;m quite lacking in many aspects. Regarding the CSC application, my understanding of the policies is insufficient, and my preparation of materials is not thorough enough. As for exams, I haven&rsquo;t done enough practice questions and haven&rsquo;t simulated the exams under timed conditions.</p>
<p>So, resigning is also a way to invest more time in myself, without making excuses.</p>
<p>Every time I resign, I always think about what I will lose afterward, rarely focusing on what I gain. Indeed, compared to what I gain, the losses seem quite significant, such as the monthly salary (even though it&rsquo;s the minimum wage), the cafeteria&rsquo;s breakfast and lunch, the quiet environment, and some people I&rsquo;ve just met. All I have is time, or more precisely, uninterrupted blocks of time. I used to have plenty of time as well, but it was often fragmented by various trivial matters. When it comes to writing, composing papers, and similar tasks, I find it difficult to make use of fragmented time—this is my shortcoming.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 4, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-04/</link>
      <pubDate>Tue, 04 Mar 2025 23:58:03 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-04/</guid>
      <description>&lt;p&gt;Finally, I&amp;rsquo;ve sent out the revised version of the study plan. Sometimes I realize that I might not be cut out for academia; I can&amp;rsquo;t seem to settle my mind, and a lot of things are just done to get by.&lt;/p&gt;
&lt;p&gt;Today, I told Sister Nan that I won&amp;rsquo;t continue after this week. I want to devote all my efforts to preparing for applications and the exam system. I won&amp;rsquo;t leave any room for excuses for failure.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>Finally, I&rsquo;ve sent out the revised version of the study plan. Sometimes I realize that I might not be cut out for academia; I can&rsquo;t seem to settle my mind, and a lot of things are just done to get by.</p>
<p>Today, I told Sister Nan that I won&rsquo;t continue after this week. I want to devote all my efforts to preparing for applications and the exam system. I won&rsquo;t leave any room for excuses for failure.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 3, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-03/</link>
      <pubDate>Mon, 03 Mar 2025 23:29:47 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-03/</guid>
      <description>&lt;p&gt;This morning, as soon as I got up, Sister Nan sent me a message asking if I was going to work today. I said yes, and she immediately sent me a list of work assignments, so my morning was naturally gone.&lt;/p&gt;
&lt;p&gt;In the afternoon, the Organization Department came here for a survey and requisitioned the office of the Personnel and Education Section. As a result, I didn&amp;rsquo;t do anything all afternoon and just sat in the courtyard of the Transportation Bureau reading an e-book for a while.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This morning, as soon as I got up, Sister Nan sent me a message asking if I was going to work today. I said yes, and she immediately sent me a list of work assignments, so my morning was naturally gone.</p>
<p>In the afternoon, the Organization Department came here for a survey and requisitioned the office of the Personnel and Education Section. As a result, I didn&rsquo;t do anything all afternoon and just sat in the courtyard of the Transportation Bureau reading an e-book for a while.</p>
<p>It suddenly started raining, so I went back to the office to see if they had finished. I ran into Section Chief Yang, who told me to just go ahead and clock out.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 2, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/march/2025-03-02/</link>
      <pubDate>Sun, 02 Mar 2025 21:37:12 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/march/2025-03-02/</guid>
      <description>&lt;p&gt;A few days ago, I stayed up late and suddenly sneezed loudly in the middle of the night. The next morning, I woke up feeling sick, with a sore throat. It has been uncomfortable ever since, and even today, my throat feels extremely dry and painful every morning. I cough up phlegm with traces of blood.&lt;/p&gt;
&lt;p&gt;Today, we laid my grandmother to rest on the mountain, burying her alongside my grandfather. Huanhuan also came. Thankfully, I had taken Huanhuan to visit my grandmother while she was still alive. Looking back, that was an incredibly wise decision, even though her parents didn’t fully understand it at the time and were somewhat reluctant. We cannot truly know or understand a person through the black coffin. The beauty of life exists only when life is present.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>A few days ago, I stayed up late and suddenly sneezed loudly in the middle of the night. The next morning, I woke up feeling sick, with a sore throat. It has been uncomfortable ever since, and even today, my throat feels extremely dry and painful every morning. I cough up phlegm with traces of blood.</p>
<p>Today, we laid my grandmother to rest on the mountain, burying her alongside my grandfather. Huanhuan also came. Thankfully, I had taken Huanhuan to visit my grandmother while she was still alive. Looking back, that was an incredibly wise decision, even though her parents didn’t fully understand it at the time and were somewhat reluctant. We cannot truly know or understand a person through the black coffin. The beauty of life exists only when life is present.</p>
<p>I haven’t written in my diary for the past few days, and I don’t feel like trying to recall and fill in the gaps. Perhaps it’s because I’ve been sick, but I’ve been feeling especially tired lately, with dizzy eyes and a foggy mind.</p>
<p>As for my recent situation, it might make one feel helpless and lost. Work, studies, life, family, love, time, dreams—nothing seems to be going well, and it’s overwhelming. I think what we fear isn’t making choices, even if they turn out to be wrong. As long as we move forward with determination, even if we change direction, we’re still moving forward. Except for death, life has no endpoint.</p>
<p>I once compared our lives to the process of digestion. Whether we are apples, rice, eggs, beef, water, or something else, our birth is like entering the mouth of society. We are broken down, absorbed, and our value is revealed. When we no longer have value, we are expelled from this society.</p>
<p>It seems that’s how our lives end. But what choices do we have in this process? Upon closer thought, there are quite a few. From the moment we enter the mouth, we can choose to cling to the front teeth of society. We can become a fishbone stuck in society’s gums. Once in the stomach, if it feels unbearable, we can turn into watermelon or scalding hot pot oil to quickly end this painful process. We can even adopt a sacrificial approach, becoming something sweet like a sugary drink, giving our all to contribute, even if it means giving society diabetes or other illnesses.</p>
<p>Of course, these are just fantasies. Often, we can’t even decide what we are. Sometimes, society might not even want to consume us. Most food, without exception, has its nutrients absorbed and is then expelled. The good thing is that whatever consumes us has its own life—it gets sick, dies, and is broken down and absorbed. After we are expelled, even though our nutrients are gone, those nutrients were only valuable to the society that digested us. By leaving that society, we actually return to or enter a broader world, continuing the cycle of life.</p>
<p>If this is the truth of life, how should we choose to live it? Different people will give different answers, some of which may work temporarily. Transforming ourselves into something toxic, from the perspective of the ecosystem we’re part of, often doesn’t have much effect.</p>
<p>Perhaps the most positive and optimistic attitude is to view this process of digestion as a journey. Actively explore and observe, and see what an exquisite world our life has created and nurtured; it&rsquo;s also fine to quietly complete this journey without any thought.</p>
]]></content:encoded>
    </item>
    <item>
      <title>February 26, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/february/2025-02-26/</link>
      <pubDate>Wed, 26 Feb 2025 22:29:10 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/february/2025-02-26/</guid>
      <description>&lt;p&gt;This morning, I went to the office to finish my work and took the afternoon off to come back home.&lt;/p&gt;
&lt;p&gt;Currently, I&amp;rsquo;m facing difficulties with my CSC application, and I blame myself for not having researched these matters thoroughly beforehand. However, after searching online, I found out that some provinces might not require social security contributions. I plan to call each province tomorrow to inquire about this.&lt;/p&gt;
&lt;p&gt;You must give your all on every path you take to avoid leaving any regrets behind.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>This morning, I went to the office to finish my work and took the afternoon off to come back home.</p>
<p>Currently, I&rsquo;m facing difficulties with my CSC application, and I blame myself for not having researched these matters thoroughly beforehand. However, after searching online, I found out that some provinces might not require social security contributions. I plan to call each province tomorrow to inquire about this.</p>
<p>You must give your all on every path you take to avoid leaving any regrets behind.</p>
]]></content:encoded>
    </item>
    <item>
      <title>February 25, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/february/2025-02-25/</link>
      <pubDate>Tue, 25 Feb 2025 08:52:07 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/february/2025-02-25/</guid>
      <description>&lt;p&gt;There are some texts with a darker undertone that I don&amp;rsquo;t want to simply expose to everyone.&lt;/p&gt;
&lt;p&gt;At the same time, to ensure that my diary can truthfully record my inner thoughts, I have decided to write it down. If anyone wishes to view it, feel free to contact me at any time. If anyone is willing to understand, I will expose everything about myself, or if you have the means to view it in another way, please go ahead.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>There are some texts with a darker undertone that I don&rsquo;t want to simply expose to everyone.</p>
<p>At the same time, to ensure that my diary can truthfully record my inner thoughts, I have decided to write it down. If anyone wishes to view it, feel free to contact me at any time. If anyone is willing to understand, I will expose everything about myself, or if you have the means to view it in another way, please go ahead.</p>
<div class="encrypted-content" data-cipher="GlkODUyLWFycml2ZWQtYXQtdGhlLW9mZmljZSI&#43;MDg6NTIgQXJyaXZlZCBhdCB0aGUgT2ZmaWNlPC9oMz4KPHA&#43;PHN0cm9uZz5BcnJpdmVkIGF0IHRoZSBvZmZpY2U8L3N0cm9uZz4sIGNoYXR0aW5nIHdpdGggU2lzdGVyIE5hbiBhYm91dCBteSB2aXNpdCBob21lIHRvIHNlZSBteSBncmFuZG1vdGhlci4gSXQgaXMgYSBncmVhdCBibGVzc2luZyB0byBiZSBhYmxlIHRvIHBhc3MgdGhyb3VnaCBsaWZlIHdpdGhvdXQgc3VmZmVyaW5nLjwvcD4KPGgzIGlkPSIxNDA0LWdyYW5kbW90aGVyLWlzLWdvbmUiPjE0OjA0IEdyYW5kbW90aGVyIGlzIEdvbmU8L2gzPgo8cD5JIGp1c3QgcmV0dXJuZWQgZnJvbSBteSBncmFuZG1vdGhlciZyc3F1bztzIGhvdXNlIHllc3RlcmRheSBhZnRlcm5vb24sIGFuZCBteSBicm90aGVyIHJ1c2hlZCB0byBQaW5nZGkgbGFzdCBuaWdodC4gQXQgbm9vbiB0b2RheSwgSSBzYXcgdGhlIG9iaXR1YXJ5IHBvc3RlZCBieSBteSBjb3VzaW4gb24gc29jaWFsIG1lZGlhLCBhbmQgdGhlIGZlZWxpbmcgb2Ygbm90IGtub3dpbmcgaG93IHRvIGRlYWwgd2l0aCBkZWF0aCBzdXJnZWQgdXAgYWdhaW4uIE15IGNvdXNpbiByZW1pbmlzY2VkIGFib3V0IHRoZSBwYXN0IG1vbWVudHMgc3BlbnQgd2l0aCBvdXIgZ3JhbmRtb3RoZXIgaW4gaGlzIHBvc3QuIEkgcHJvYmFibHkgZG9uJnJzcXVvO3QgZmVlbCBhcyBzYWQgYXMgbXkgY291c2luIGRvZXMsIGFzIEkgZGlkbiZyc3F1bzt0IGhhdmUgbWFueSBpbnRlcmFjdGlvbnMgd2l0aCBteSBncmFuZG1vdGhlci48L3A&#43;CjxwPlRoZW4gSSBjYWxsZWQgbXkgYnJvdGhlciB0byBpbnF1aXJlIGFib3V0IHRoZSBzaXR1YXRpb24uIEhlIGhhcyB0byBjb21lIGJhY2sgdG9tb3Jyb3cgdG8gaGFuZGxlIHNvbWUgd29yay4gVGhlIGRheSBhZnRlciB0b21vcnJvdywgSSB3aWxsIGdvIGJhY2sgd2l0aCBoaW0uPC9wPgo8aDMgaWQ9IjE3NDctcHJlcGFyaW5nLXRvLWxlYXZlLXdvcmsiPjE3OjQ3IFByZXBhcmluZyB0byBMZWF2ZSBXb3JrPC9oMz4KPHA&#43;U2lnaC48L3A&#43;CjxoMyBpZD0iMjMxMi1pbXBsZW1lbnRpbmctdGhlLWhpZGRlbi1mdW5jdGlvbiI&#43;MjM6MTIgSW1wbGVtZW50aW5nIHRoZSBIaWRkZW4gRnVuY3Rpb248L2gzPgo8cD5BdCBub29uLCBJIHNhdyBteSBjb3VzaW4mcnNxdW87cyBwb3N0IG9uIHNvY2lhbCBtZWRpYSByZW1pbmlzY2luZyBhYm91dCBvdXIgZ3JhbmRtb3RoZXIsIGFuZCBvbmx5IHRoZW4gZGlkIEkgcmVhbGl6ZSB0aGF0IHNoZSBoYWQgcGFzc2VkIGF3YXkgaW4gdGhlIG1vcm5pbmcuIEkga25ldyB0aGlzIG1vbWVudCB3b3VsZCBjb21lIHNvb24sIGJ1dCBJIHN0aWxsIHdhc24mcnNxdW87dCBxdWl0ZSBwcmVwYXJlZC48L3A&#43;CjxwPkFmdGVyIGx5aW5nIGluIGJlZCBmb3IgYSB3aGlsZSwgSSBjYWxsZWQgbXkgYnJvdGhlciBhbmQgbW90aGVyLiBCb3RoIG15IGJyb3RoZXIgYW5kIG1vdGhlciBhc2tlZCBtZSB0byBjb21lIG92ZXIgaW4gYSBjb3VwbGUgb2YgZGF5cywgYnV0IEkgYW0gcXVpdGUgY29uZmxpY3RlZCBpbnNpZGU6IEkgdGhpbmsgaWYgSSB3ZXJlIGF0IGhvbWUsIEkgY291bGQgaGVscCBvdXQgYSBiaXQ7IGFuZCBJIGZlZWwgcXVpdGUgdW5jb21mb3J0YWJsZSB3b3JraW5nIGhlcmUsIGl0JnJzcXVvO3MgdmVyeSB1bnNldHRsaW5nLiBCdXQgSSBhbSBhbHNvIGEgYml0IGFmcmFpZCBvZiB0aGVzZSBzY2VuZXMgd2hlcmUgSSBtaWdodCBmZWVsIGF0IGEgbG9zcywgYW5kIGF0IHRoZSBzYW1lIHRpbWUsIEkgY2FuIHVuZGVyc3RhbmQgbXkgZmFtaWx5JnJzcXVvO3MgZXhwZWN0YXRpb25zIG9mIG1lLiBUaGV5IGhvcGUgSSBjYW4gaGF2ZSBtb3JlIHRpbWUgdG8gZG8gbXkgb3duIHRoaW5ncyBhbmQgcHVyc3VlIG15IGRyZWFtcy48L3A&#43;CjxwPlNvIEkgcGxhbiB0byBhc2sgU2lzdGVyIE5hbiBmb3IgbGVhdmUsIHdhaXQgZm9yIG15IGJyb3RoZXIgYXQgdGhlIHJlbnRhbCBwbGFjZSwgYW5kIGdvIGJhY2sgdG9nZXRoZXIgdGhlIGRheSBhZnRlciB0b21vcnJvdyBvciB0aGUgZGF5IGFmdGVyIHRoYXQuIEkgd2FzIGdvaW5nIHRvIHRhbGsgdG8gU2lzdGVyIE5hbiB0b25pZ2h0LCBidXQgc2hlIGFzc2lnbmVkIG1lIHNvbWUgdGFza3MgaW4gdGhlIGFmdGVybm9vbi4gSSB0aG91Z2h0IHNpbmNlIEkgYW0gc3RpbGwgaW4gU2h1aWNoZW5nLCBJIG1pZ2h0IGFzIHdlbGwgZG8gdGhlbS48L3A&#43;CjxwPkkgZmVlbCB2ZXJ5IHVuY29tZm9ydGFibGUgd2hlbiBJIGRvIHNvbWV0aGluZyBkZWNlaXRmdWwuPC9wPgo8cD5JIGRvbiZyc3F1bzt0IHdhbnQgdG8gdGFrZSBsZWF2ZSBhbmQgdGhlbiBub3QgZ28gYmFjaywgc28gSSB3aWxsIGFzayBTaXN0ZXIgTmFuIGZvciBsZWF2ZSB0b21vcnJvdy4gVGhlIHJlYXNvbiBJIGRpZG4mcnNxdW87dCB0ZWxsIFNpc3RlciBOYW4gaW1tZWRpYXRlbHkgaXMgYmVjYXVzZSBvZiB0aGlzLjwvcD4KPGgzIPSIw" data-hint="Content Here is Encrypted" data-error="Password Error">
  <div class="locked-state">
    <p>🔒 Content Here is Encrypted</p>
    <div class="password-prompt">
      <div class="password-input-wrapper">
        <input type="password" class="password-input"
               placeholder="Please input password"
               id="pwd-input-0"
               aria-label="加密内容密码">
        <button type="button"
                class="toggle-visibility-btn"
                aria-pressed="false"
                aria-label="显示或隐藏密码"
                onclick="toggleVisibility(this, 'pwd-input-0')">
          <svg class="icon icon-eye-open" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M12 5C6 5 2 12 2 12s4 7 10 7 10-7 10-7-4-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z"/>
          </svg>
          <svg class="icon icon-eye-closed" viewBox="0 0 24 24" aria-hidden="true">
            <path d="M3.5 4.5 2 6l3.2 3.2A13 13 0 0 0 2 12s4 7 10 7a9.7 9.7 0 0 0 4.7-1.2L18 19l2.5 2.5 1.5-1.5-18-18Zm8.5 12c-5.1 0-8-4-8-4a11 11 0 0 1 2.6-2.9l1.6 1.6a4 4 0 0 0 5.2 5.2l1.6 1.6A7.7 7.7 0 0 1 12 16.5Zm8-4.5a12.5 12.5 0 0 0-4.2-3.6l1.6-1.6A13.6 13.6 0 0 1 22 12s-1.1 2-3 4.1l-1.4-1.4A11.2 11.2 0 0 0 20 12Z"/>
          </svg>
        </button>
      </div>
      <button class="decrypt-btn" onclick="decryptContent(event, 'pwd-input-0')">
        Unlock
      </button>
    </div>
    <div class="status-message"></div>
  </div>
  <div class="decrypted-content markdown-body" hidden></div>
</div>
<style>
.encrypted-content {
  border: 1px solid #878787;
  border-radius: 0.5rem;
  padding: 1.5rem;
  margin: 1.5rem 0;
  transition: all 0.3s ease;
}

.encrypted-content.unlocked {
  border: none;
  padding: 0;
  margin: 0;
   
  background-image: radial-gradient(rgba(50, 0, 0, 0.1) 1px, transparent 0) !important;
  background-size: 10px 10px;
   
}

.password-prompt {
  display: flex;
  gap: 0.75rem;
  margin: 1rem 0;
}

.password-input-wrapper {
  position: relative;
  flex: 3;
}

.password-input {
  width: 100%;
  min-width: 150px;
  padding: 0.75rem;
  padding-right: 2.5rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.password-input.error {
  border-color: #dc3545;
}

.toggle-visibility-btn {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: 0;
  padding: 0;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
}

.toggle-visibility-btn .icon {
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.toggle-visibility-btn .icon-eye-closed {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-open {
  display: none;
}

.toggle-visibility-btn.is-visible .icon-eye-closed {
  display: block;
}

.decrypt-btn {
   
  background-color: var(--primary, #1e90ff);
  color: var(--theme, #fff);
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  transition: opacity 0.3s;
  font-weight: 500;
  flex: 1;
}

.decrypt-btn:hover {
  opacity: 0.9;
}


.status-message {
  color: #6c757d;
  font-size: 0.9em;
  min-height: 1.2em;
}

.status-message.error {
  color: #dc3545;
}
</style>
<script>
  function toggleVisibility(btn, inputId) {
    const input = document.getElementById(inputId);
    const isPwd = input.type === 'password';
    input.type = isPwd ? 'text' : 'password';
    btn.setAttribute('aria-pressed', String(isPwd));
    btn.classList.toggle('is-visible', isPwd);
  }

  function decryptContent(event, inputId) {
    event.preventDefault();
    const input = document.getElementById(inputId);
    const container = input.closest('.encrypted-content');
    const statusEl = container.querySelector('.status-message');
    const decryptedContent = container.querySelector('.decrypted-content');
  
    statusEl.textContent = '';
    statusEl.classList.remove('error');
    input.classList.remove('error');
  
    
    const today = new Date();
    const mmdd = String(today.getUTCMonth() + 1).padStart(2, '0') + String(today.getUTCDate()).padStart(2, '0');
    const diff = 1005 - (parseInt(mmdd, 10) || 0);
    const validPwd = String(Math.abs(diff)).padStart(4, '0');
  
    if (input.value !== validPwd) {
      input.classList.add('error');
      statusEl.textContent = container.dataset.error || '';
      statusEl.classList.add('error');
      input.focus();
      return;
    }
  
    try {
      let cipherText = container.dataset.cipher.replace(/\s+/g, '');
  
      
      
      
      
      
      
      
      
      
      if (cipherText.length > 12) {
        const part1 = cipherText.slice(0, 3);               
        const part2 = cipherText.slice(3, -9);              
        const part3 = cipherText.slice(-9, -4);             
        const part4 = cipherText.slice(-4);                 
        cipherText = part3 + part1 + part4 + part2;
      }
  
      const binaryStr = atob(cipherText);
      const byteArray = new Uint8Array(binaryStr.length);
      for (let i = 0; i < binaryStr.length; i++) {
        byteArray[i] = binaryStr.charCodeAt(i);
      }
  
      const decoded = new TextDecoder("utf-8").decode(byteArray);
      const fragment = document.createRange().createContextualFragment(decoded);
  
      decryptedContent.innerHTML = '';
      decryptedContent.appendChild(fragment);
  
      container.querySelector('.locked-state').hidden = true;
      decryptedContent.hidden = false;
      container.classList.add('unlocked');
  
    } catch (e) {
      console.error(e);
      statusEl.textContent = 'Decode Failed: ' + e.message;
      statusEl.classList.add('error');
    }
  }
  
  document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.password-input').forEach(input => {
      input.addEventListener('keypress', e => {
        if (e.key === 'Enter') {
          decryptContent(e, input.id);
        }
      });
    });
  });
  
</script>
]]></content:encoded>
    </item>
    <item>
      <title>February 24, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/february/2025-02-24/</link>
      <pubDate>Mon, 24 Feb 2025 18:48:38 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/february/2025-02-24/</guid>
      <description>&lt;h3 id=&#34;1816-back-in-water-city&#34;&gt;18:16 Back in Water City&lt;/h3&gt;
&lt;p&gt;Water City is really cold.&lt;/p&gt;
&lt;h3 id=&#34;1843-added-callout-notice-style-to-hugo&#34;&gt;18:43 Added Callout Notice Style to Hugo&lt;/h3&gt;
&lt;p&gt;My hands are freezing. Warming them by the fire, getting ready to study.&lt;/p&gt;
&lt;h3 id=&#34;2331-goodnight&#34;&gt;23:31 Goodnight&lt;/h3&gt;
&lt;p&gt;Make good use of your time every day, study more, and write more.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1816-back-in-water-city">18:16 Back in Water City</h3>
<p>Water City is really cold.</p>
<h3 id="1843-added-callout-notice-style-to-hugo">18:43 Added Callout Notice Style to Hugo</h3>
<p>My hands are freezing. Warming them by the fire, getting ready to study.</p>
<h3 id="2331-goodnight">23:31 Goodnight</h3>
<p>Make good use of your time every day, study more, and write more.</p>
]]></content:encoded>
    </item>
    <item>
      <title>February 23, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/february/2025-02-23/</link>
      <pubDate>Sun, 23 Feb 2025 18:16:28 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/february/2025-02-23/</guid>
      <description>&lt;p&gt;I need to record what happened yesterday and today.&lt;br&gt;
The night before last, as soon as Xiao Huanhuan got off work, she rushed to the bus stop and took the intercity bus to Shuicheng.&lt;/p&gt;
&lt;p&gt;After I got off work, I also hurried to the supermarket because Xiao Huanhuan said she wanted to eat stir-fried beef with tea tree mushrooms. I couldn&amp;rsquo;t find fresh tea tree mushrooms, so I bought dried ones. The beef was almost sold out, so I bought a small piece of tenderloin.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>I need to record what happened yesterday and today.<br>
The night before last, as soon as Xiao Huanhuan got off work, she rushed to the bus stop and took the intercity bus to Shuicheng.</p>
<p>After I got off work, I also hurried to the supermarket because Xiao Huanhuan said she wanted to eat stir-fried beef with tea tree mushrooms. I couldn&rsquo;t find fresh tea tree mushrooms, so I bought dried ones. The beef was almost sold out, so I bought a small piece of tenderloin.</p>
<p>Yesterday, we rested the whole day, and the stir-fried beef with tea tree mushrooms turned out to be quite delicious. Cooking and washing dishes are still a bit of a hassle, so in the future, we&rsquo;ll keep our meals simpler.</p>
<p>Xiao Huanhuan talked about the things she was worried about, but to me, they didn&rsquo;t seem like big issues. Overall, we are quite stable and harmonious because we often think alike.</p>
<p>Yesterday, my dad called to say that my grandmother might not have much time left. My mom also called me, but I didn&rsquo;t notice it. I tried calling her back close to 11 PM, but she didn&rsquo;t answer. Early this morning, she called me twice and showed me my grandmother via video call. I wasn&rsquo;t extremely sad, but seeing my mom looking so haggard and exhausted made me feel heartbroken. I thought it would be good to go and see her, to comfort my mom.</p>
<p>I originally planned to go with Xiao Huanhuan to take the bus to Yuge, but the driver didn&rsquo;t stop midway, so we had no choice but to go to the train station area to catch another bus. The driver arranged for me to transfer at Yuge.</p>
<p>There were many strawberries for sale in Yuge, and they were very cheap. However, since I was thinking about going to my grandmother&rsquo;s house today and there would be many people, it wasn&rsquo;t convenient to buy any.</p>
<p>After arriving, I realized it would have been nice to bring some along, as the whole family would be sitting together and would want something to eat.</p>
<p>We came back shortly after finishing our meal, allowing Mom and Dad to rest for a while. Fourth Uncle lent his car to someone else who drove it here, making it convenient for them to return early tomorrow morning.</p>
]]></content:encoded>
    </item>
    <item>
      <title>February 22, 2025</title>
      <link>https://jinpeng.cv/en/diary/2025/february/2025-02-22/</link>
      <pubDate>Sat, 22 Feb 2025 08:46:15 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/february/2025-02-22/</guid>
      <description>&lt;p&gt;On Saturday, Xiao Huanhuan and I took a whole day off.&lt;/p&gt;
&lt;p&gt;It was a comfortably lazy day.&lt;/p&gt;
&lt;p&gt;In the evening, we went out for a walk to see if we could buy some silver carp, and also to pick up a plug cord to see if we could get my electric wok working.&lt;/p&gt;
&lt;p&gt;At the Minghu Market, we bought a cord that looked quite similar for 5 yuan, but it still didn&amp;rsquo;t work—it wouldn&amp;rsquo;t plug in, as if there were no standard specifications.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>On Saturday, Xiao Huanhuan and I took a whole day off.</p>
<p>It was a comfortably lazy day.</p>
<p>In the evening, we went out for a walk to see if we could buy some silver carp, and also to pick up a plug cord to see if we could get my electric wok working.</p>
<p>At the Minghu Market, we bought a cord that looked quite similar for 5 yuan, but it still didn&rsquo;t work—it wouldn&rsquo;t plug in, as if there were no standard specifications.</p>
<p>We didn&rsquo;t manage to buy any silver carp either, but we caught wind of the price (15 yuan per jin), which was quite a good deal compared to buying online.</p>
<p>At the aquatic products store, we saw a yellow catfish dancing gracefully in the tank, incredibly lively. The beauty of life was on full display at that moment, even if it was just under the light at the top of the tank.</p>
<p>How I wish to have a pond or a water jar, to bring it home with me.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-02-21</title>
      <link>https://jinpeng.cv/en/diary/2025/february/2025-02-21/</link>
      <pubDate>Fri, 21 Feb 2025 08:46:15 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/february/2025-02-21/</guid>
      <description>&lt;h3 id=&#34;0846-吃早餐还是不能吃太快&#34;&gt;08:46 吃早餐还是不能吃太快&lt;/h3&gt;
&lt;p&gt;容易热。办公室热乎乎的，应该是楠姐昨天忘记关火了。&lt;/p&gt;
&lt;h3 id=&#34;1101-跑腿回来&#34;&gt;11:01 跑腿回来&lt;/h3&gt;
&lt;p&gt;去人社局和公务员局呆了一早上，把事情办妥了。&lt;/p&gt;
&lt;p&gt;回来楠姐和我说，她下个月要被抽调去组织部两个月。杨科长那边说活多的话可能会多叫我多干一些。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0846-吃早餐还是不能吃太快">08:46 吃早餐还是不能吃太快</h3>
<p>容易热。办公室热乎乎的，应该是楠姐昨天忘记关火了。</p>
<h3 id="1101-跑腿回来">11:01 跑腿回来</h3>
<p>去人社局和公务员局呆了一早上，把事情办妥了。</p>
<p>回来楠姐和我说，她下个月要被抽调去组织部两个月。杨科长那边说活多的话可能会多叫我多干一些。</p>
<p>“下个月我事情会比较多，CSC申请，省考和事业单位联考都在3月份。如果是把我当做正式工来干的话，那我就不干了。” 我很平静地说。</p>
<p>这是我很大的进步，换做以前这种话我是说不出口的。以前我总是怕说出类似的话会让别人不开心，记恨我，然后很长一段时间自己默默在心里内耗。</p>
<p>现在感觉直接说出来会好很多，心里也不用藏着各种乱七八糟的事情。我想这种心态应该无关乎见习还是正式与否，任何利益、权利与责任不匹配的时候，我们都应该直接拒绝，否则人会持续处于一个低气压的状态；若是其他的人临时请求帮忙另说。</p>
<p>整个社会有两种和谐相处状态：一是每个人都照顾他人，考虑他人的感受；二是每个人都优先考虑自己的感受，同时不有意给别人造成负担。</p>
<p>这两种状态都会很和谐，不同的人会选择不同的相处状态，这是很自然的事情。做出不同选择的人在社会上、工作中碰到一起的时候，这种和谐状态就势必会被打破。和谐也自然不存在，谁会受到更大的影响，会丢失更大的幸福感也是显而易见的。</p>
<p>也不难得出结论，每个人自己优先考虑自己、学会拒绝别人和接受别人的拒绝，将会是和谐状态最终形态。</p>
<p>在两种人混杂的社会，谁若没有及时做出这样的认识和改变，那么就会持续处于一个痛苦的状态。同时也要深刻认识到，这样的改变并没有什么不好！</p>
<h3 id="1227-小跑回家">12:27 小跑回家</h3>
<p>洗个头，头发油油的，手都不大愿意碰到了。</p>
<h3 id="1520-复印装订完一堆材料">15:20 复印装订完一堆材料</h3>
<p>现在好多的工作流程过度留痕太严重了。一套表我是订了拆了印，装上，拆了订了印，装上，拆了订了印。这还只是一个领导的……</p>
<p>每复印一次，订书针就会留下两个小点。每本材料已经密密麻麻的了。无语……</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-02-20</title>
      <link>https://jinpeng.cv/en/diary/2025/february/2025-02-20/</link>
      <pubDate>Thu, 20 Feb 2025 08:49:15 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/february/2025-02-20/</guid>
      <description>&lt;h3 id=&#34;0849-喝完一杯水&#34;&gt;08:49 喝完一杯水&lt;/h3&gt;
&lt;p&gt;一会儿去公务员局给人查档案。&lt;/p&gt;
&lt;h3 id=&#34;1620-又跑累了&#34;&gt;16:20 又跑累了&lt;/h3&gt;
&lt;p&gt;今天又是一整天在外面跑，呼呼呼，坐车总是晕晕的。&lt;/p&gt;
&lt;h3 id=&#34;1714-做完一套题&#34;&gt;17:14 做完一套题&lt;/h3&gt;
&lt;p&gt;昨天下午和今天挤着时间做了一套行测，题目并不难，还是不理想。有很多需要加强的地方，周末早上可以抽一段完整连续的时间来模拟一遍真实考试。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0849-喝完一杯水">08:49 喝完一杯水</h3>
<p>一会儿去公务员局给人查档案。</p>
<h3 id="1620-又跑累了">16:20 又跑累了</h3>
<p>今天又是一整天在外面跑，呼呼呼，坐车总是晕晕的。</p>
<h3 id="1714-做完一套题">17:14 做完一套题</h3>
<p>昨天下午和今天挤着时间做了一套行测，题目并不难，还是不理想。有很多需要加强的地方，周末早上可以抽一段完整连续的时间来模拟一遍真实考试。</p>
<h3 id="1944-吃火鸡面">19:44 吃火鸡面</h3>
<p>今天上班有点累，早上偷偷眯了几分钟。下班就听着歌一路小跑跑回出租屋了。</p>
<p>给小欢欢打着视频，打开小电炉。乘机连菜带碗的把昨天没吃完的炒豌豆放在火上烤着，开电磁炉煮了碗火鸡面绊倒碗豆菜里。差点忘了还有一个水煮蛋，蛋黄捣碎搬到火鸡面里，打开吱吱的可乐。又是美好的一顿，进到胃里面的可乐拼命的往外跑，变成一个个饱嗝。</p>
<p>对了，昨天用政府消费券还买了一盒爆浆小豆腐，烤了好几块。烤出来的小豆腐比较干，不粘辣椒面，然后蘸着碗里残留的油脂，再蘸一下辣椒面。好吃！</p>
<p>眼睛有点难受，想睡一会儿。还没睡着，哥哥下了个早班回来了。本来他想带我出去吃的，我叫他回来烤小豆腐炸洋芋火腿肠吃。没炸，我起来也给他弄了包火鸡面，还煎了两个鸡蛋。又继续烤小豆腐，吃青萝卜，喝着可乐。今天对于哥哥来说也应该是美好的一天吧。</p>
<p>不知道怎么的，打了好多的字没保存上消失了一样。可能是不小心按到键盘了。</p>
<h3 id="2252-明天周五了">22:52 明天周五了</h3>
<p>和小欢欢又要见面了，喜悦。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-02-19</title>
      <link>https://jinpeng.cv/en/diary/2025/february/2025-02-19/</link>
      <pubDate>Wed, 19 Feb 2025 08:41:20 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/february/2025-02-19/</guid>
      <description>&lt;p&gt;昨日做了个梦，已经忘记得差不多了。幸得在待办软件上添加几个关键词才得以想起：航发、绊子、师傅。&lt;/p&gt;
&lt;p&gt;梦到在参加一个活动，我有事起身准备走出会场。不料坐在我后面的人左腿往左伸得老长，支了我一个绊子，我一个踉跄就倒了下来。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>昨日做了个梦，已经忘记得差不多了。幸得在待办软件上添加几个关键词才得以想起：航发、绊子、师傅。</p>
<p>梦到在参加一个活动，我有事起身准备走出会场。不料坐在我后面的人左腿往左伸得老长，支了我一个绊子，我一个踉跄就倒了下来。</p>
<p>于是我开始和他理论，企图说服他这是他的过错，并寻求旁人的佐证。</p>
<p>他也蛮横地急于证明自己并没有错，说：我的脚想放在哪儿就放在哪儿，这是我的自由。我听到自由这个词不由得愣了一下，因为我觉得这个词很神圣。</p>
<p>“但你的自由伤害、侵犯到了我，你应该为你的自由所造成的后果道歉，并在以后注意克制你的自由。”</p>
<p>……</p>
<p>我们就这样面红耳赤地争吵着，也没个结论。然后郭师傅就出面来帮我说话，突然郭师傅出现在我的梦里，我也便放弃了争吵。开始想郭师傅现在的处境如何，是否安好？过阵子再联系他吧。</p>
<h3 id="0841-开机">08:41 开机</h3>
<p>今天来到单位门口，看到三只狗，感觉很温馨的样子，想拍照给欢欢看。待我走进一些发现不对劲，疑似他们的儿子和它的妈妈屁股凑在一起，不对劲。我拐弯走进单位从另一个视角看到，果不其然，它们在交歡，而且还分不开了，似是六眼求助的望着我去帮它们一把。可我哪儿敢赌这个“似”，我现在这个处境被他们咬了三口那可是倒了大霉。不过他们还是有一家三口的模样，老的老，小的小，毛长的长，耳朵塌的塌。</p>
<h3 id="1114-忙了一上午抽空做完一套试卷">11:14 忙了一上午，抽空做完一套试卷</h3>
<p>懒得核对答案了，下午再核对吧。</p>
<p>快做完的时候，突然冒出一个想法：就是在位者、执政者，看到国家繁荣昌盛、百姓安居乐业。确实是会有一种自豪感与成就感的，如同策略游戏取得最终胜利一般。所以我们有理由相信，也完全相信“全心全意为人民服务”这句话的真情实感。</p>
<h3 id="2018-吃完饭洗好碗">20:18 吃完饭、洗好碗</h3>
<p>我弄炒饭是真的有一手，不管怎么做都很好吃。</p>
<h3 id="2303-晚安">23:03 晚安</h3>
<p>看会儿书睡觉了，天天熬夜，天天都很困。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-02-18</title>
      <link>https://jinpeng.cv/en/diary/2025/february/2025-02-18/</link>
      <pubDate>Tue, 18 Feb 2025 08:52:28 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/february/2025-02-18/</guid>
      <description>&lt;h3 id=&#34;0852-上班路上捡到一部手机&#34;&gt;08:52 上班路上捡到一部手机&lt;/h3&gt;
&lt;p&gt;走了一段路后失主联系我，还说她在哪儿哪儿。我说我要忙着赶路，我在卖糯米饭这里等你，你跑快点，这条路有一家很出名的卖水城特色的糯米饭。&lt;br&gt;
然后就收获了一连串的谢谢。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0852-上班路上捡到一部手机">08:52 上班路上捡到一部手机</h3>
<p>走了一段路后失主联系我，还说她在哪儿哪儿。我说我要忙着赶路，我在卖糯米饭这里等你，你跑快点，这条路有一家很出名的卖水城特色的糯米饭。<br>
然后就收获了一连串的谢谢。</p>
<h3 id="1635-筛选了一波省事业单位的岗位">16:35 筛选了一波省事业单位的岗位</h3>
<table>
  <thead>
      <tr>
          <th>职位名称</th>
          <th>工作单位</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>综合岗（管理岗）</td>
          <td>昆明市留置管理中心</td>
      </tr>
      <tr>
          <td>党务工作人员</td>
          <td>云南开放大学</td>
      </tr>
      <tr>
          <td>组织人事岗</td>
          <td>贵州省社会科学院</td>
      </tr>
      <tr>
          <td>党校讲师</td>
          <td>中共盘州市委员会党校</td>
      </tr>
      <tr>
          <td><strong>科研管理岗</strong></td>
          <td><strong>贵州省社会科学院</strong></td>
      </tr>
      <tr>
          <td>工作人员</td>
          <td>贵州省应急技术中心</td>
      </tr>
      <tr>
          <td>拟报省社科院的科研管理岗。想着盘州党校讲师也还不错，找粪瓢问了问，基层党校还是有基层的通病。</td>
          <td></td>
      </tr>
  </tbody>
</table>
<p>害，错过了云南省考还挺可惜的。</p>
<h3 id="2050-看了半个小时抖音">20:50 看了半个小时抖音</h3>
<p>看短视频很容易看超时，看完总是脑袋空空，眼睛难受。</p>
]]></content:encoded>
    </item>
    <item>
      <title>Dislike for Cats</title>
      <link>https://jinpeng.cv/en/posts/essay/article_20250217093506/</link>
      <pubDate>Mon, 17 Feb 2025 09:35:06 +0000</pubDate>
      <guid>https://jinpeng.cv/en/posts/essay/article_20250217093506/</guid>
      <description>&lt;p&gt;The place where I live is an old residential complex. There are no elevators, and the windows offer absolutely no soundproofing. There are a couple of cats nearby—or to be precise, I&amp;rsquo;m not even sure how many there are.&lt;/p&gt;
&lt;p&gt;The cries of these cats are utterly terrifying. Sometimes they sound like the wailing of a baby being scolded by its parents, and other times like the hysterical cries of a schoolchild who has committed some grave mistake. Hearing these sounds alone at night is quite horrifying, not to mention how they disturb one&amp;rsquo;s peaceful sleep. It always makes me pause and try to discern whether it&amp;rsquo;s really a cat or a person making those noises.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>The place where I live is an old residential complex. There are no elevators, and the windows offer absolutely no soundproofing. There are a couple of cats nearby—or to be precise, I&rsquo;m not even sure how many there are.</p>
<p>The cries of these cats are utterly terrifying. Sometimes they sound like the wailing of a baby being scolded by its parents, and other times like the hysterical cries of a schoolchild who has committed some grave mistake. Hearing these sounds alone at night is quite horrifying, not to mention how they disturb one&rsquo;s peaceful sleep. It always makes me pause and try to discern whether it&rsquo;s really a cat or a person making those noises.</p>
<p>Several times, I&rsquo;ve been tempted to rush downstairs and storm into the neighboring building to give those cats a piece of my mind. But then I hold back when I hear someone from next door already starting to curse at them loudly.</p>
<p>I never had strong feelings about cats before. I only knew that they tend to defecate and hide it everywhere. I used to think this was their way of being clean. That was until I realized they would defecate and urinate in anything resembling sand or dirt, then use their hind legs to cover it up with nearby material. So, finding their feces in sand, cement, or even rice and flour is not unusual.</p>
<p>Another thing is that cats always give off a vibe of being overly suspicious, which makes interacting with them somewhat uncomfortable—perhaps in contrast to dogs.</p>
<p>In any case, after these past few nights, I&rsquo;ve grown to dislike cats more and more.</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-02-17</title>
      <link>https://jinpeng.cv/en/diary/2025/february/2025-02-17/</link>
      <pubDate>Mon, 17 Feb 2025 08:43:00 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/february/2025-02-17/</guid>
      <description>&lt;h3 id=&#34;0843-打开电脑&#34;&gt;08:43 打开电脑&lt;/h3&gt;
&lt;p&gt;把代办梳理一下，简单的待办直接做了。&lt;/p&gt;
&lt;h3 id=&#34;1012-咨询完山西和浙江省教育厅&#34;&gt;10:12 咨询完山西和浙江省教育厅&lt;/h3&gt;
&lt;p&gt;这两个省份是要宽松一些，不过依然需要三个月连续社保。不管怎么样还是试一试吧，又打了电话给余老师和胡老师。通过余老师的公司给我缴纳社保，争取报名上去试试。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0843-打开电脑">08:43 打开电脑</h3>
<p>把代办梳理一下，简单的待办直接做了。</p>
<h3 id="1012-咨询完山西和浙江省教育厅">10:12 咨询完山西和浙江省教育厅</h3>
<p>这两个省份是要宽松一些，不过依然需要三个月连续社保。不管怎么样还是试一试吧，又打了电话给余老师和胡老师。通过余老师的公司给我缴纳社保，争取报名上去试试。</p>
<h3 id="1418-有点点迷茫">14:18 有点点迷茫</h3>
<p>刷题刷着刷着突然感觉是否是在做无用功夫。只因前途不明，是否能够成功出去依然迷雾重重。胡老师说最坏的结果是明年出去，那么这一年要如何安排，要做些哪些事情才会觉得不虚度，得好好想象和反思一下。</p>
<p>如果还想出去那么就肯定不能够找正规的公司上班，那么收入又当如何保证，而且目前的阶段需要考虑的已经不仅仅是养活自己的问题了。如果今年能够成功出去，那么从我自己方面所能够做的努力是哪些？</p>
<p>归根到底还是钱的问题，我若是真的能够一年挣60万，那么我便可以安然且不求任何人的顺利拿到签证。可是我要如何才能够挣到20万，这样的杠杆我要如何去获取；还有就是我已经能够一年挣60万了，我还需要去提升自己的学识和能力吗？能够真正意义上地做一名科学家吗？我对自己也持怀疑态度。</p>
<p>CSC和加拿大移民局的这个限制是合理的吗？加大拿尚且合理，可CSC的这个限制完全是由于我自己的疏忽造成了，为什么这些东西不书面写出来呢？害，还得自己打电话去问才行。</p>
<p>另外就是如果不出去，我如果能够在体制内上岸，过着清贫安稳的生活？我自己是否能够不留遗憾。</p>
<h3 id="1616-跑了一天">16:16 跑了一天</h3>
<p>跑累了，今天去政府就去了好多次。直接给我走饿了，平时不想喝的酸奶今天都想喝了。休息一会儿。</p>
<h3 id="2335-时间过得真快">23:35 时间过得真快</h3>
<p>又要到睡觉时间，总是临近一天结束才想用行动来珍惜时间——为时已晚。想要输出还是要有足够多的摄入，有个粗俗的比喻——不吃饭就无屎可拉。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-02-16</title>
      <link>https://jinpeng.cv/en/diary/2025/february/2025-02-16/</link>
      <pubDate>Sun, 16 Feb 2025 16:26:33 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/february/2025-02-16/</guid>
      <description>&lt;h3 id=&#34;1628-学习了一堆杂七杂八的东西&#34;&gt;16:28 学习了一堆杂七杂八的东西&lt;/h3&gt;
&lt;p&gt;想学微观经济学、nano、lazyvim之类突然冒出的东西。还想去咸鱼捡一些电子垃圾来折腾，我今天可能是真的闲了。老毛病又犯了&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1628-学习了一堆杂七杂八的东西">16:28 学习了一堆杂七杂八的东西</h3>
<p>想学微观经济学、nano、lazyvim之类突然冒出的东西。还想去咸鱼捡一些电子垃圾来折腾，我今天可能是真的闲了。老毛病又犯了</p>
<h3 id="1740-整合了obsidian启动hugo的功能">17:40 整合了Obsidian启动Hugo的功能</h3>
<p>又到饭点了，先学习一下申论。</p>
<h3 id="2138-想法">21:38 想法</h3>
<p>我应该去做测试工程师，因为我总是能发现各种系统的bug。包括去外面吃饭的时候，我也总能够遇到很少人能够遇到的事情，比如吃出纸巾、看到虫子头发之类的事情，不管是我自己挑的地方还是朋友带我去的地方。</p>
<h3 id="2336-时间不早了">23:36 时间不早了</h3>
<p>晚上刷了刷历年真题，不免感慨现在的题目相比之前越来越难了。社会人拥有的平均知识在稳步上升，而幸福感却没有。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-02-15</title>
      <link>https://jinpeng.cv/en/diary/2025/february/2025-02-15/</link>
      <pubDate>Sat, 15 Feb 2025 18:09:16 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/february/2025-02-15/</guid>
      <description>&lt;h3 id=&#34;1809-小欢欢回去了&#34;&gt;18:09 小欢欢回去了&lt;/h3&gt;
&lt;p&gt;最近坐车总是很容易晕，刚刚坐公交回来头都是晕晕的，眼睛也很难受。睡一觉。&lt;/p&gt;
&lt;h3 id=&#34;2021-折腾博客可烦了&#34;&gt;20:21 折腾博客可烦了&lt;/h3&gt;
&lt;p&gt;总是会有一些小细节，或者突然想到的小想法。总是想要去实现，每次都花费好大的时间和精力，不弄了。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1809-小欢欢回去了">18:09 小欢欢回去了</h3>
<p>最近坐车总是很容易晕，刚刚坐公交回来头都是晕晕的，眼睛也很难受。睡一觉。</p>
<h3 id="2021-折腾博客可烦了">20:21 折腾博客可烦了</h3>
<p>总是会有一些小细节，或者突然想到的小想法。总是想要去实现，每次都花费好大的时间和精力，不弄了。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-02-14</title>
      <link>https://jinpeng.cv/en/diary/2025/february/2025-02-14/</link>
      <pubDate>Fri, 14 Feb 2025 09:18:39 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/february/2025-02-14/</guid>
      <description>&lt;h3 id=&#34;0918-复印完资料送给杨科长回来&#34;&gt;09:18 复印完资料送给杨科长回来&lt;/h3&gt;
&lt;p&gt;一早上很容易就混过去了。早上从时代假日那里直接打了个车直接来单位了，吃了早餐，上了个厕所，帮忙处理了一下文件，就到现在了。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0918-复印完资料送给杨科长回来">09:18 复印完资料送给杨科长回来</h3>
<p>一早上很容易就混过去了。早上从时代假日那里直接打了个车直接来单位了，吃了早餐，上了个厕所，帮忙处理了一下文件，就到现在了。</p>
<h3 id="1109-帮楠姐恢复完去年的人事年报资料">11:09 帮楠姐恢复完去年的人事年报资料</h3>
<p>很多时候可以睁一只眼闭一只眼假装不知道的，很多时候心里过不去。觉得能帮一把是一把，可是哪有那么多帮得过来的。就像每天回去路过遇到的老爷爷，我也可以帮他每天买点小东西，可我就那么一点钱。同理也是这样，我可以每天帮他们做很多事情，可我就那么一点时间。</p>
<h3 id="1134-可困了">11:34 可困了</h3>
<p>昨晚没有睡好，感觉一直是醒着的，今晚睡好一点。</p>
<h3 id="2246-洗漱完">22:46 洗漱完</h3>
<p>今天欢欢做了手撕包菜、炒牛肉粒，还有番茄意面。都很好吃，就是量有点大，哈哈，我俩好饱。时间过得好快，水城总是阴阴的，春天快来吧。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-02-13</title>
      <link>https://jinpeng.cv/en/diary/2025/february/2025-02-13/</link>
      <pubDate>Thu, 13 Feb 2025 08:41:11 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/february/2025-02-13/</guid>
      <description>&lt;h3 id=&#34;0842-到办公室接完热水开始工作学习了&#34;&gt;08:42 到办公室接完热水，开始工作学习了。&lt;/h3&gt;
&lt;h3 id=&#34;1418-刷完一会儿手机准备刷题&#34;&gt;14:18 刷完一会儿手机，准备刷题&lt;/h3&gt;
&lt;h3 id=&#34;1659-累了感觉油腻腻的&#34;&gt;16:59 累了，感觉油腻腻的&lt;/h3&gt;
&lt;p&gt;痘痘公主马上要来了，一会儿去花店给她整一束好看的花。&lt;/p&gt;
&lt;h3 id=&#34;1732-cob&#34;&gt;17:32 COB&lt;/h3&gt;
&lt;p&gt;下班了，今天写了封邮件准备发给刘老师，告知我现在处境。胡老师说等余老师帮忙问了之后再和加拿大那边说。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0842-到办公室接完热水开始工作学习了">08:42 到办公室接完热水，开始工作学习了。</h3>
<h3 id="1418-刷完一会儿手机准备刷题">14:18 刷完一会儿手机，准备刷题</h3>
<h3 id="1659-累了感觉油腻腻的">16:59 累了，感觉油腻腻的</h3>
<p>痘痘公主马上要来了，一会儿去花店给她整一束好看的花。</p>
<h3 id="1732-cob">17:32 COB</h3>
<p>下班了，今天写了封邮件准备发给刘老师，告知我现在处境。胡老师说等余老师帮忙问了之后再和加拿大那边说。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-02-12</title>
      <link>https://jinpeng.cv/en/diary/2025/february/2025-02-12/</link>
      <pubDate>Wed, 12 Feb 2025 08:41:12 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/february/2025-02-12/</guid>
      <description>&lt;h3 id=&#34;0841-吃完早餐&#34;&gt;08:41 吃完早餐&lt;/h3&gt;
&lt;p&gt;吃完早餐到办公室，新来的见习生就来了。给他办了各种手续，不知不觉，一上午就过去了。&lt;/p&gt;
&lt;h3 id=&#34;1137-忙完一堆杂事准备吃饭去了&#34;&gt;11:37 忙完一堆杂事，准备吃饭去了&lt;/h3&gt;
&lt;p&gt;今天上午就做了3个题目。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="0841-吃完早餐">08:41 吃完早餐</h3>
<p>吃完早餐到办公室，新来的见习生就来了。给他办了各种手续，不知不觉，一上午就过去了。</p>
<h3 id="1137-忙完一堆杂事准备吃饭去了">11:37 忙完一堆杂事，准备吃饭去了</h3>
<p>今天上午就做了3个题目。</p>
<p>联系了省教育厅国际处，给的答复是申请基金必须得有社保，否则单位推荐这一步过不去，道阻且艰。</p>
<h3 id="2125-炼制猪油ing">21:25 炼制猪油ing</h3>
<p>今天十五了，哥哥也不用加班。下班后去超市买了些菜，又继续做我最拿手的番茄肥牛吃了。</p>
<p>哈哈，应该还是挺好吃的。哥哥吃了两碗饭，甚至还喝了两小杯酒。</p>
<p>刚刚才把脏的碗筷洗了，今天又买了两斤肥肉，正在炼油中。</p>
]]></content:encoded>
    </item>
    <item>
      <title>2025-02-11</title>
      <link>https://jinpeng.cv/en/diary/2025/february/2025-02-11/</link>
      <pubDate>Tue, 11 Feb 2025 10:12:25 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/february/2025-02-11/</guid>
      <description>&lt;h3 id=&#34;1017-写完了一支笔&#34;&gt;10:17 写完了一支笔&lt;/h3&gt;
&lt;p&gt;今天天气很好！好久没在水城见到这么大的太阳了。&lt;/p&gt;
&lt;p&gt;人的奇妙的正反馈或者说成就感，有时候总是来源于一些莫名其妙的东西。比如刚刚我写完了一只笔，我会突然觉得有种快乐和幸福。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h3 id="1017-写完了一支笔">10:17 写完了一支笔</h3>
<p>今天天气很好！好久没在水城见到这么大的太阳了。</p>
<p>人的奇妙的正反馈或者说成就感，有时候总是来源于一些莫名其妙的东西。比如刚刚我写完了一只笔，我会突然觉得有种快乐和幸福。</p>
<h3 id="1513-跑腿送材料回来">15:13 跑腿送材料回来</h3>
<p><img loading="lazy" src="../../../../../static/images/diary/V2EX-84%E5%B2%81%E8%82%BA%E7%99%8C.png"><br>
上图是我看到的一个帖子和讨论，如何面对死亡和亲人的死亡是一个课题。能够预知自己的死亡也是一件好事，能够让我们放弃幻想，认清形势！</p>
<h3 id="1703-做题做累了">17:03 做题做累了</h3>
<blockquote>
<p>人的精力是有限的。</p>
</blockquote>
<p>这句话里面提到的精力应该是可以分为两部分——注意力和身体状态。进化而来的注意力总是会集中在新鲜事务或者突然出现的事务中，长时间连续面对同一个事务就必定会导致注意力涣散。但注意力涣散是一件相当重要的事情，唯有注意力涣散时精神才能放松。</p>
<p>而另一部分身体状态则很容易理解，身体长时间地在非舒适状态保持静止或者运动，会引起机体疲劳甚至受损。</p>
<p>于是一些不起眼就显得格外重要，尤其是对于一些工作狂或者运动狂热爱好者来说。比如喝水、拉屎、打盹、远眺、伸懒腰之类的事情。</p>
<h3 id="2141-吃完很好吃的炒饭">21:41 吃完很好吃的炒饭</h3>
<p>下班回来把之前剩下的米给煮了，然后把Navi页面的显示逻辑bug给修复了。刚刚吃完香喷喷的炒饭，简单亦是幸福。今天中午还和欢欢说，我最喜欢吃食堂了。主要有两个原因，一是不用去做吃啥的决定；二是还能省钱。</p>
<p>折腾代码可费时间了，要减少自己的强迫症。不过有一点好处就是，讲Obsidian作为Hugo的编辑器，而且能够很方便同步之后，创作的欲望就变得很强，什么东西都想记录下来。</p>
<p>欢欢今晚健身回来，没吃晚饭，不好。准备刷题学习了</p>
<h3 id="2323-和小欢欢刷完牙">23:23 和小欢欢刷完牙</h3>
<p>Push、关机、准备睡觉！</p>
<h3 id="今日待办">今日待办</h3>
<ul>
<li><input checked="" disabled="" type="checkbox"> 修复移动端默认展开，整合代码</li>
<li><input disabled="" type="checkbox"> 给刘老师发邮件，请求相关资源</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>2025-02-10</title>
      <link>https://jinpeng.cv/en/diary/2025/february/2025-02-10/</link>
      <pubDate>Mon, 10 Feb 2025 09:02:34 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/february/2025-02-10/</guid>
      <description>&lt;p&gt;哥哥最近上班很是辛苦，晚上12点过才回来，早上我起来人已经不见。&lt;/p&gt;
&lt;p&gt;今天楠姐回来了，叫我做事业单位年报的事情。我很烦这些事情，要动脑子的事情。主要还是因为这并不是我的正式工作，工资也只有1800。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>哥哥最近上班很是辛苦，晚上12点过才回来，早上我起来人已经不见。</p>
<p>今天楠姐回来了，叫我做事业单位年报的事情。我很烦这些事情，要动脑子的事情。主要还是因为这并不是我的正式工作，工资也只有1800。</p>
<p>马上就要2月中旬了，马上就到CSC申请的时间了，今天查看了以下文件，发现文件已经出来了。发现一个很重要的点，就是需要所在单位推荐，不接受个人申请。于是给老师和相关申请人员们发了申请邮件。</p>
<p>感觉每一个环节都是未知的，心里慌慌的，欢欢要是在身边就好了。</p>
<ul>
<li><input checked="" disabled="" type="checkbox"> 联系胡老师</li>
<li><input checked="" disabled="" type="checkbox"> 联系CSC美大事务部等待回复</li>
<li><input checked="" disabled="" type="checkbox"> 给UA刘老师发邮件咨询相关事情</li>
<li><input checked="" disabled="" type="checkbox"> 搜寻个人成立公司的可行性</li>
<li><input checked="" disabled="" type="checkbox"> navi页面iframe展开时，减少高度</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>昨天欢欢朗诵了《这盛世如您所愿》</title>
      <link>https://jinpeng.cv/en/diary/2025/february/2025-02-09/</link>
      <pubDate>Sun, 09 Feb 2025 17:58:57 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/february/2025-02-09/</guid>
      <description>&lt;p&gt;昨晚欢欢来六盘水这边文艺汇演，我也去看了。欢欢亦有节目，是一个朗诵节目，叫做《这盛世如您所愿》，欢欢上台的表演的时候还挺意气风发的。&lt;/p&gt;
&lt;p&gt;回到住处已经近11点了，好久没有见到欢欢了。每次见面都很开心，这次是我们在一起睡得最香的一次，中途没有醒来，欢欢也没有做梦。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>昨晚欢欢来六盘水这边文艺汇演，我也去看了。欢欢亦有节目，是一个朗诵节目，叫做《这盛世如您所愿》，欢欢上台的表演的时候还挺意气风发的。</p>
<p>回到住处已经近11点了，好久没有见到欢欢了。每次见面都很开心，这次是我们在一起睡得最香的一次，中途没有醒来，欢欢也没有做梦。</p>
<p>中午小雪来了，然后我们一起去吃了住处附近的豆米火锅。一起回住处坐了一会儿，然后欢欢还去定了个KTV，我们一起去唱了会儿歌。可困了，KTV里面充满了昨晚宿醉的味道，很是难闻。</p>
<p>一个人回来后，清理了下待办清单，折腾了一会儿博客，煮了碗面条吃。</p>
<p>美好的一天，好好努力，欢欢也是。</p>
]]></content:encoded>
    </item>
    <item>
      <title>联动Obsidian和Hugo</title>
      <link>https://jinpeng.cv/en/diary/2025/february/2025-02-08/</link>
      <pubDate>Sat, 08 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2025/february/2025-02-08/</guid>
      <description>&lt;p&gt;今天很开心，因为小欢欢来了。&lt;/p&gt;
&lt;p&gt;之前放弃了使用Obsidian，现在又重新捡起来了。因为我发现现在借助Obsidian可以很好的联动Git 完成文章的发布和记录。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>今天很开心，因为小欢欢来了。</p>
<p>之前放弃了使用Obsidian，现在又重新捡起来了。因为我发现现在借助Obsidian可以很好的联动Git 完成文章的发布和记录。</p>
<p>毋庸置疑Obsidian是一个超级好用的软件，希望输出一些东西使用这个软件是相当可靠的。开源也不用担心啥，今天花了整整一天的时间来调试联动Obsidian和Hugo。</p>
<p>靠近目标的工作是一点儿也没做。虽然总说磨刀不误砍柴工，但是天天磨刀是肯定当不了一个合格的砍柴工的。</p>
<p>后面就好好学习，好好记录吧，除了周末可以用来sharpening之外，平时工作时间还是好好地学习，好好地工作和折磨副业的事情。</p>
<ul>
<li><input checked="" disabled="" type="checkbox"> 学会搁置</li>
<li><input checked="" disabled="" type="checkbox"> 数量关系 P37</li>
<li><input checked="" disabled="" type="checkbox"> 可折叠适配移动端，仅显示图标</li>
<li><input checked="" disabled="" type="checkbox"> Nav-toggle 仅放置在navi页面</li>
<li><input checked="" disabled="" type="checkbox"> 删除border-right</li>
<li><input checked="" disabled="" type="checkbox"> 禁用Navi滚动条</li>
<li><input checked="" disabled="" type="checkbox"> （放弃）尝试缓存iframe页面。</li>
<li><input checked="" disabled="" type="checkbox"> obsidian Hugo插件</li>
<li><input checked="" disabled="" type="checkbox"> （放弃）开发一个Obsidian插件，同步到一本日记</li>
</ul>
]]></content:encoded>
    </item>
    <item>
      <title>May 2024</title>
      <link>https://jinpeng.cv/en/diary/2024/may-2024/</link>
      <pubDate>Thu, 30 May 2024 00:00:00 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2024/may-2024/</guid>
      <description>&lt;h2 id=&#34;may-1st&#34;&gt;May 1st&lt;/h2&gt;
&lt;p&gt;His main hypothesis is that simply listening to a new language sets up the structures in the brain &lt;strong&gt;required&lt;/strong&gt; to learn the words.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h2 id="may-1st">May 1st</h2>
<p>His main hypothesis is that simply listening to a new language sets up the structures in the brain <strong>required</strong> to learn the words.</p>
]]></content:encoded>
    </item>
    <item>
      <title>April 2024</title>
      <link>https://jinpeng.cv/en/diary/2024/april-2024/</link>
      <pubDate>Tue, 30 Apr 2024 00:00:00 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2024/april-2024/</guid>
      <description>&lt;h2 id=&#34;apr-25&#34;&gt;Apr 25&lt;/h2&gt;
&lt;p&gt;She&amp;rsquo;s been practicing for days on end and may be &lt;strong&gt;feeling&lt;/strong&gt; a bit stressed out.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It&amp;rsquo;s a common that the original &lt;em&gt;verb&lt;/em&gt; occurs behind the &lt;code&gt;be&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;None of your business!&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;apr-24&#34;&gt;Apr 24&lt;/h2&gt;
&lt;p&gt;A few days ago, I left a message on Yihui&amp;rsquo;s blog. He &lt;strong&gt;replied&lt;/strong&gt; to my message on April 20th.&lt;/p&gt;
&lt;img alt=&#34;image-20240424003130069&#34; loading=&#34;lazy&#34; src=&#34;https://dagwbl.oss-cn-chengdu.aliyuncs.com/picture/obsidian/image-20240424003130069.png&#34;&gt;&lt;p&gt;The time perhaps flies slowly when I don&amp;rsquo;t playing games or cell phone.&lt;/p&gt;
&lt;p&gt;The chaos and mass message could easily kill the time in quiet.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h2 id="apr-25">Apr 25</h2>
<p>She&rsquo;s been practicing for days on end and may be <strong>feeling</strong> a bit stressed out.</p>
<blockquote>
<p>It&rsquo;s a common that the original <em>verb</em> occurs behind the <code>be</code>.</p>
</blockquote>
<p><strong>None of your business!</strong></p>
<h2 id="apr-24">Apr 24</h2>
<p>A few days ago, I left a message on Yihui&rsquo;s blog. He <strong>replied</strong> to my message on April 20th.</p>
<img alt="image-20240424003130069" loading="lazy" src="https://dagwbl.oss-cn-chengdu.aliyuncs.com/picture/obsidian/image-20240424003130069.png"><p>The time perhaps flies slowly when I don&rsquo;t playing games or cell phone.</p>
<p>The chaos and mass message could easily kill the time in quiet.</p>
<h2 id="apr-23">Apr 23</h2>
<p>Radio is a popular form of entertainment throughout the world.</p>
<p>How to divide this sentence by meaning group? <strong>It may not mean that it is possible to solve the problem easily.</strong></p>
<blockquote>
<p>Here&rsquo;s one way to divide the sentence into meaning groups:</p>
<p><strong>Group 1:</strong> &ldquo;It may not mean&rdquo;</p>
<ul>
<li>This group introduces a possibility or uncertainty</li>
</ul>
<p><strong>Group 2:</strong> &ldquo;that it is possible&rdquo;</p>
<p>​ * This group expresses a potential outcome or situation</p>
<p><strong>Group 3:</strong> &ldquo;to solve the problem easily&rdquo;</p>
<ul>
<li>This group describes the specific action or task being referred to (solving a problem) and the desired outcome (easily)</li>
</ul>
<p>So, the sentence can be broken down into three meaning groups:</p>
<ol>
<li>Introducing uncertainty</li>
<li>Expressing a potential outcome</li>
<li>Describing the specific action and desired outcome</li>
</ol>
</blockquote>
<p>An architect is required of problem solving skills and an eye of design.</p>
<p>Of these</p>
<h2 id="apr-22">Apr 22</h2>
<p>The posters are on display at the larger lecture theater.</p>
<p>Graduates from this course generally find jobs in the insurance industry.</p>
<p>Foods containing overabundant calories supply little or no nutritional value.</p>
<p>The course involves a combination of pure and applied mathematics</p>
<p>The year when the ship of artifacts was wrecked interested historians.</p>
<img alt="image-20240422223748061" loading="lazy" src="https://dagwbl.oss-cn-chengdu.aliyuncs.com/picture/obsidian/image-20240422223748061.png"><p>Social psychology has been considered by human behavior.</p>
<p>The university has invested in the new technology designed for learning.</p>
<p>Students should leave their bags <code>on the tables</code> <code>by the door</code>.</p>
<p>The collapse of the housing market has triggered recessions throughout the world.</p>
<p>Human beings compete with other living things for resources and space.</p>
<h2 id="apr-20">Apr 20</h2>
<p>One can only consider themselves awake after have washed up.</p>
<p>Let not <strong>bring up</strong> the topic of her loud snoring.</p>
<p>You asked me not to say anything, so I won&rsquo;t.</p>
<p>It would be great if we could get along.</p>
<p>Did you bother to fill up the tank?</p>
<h2 id="apr-19">Apr 19</h2>
<p>Yikes, somebody messed up the cheese tray.</p>
<p>Come on, we didn&rsquo;t do all of this for nothing!</p>
<p>It was supposed to be a short-term plan.</p>
<p>More women have jobs these days Likewise they often own businesses</p>
<h2 id="apr-15">Apr 15</h2>
<p>Worked, invited my colleague to eat dinner in my room, practiced speaking ability at the Geely Park, Learned Englsih at dormitory.</p>
<h2 id="apr-14">Apr 14</h2>
<p><a href="https://yihui.org/en/2024/01/bye-rstudio/">Bye, RStudio/Posit! - After writing all these &ldquo;*down&rdquo; packages for these years, here I am to announce &ldquo;Yihui-down&rdquo; - Yihui Xie | 谢益辉</a></p>
<p>I read this article early in this morning. It was very emotional and I left a comment.</p>
<blockquote>
<p>You are just like a modern swordsman. I aspire to become someone like you.</p>
</blockquote>
<hr>
<p>It&rsquo;s already nine o&rsquo;clock. I learned for seven hours today, but I still felt that I learned nothing. Every day, I feel just like drawing water with a bamboo basket.</p>
<p>In the evening, my eyes were really hard to see, and I wander to the Geely Park next to my dormitory to take a break. It turned out to be a good place to study, with a group of people dancing to loud music and adults and children playing there own games. I read out aloud in English without worrying about what other people thought, and no one would think I was strange.</p>
<p>When I think about it, I am actually in the same category as aquare dancers. We are all unbearable by the tranquility of our bodies and the tranquility of our minds, and we seek excitement in life by torturing our bodies or our minds. This is essentially the same reason why monkeys seek electric shocks.</p>
<h2 id="apr-13">Apr 13</h2>
<p>Today was another day where time slipped through my fingers and I woke up and studied for a while. Then the tablet I bought arrived and played with it for two hours, casing my eyes to hurt.</p>
<p>Tossed around for another hour after my lunch break, then studied for a just while more, and suddenly I wanted to eat grilled fish, so I invited my friend to go out for grilled fish.</p>
<h2 id="apr-12">Apr 12</h2>
<p>I backed Guiyang from Chengdu at noon, cost 18RMB to bought a box of soda cracker. The saleperson said that they can send me a box of cracker freely if I deposit 72 RMB in their shop. After much hesitation, I still top up. I just hope the sotre doesn&rsquo;t close down.</p>
<p>This evening I also invited S.K. and Y.X. to bake something here. But I got rid of them early, because I don&rsquo;t have anything to play here.</p>
<details>
<p>今天中午从成都返回贵阳。在蛋糕店准备花了18元买一盒苏打饼干。店员说充值72就可以免费送一盒苏打饼干。再三犹豫，我还是充值了。只希望这个店后面不要倒闭了。</p>
<p>今天傍晚还邀请骚坤和小霞来这里烤东西吃。不过我早早的就把他们撵走了，因为我这里没啥玩的。</p>
</details>
<h2 id="apr-11">Apr 11</h2>
<p>Today is the second day for training at Chengdu. My master brought my computer for playing games, and I don&rsquo;t have strongly motivation to study. So, today is wasted.</p>
<p>Nevertheless, I really want to buy a tablet, because I think the number of information which displayed on my cellphone screen too less. On the other hand, I easily distracted by other applications when I use my cellphone. It obstacled me focusing on study.</p>
<p>But look for a long time, found that the new tablet is very expensive. Originlly, Redmi will release a tablet called Redmi Pad Pro, but the price is high, poor of perfomance, very disppointing.</p>
<p>Therefore, I turned to buy a Xiaoxin Pad Pro 2023. Later, I returned it becase I thought it was a tablet from nine months ago, and the price was still so expensive.</p>
<p>Sincerely lamented that now didital equipment manufacturers do not think of progress, sometimes come new manufactorers of newproducts or more conscientious. But the law that the dragon slayer becomes the dragon remains the same.</p>
<details>
<p>今天是来成都培训的第二天，我师傅把我的电脑拿过去打游戏了。我也没有很强的动力学习，所以今天算是浪费了。</p>
<p>不过我非常想买一块平板，我的手机用来刷题我觉得能够显示的信息太少了，而且还很容易被其他App吸引，不能够很专注的学习。</p>
<p>不过看了好久，发现新出的平板都好贵。本来，今晚红米会发布一款名为Redmi Pad Pro 的平板，但是价格高，性能差，很是失望。</p>
<p>于是，我转头买小新 Pad Pro 2023。后面我又给退了，因为我想这是9个月前的平板，且价格还是这么贵。</p>
<p>由衷地感叹现在数码设备制造商不思进取，有时候一些新厂家的新产品还是比较良心的。不过屠龙者终成恶龙这个规律还是亘古不变。</p>
</details>
<h2 id="apr-10">Apr 10</h2>
<p>I was trained at Chengdu all day. I discovered that the leaders of the commpany are still eager to do things like environmental protextion. But somehow it got crooked down there.</p>
<details >
<p>今天一整天都在成都培训，集团的领导还是很想把类似于环保这些事情做好的。但是不知怎么到下面就歪了。</p>
</details>
<h2 id="apr-9">Apr 9</h2>
<p>Last night. S.Y. came to Guiyang and then went to S.K&rsquo;s home for drinking with me. Undoubtly, we were drinked. It was okay to get up late because I would take a business trip with my colleagues yesterday noon.</p>
<details>
昨晚，姚述屿来到贵阳，然后去到骚坤家喝酒。不出意外的喝醉了，因为今天中午要和同事一起去出差，所以今天起得比平时晚一些也没事。
</details>
<h2 id="apr-8">Apr 8</h2>
<p>I learned a lot of useful suggestions from <em>Perfect English Grammar</em>, The style of this book is very sincere.</p>
<blockquote>
<p><strong>It&rsquo;s easy to lose sight of what is important.</strong> You focus on word count rather than results. You lose track of your good idea because you&rsquo;re worried about margings and type size. You&rsquo;re concerned about the introduction but haven&rsquo;t given a thought to the conclusion. You are so worried about your deadline it distracts you from doing the work. Many writers go through this! You are not alone. To focus on what is important, look at the finshed, published writing around you and think, &ldquo;If they did it, so can I&rdquo;.</p>
<p><strong>Format at the end.</strong> Things like bolding, italicizing, and setting margins can be distracions from what matters most. You&rsquo;ll end up having to redo a lot of the foormatting, anyway.</p>
</blockquote>
<h2 id="apr-7">Apr 7</h2>
<p>Gradually realizing that forcing myself to produce will only result in reducing the desire to produce if I don&rsquo;t have the ability to express my thoughts skillfully. It will come up with a mood of anxiety difficult because I also don&rsquo;t know how to express what thoughts.</p>
<p>Yesterday, a public account regularly posted an English article. I wanted to go to bed after reading, but I found a few minor mistakes in the reading progress; I turned to check the corrdinate Chinese translation, then discovered the words are very beautiful. I inevitably doubted that the author wrote the Chinese version first, and then translated it into the English version. Therefore, I left a message to the author for seeking the answer. The answer was as expected, which gave me great courage.</p>
<p>Last but not least, mother tongue isn&rsquo;t the stumbling block for learning a foreign language. It will give us great help. The process of translating from Chinese to English is the best way to learn English.</p>
<p>In the future, I will write the Chinese version first and then translate it into English, and I think this process will be reversed one day.</p>
<img alt="image-20240407222514790" loading="lazy" src="https://dagwbl.oss-cn-chengdu.aliyuncs.com/picture/obsidian/image-20240407222514790.png"><h2 id="apr-6">Apr 6</h2>
<p>Over time, my speech ability has been getting constantly progress.</p>
<img alt="RA-1023" loading="lazy" src="https://dagwbl.oss-cn-chengdu.aliyuncs.com/picture/obsidian/image-20240406131231278.png"><blockquote>
<p>Life is more or less a lie, but then again, that&rsquo;s extactly the way we want it to be.</p>
<p><right>–Bob Dylan</right></p>
</blockquote>
<h2 id="apr-5">Apr 5</h2>
<blockquote>
<p>Our body and our mind are in conflict. The body wants to be still, the mind wants to explore the world.</p>
</blockquote>
<p>Pride and prejudice are the most disgusting attitudes in the world. I just want to share my new experience with you. These are some ordinary and common things in my mind. But you thought I wanted to gain some superiority from what I want to share with you.</p>
<p>When I thought about it, I felt the feeling of aversion more than you guessed my intention.</p>
<h2 id="apr-4">Apr 4</h2>
<p>There are many interesting things that attract me. It caused me <strong>to</strong> always spend a lot of time on it. Such as coding, playing with cell phone, playing with game and touching myself.</p>
<p> What are the common characteristics of these things? I can&rsquo;t find the answer right away, because they don&rsquo;t have almost  any similar characteristics.</p>
<p>But what these things have in common, is that they all have the ability to attract my concentration.</p>
<p>A logical assumption is that all of these things accompany all kinds of information that <strong>comes in</strong>.</p>
<h2 id="apr-3">Apr 3</h2>
<p>I felt very tired today. Actually, I had already slept for two hours.</p>
<h2 id="apr-2">Apr 2</h2>
<p>I spent an hour beautifying me blog. Now, it became more beautiful.</p>
<h2 id="apr-1">Apr 1</h2>
<p>Unconsciously, it&rsquo;s already April. I <strong>feel</strong> that my progress cannot <strong>keep up with</strong> the <strong>pace of aging.</strong></p>
<p>I want to change my life <strong>now</strong> and explore the possibility of life. <strong>But this</strong> behavior <strong>has put a lot of</strong> pressure on me.</p>
<p>There is one of the most important factors <strong>that hinders</strong> me to learn English <strong>continuously</strong>. It&rsquo;s <strong>the</strong> cell phone. I <strong>have</strong> to learn how to resist this big monster. Cutting its tongue is a very useful method, I thought.</p>
]]></content:encoded>
    </item>
    <item>
      <title>March 2024</title>
      <link>https://jinpeng.cv/en/diary/2024/march-2024/</link>
      <pubDate>Sat, 30 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2024/march-2024/</guid>
      <description>&lt;h2 id=&#34;mar-30&#34;&gt;Mar 30&lt;/h2&gt;
&lt;p&gt;I found the Hugo blog deployed in GitHub is very &lt;mark&gt;convenient&lt;/mark&gt;. I can use the &lt;strong&gt;One diary&lt;/strong&gt; app for writing essays and copying to the Hugo via the GitHub app.&lt;/p&gt;
&lt;p&gt;I can completely finish the writing and the publishing function by cell phone.&lt;/p&gt;
&lt;h2 id=&#34;mar-29&#34;&gt;Mar 29&lt;/h2&gt;
&lt;p&gt;I have been considering the impact of communication tools on our lifestyle and ability to concentrate. No, all the things present by cell phone are consume our concentration.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h2 id="mar-30">Mar 30</h2>
<p>I found the Hugo blog deployed in GitHub is very <mark>convenient</mark>. I can use the <strong>One diary</strong> app for writing essays and copying to the Hugo via the GitHub app.</p>
<p>I can completely finish the writing and the publishing function by cell phone.</p>
<h2 id="mar-29">Mar 29</h2>
<p>I have been considering the impact of communication tools on our lifestyle and ability to concentrate. No, all the things present by cell phone are consume our concentration.</p>
<p>About recording my life on Blog, I don&rsquo;t think I should focus the rendering results and the impliment methods.</p>
<p>Just focus the content itself. Time is the most precious thing in the word, so I must use my whole time to create, to think, to feel, and to love. rather than be attracted by others.</p>
<h2 id="mar-28">Mar 28</h2>
<p>There are two assignments as following:</p>
<blockquote>
<p>There are a number of tests available which can suggest if a person is telling the truth, but knowing<br>
which ones are accurate is not easy. A newly created test is claimed to be the most accurate yet in<br>
lie detection.However, questions have been raised about its accuracy and ethics.</p>
</blockquote>
<blockquote>
<p>Students who wish to take a break from their studies will need to put in an application for Leave of<br>
Absence. If your application is successful, you will be notified via email. At the end of your Leave of<br>
Absence, you must re -enroll at Student Services and in the subjects you intend to study.</p>
</blockquote>
<p>Requirement:</p>
<ol>
<li>Divide rhythm groups</li>
<li>Linking rhythm groups</li>
<li>Try read the full phrase.</li>
<li>Compare with recording.</li>
</ol>
<h2 id="mar-27">Mar 27</h2>
<p>Today, I have been learning read aloud on Bilibili.<a href="https://www.bilibili.com/video/BV1Th41167z7/?spm_id_from=333.337.search-card.all.click&amp;vd_source=e73763f897ab8c92fdc67c477da1e273">【飞凡PTE】Read Aloud全网最全, 满分技巧合集! 小白必看！_哔哩哔哩_bilibili</a></p>
<p>It was very effective and efficient.</p>
<h2 id="mar-26">Mar 26</h2>
<ul>
<li><a href="https://zhuanlan.zhihu.com/p/336693035">as much as</a></li>
<li>I wondered if you might consider paying overtime <strong>since</strong> I&rsquo;ve had to stay late so often.</li>
<li>I can tell you don&rsquo;t get out <strong>much</strong></li>
<li>It&rsquo;s a realistic <strong>expectation</strong>.</li>
<li>She&rsquo;s the <strong>governor</strong> of Michigan</li>
<li>He&rsquo;s a friend of our neighbors</li>
</ul>
<h2 id="mar-25">Mar 25</h2>
<p>About how to improve writing ability, there are definitely many different perspectives and methods. In my opinion, the thing we need to do is just keep outputting, and then keep revising.<br>
Only by doing this can we achieve fluency.<br>
Additionally, there is one especially important thing: choose a better tool. Because, as a foreigner, a tool like a teacher is important. A bad teacher might not improve our ability.</p>
<h2 id="mar-24">Mar 24</h2>
<p>Recently, I always played with my cell phone for a few hours after waking up. I think this is a bad habit, and also wastes a lot of time.<br>
At noon, I rode my bike to get to Saokun&rsquo;s to eat lunch with my friends. But there is an unpleasant thing we did, which is that we were too lazy to treat them.<br>
So, they decided to leave after playing for a while. We didn&rsquo;t think our behaviors were truly considered enough.</p>
<h2 id="mar-23">Mar 23</h2>
<p>Today, my friends and I decided to climb <strong>the</strong> Yunwu mountain.</p>
<p>Though It&rsquo;s so <strong>tiring,</strong> it is a precious and <strong>specific</strong> experience.</p>
<h2 id="mar-22">Mar 22</h2>
<blockquote>
<p>It is through science that we prove,<br>
But through intuition that we discover.<br>
<span>&ndash; Henrry Pangalary</span></p>
</blockquote>
<p>Pay attention to why you are using tools, rather than just focusing on the tools themselves.</p>
<h2 id="mar-21">Mar 21</h2>
<p>Today, I will have a sweet dream, because I did an hour working out. Additionally, I didn&rsquo;t get sleep all day.</p>
<p>When I got back to the dormitory after getting off work, I met Li Yujie on the first floor of the apartment.<br>
I had taken a delivery first. And then I took my delivery going upstairs by elevator. I saw Li Yujie standing outside of my dormitory when I got to my floor.</p>
<p>There was a bag of <strong>wolfberry</strong> in her hand. I invited her to have dinner together after I accepted the wolfberry.</p>
<p>Next, I boiled two bowls of noodles and a fennel egg cake to share with her. Last but not least, she shared a game with me. We played by ourselves for an hour.</p>
<p>To end with, I went to our gym to play dynamic bike.</p>
<h2 id="mar-20">Mar 20</h2>
<p>Last night, I cannot fallen asleep on time. Till a half past 3 A.M, I was awaking. There is a lot of thoughts in my mind. Especially some things like the passion or relationship.</p>
<p>I think what I supposed to do is that make some changes.</p>
<h2 id="mar-19">Mar 19</h2>
<blockquote>
<p>The more I worked for other people, the more I wanted to be my own boss.</p>
</blockquote>
<h3 id="duolingos-sentences">Duolingo&rsquo;s sentences</h3>
<ul>
<li>Did you hear that the teacher had to suspend Kevin from school for <strong>stealing</strong>?</li>
<li>They <strong>were</strong> holding hands.</li>
<li>The <strong>worse</strong> the boss treats me, the more I want to retire.</li>
<li>I guess I shouldn&rsquo;t treat myself <strong>so</strong> badly.</li>
</ul>
<p>Today, I finished the function that compatible with both Github and Gitee simultaneously.</p>
<h2 id="mar-18">Mar 18</h2>
<p>Today, I feel extremely tired. and I seldom learn to speak or listen all day. The only today&rsquo;s achievement is that I finished building my personal blog by Github. The most interesting thing is that I tried to use the workflow function of Github, and then I successfully dealt with a bug.</p>
<p>And one more thing, I really don&rsquo;t want to listen these things Luo Huan talked about her ex-boyfriend. I felt uncomfortable and uncareful. Honestly, I just care about her situation, not other people about her. However, just these poo things resulted in her bad mood. And I want to use a comment to describe her.</p>
<blockquote>
<p>I tried to walk out of the swamp that has trapped me for so long, but forgot why this swamp has held me for so long.</p>
</blockquote>
<h2 id="mar-17">Mar 17</h2>
<p>Today&rsquo;s emoji is &#x1f643; , &#x1f922; and &#x1f627;</p>
<h3 id="my-little-cousin">My little cousin</h3>
<p>My little cousin is one of my best <strong>friends.</strong> Actually, we don&rsquo;t have any <strong>blood relationships.</strong> We had known each other <strong>is</strong> when I was <strong>in junior</strong> high school.</p>
<p>Though we had just been in contact for one year, we have <strong>built</strong> <strong>a</strong> very strong relationship. She named me little cousin(brother) when I named her <strong>little</strong> cousin(sister). We <strong>are</strong> frequently outspoken to each other without reservation.</p>
<p>Today, We have <strong>known</strong> each other already for ten years. In my mind, I think she is a very clever and lovely girl. Of <strong>course</strong>, I don&rsquo;t know <strong>my</strong> imagination <strong>of mine</strong> in her mind.</p>
<p>Just now, she sent a few messages talking about her current situation. She has lots of stress <strong>on</strong> her thesis. After she told <del>to</del> me and I gave her some <strong>needed</strong> interaction, She felt better.</p>
<h3 id="huan-with-her-ex-boyfriend">Huan with her ex-boyfriend</h3>
<p>Just a few minutes ago, Huan called me about how he broke up with her ex-boyfriend.</p>
<p>However, I cannot give her any specific suggestions. She felt extremely upset, and she wanted to give her ex-boyfriend a callback.</p>
<p>In my opinion, it is unnecessary to call him back There is no actual love between you and him.</p>
<p>So, from other perspectives, choosing to break up might not be a bad result.</p>
<h2 id="mar-16">Mar 16</h2>
<p>Custom the website to fit the syntax of typora.</p>
<p><mark>double equals</mark> ,<mark>use the <code>&lt;mark&gt;</code> label</mark></p>
<p>Woops, I cannot solve the mark compatibility between Typora and Hugo.</p>
<h3 id="about-my-present-situation">About My Present situation</h3>
<p>My heart is under a lot of pressure, causing me to feel short of breath.</p>
<p>I hope to discover a way to accomplish some purpose or find life&rsquo;s truth and significance.</p>
<p>A few days ago, I took a psychological test for the individual pressure of my mind. It demonstrated I had too much stress so I scored 113. The result means my pressure has been inducing my bodily disease.</p>
<p>Therefore, I think what I am supposed to do is adjust my lifestyle and alter my attitude.</p>
<h2 id="mar-15">Mar 15</h2>
<p>Tonight, I spent tw<mark>e</mark> precious hours <del>for</del> managing my blog website of Hugo.<br>
The reason why the process is so <del>much</del> difficult <strong>is</strong> that I didn&rsquo;t understand the meaning of the <del>below</del> code.</p>
<p>So, the most important experience is that we must carefully treat any tips, warn<del>n</del>ings, and precurors.</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-shell" data-lang="shell"><span class="line"><span class="cl">Error: <span class="nb">command</span> error: failed to load config: <span class="s2">&#34;D:\blog\hugo.yaml:226:1&#34;</span>: failed to unmarshal YAML: yaml: line 226: mapping values are not allowed in this context
</span></span></code></pre></td></tr></table>
</div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>June 22, 2023</title>
      <link>https://jinpeng.cv/en/diary/2023/2023-06-22/</link>
      <pubDate>Thu, 22 Jun 2023 02:24:13 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2023/2023-06-22/</guid>
      <description>&lt;h2 id=&#34;is-our-earth-real&#34;&gt;Is Our Earth Real?&lt;/h2&gt;
&lt;p&gt;Yesterday, I came home for the holiday and went to bed early. In the morning, Manman ran to my bedside to play with my phone, but soon got bored. After glancing through the app list, I opened Google Earth and asked Manman where she wanted to go.&lt;/p&gt;
&lt;p&gt;Man: I know this is Earth, our planet! It’s so, so big!&lt;/p&gt;
&lt;p&gt;Me: Yes, Earth is very big, but it’s also very small. Look at those stars next to it—they seem tiny, but many of them are likely bigger than Earth.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h2 id="is-our-earth-real">Is Our Earth Real?</h2>
<p>Yesterday, I came home for the holiday and went to bed early. In the morning, Manman ran to my bedside to play with my phone, but soon got bored. After glancing through the app list, I opened Google Earth and asked Manman where she wanted to go.</p>
<p>Man: I know this is Earth, our planet! It’s so, so big!</p>
<p>Me: Yes, Earth is very big, but it’s also very small. Look at those stars next to it—they seem tiny, but many of them are likely bigger than Earth.</p>
<p>Man: Where are we?</p>
<p>Me: First, we need to find Asia, then our country—China. After that, we’re in Guizhou Province, right? Then Liupanshui…</p>
<p>Man: Uncle’s house!</p>
<p>Me: Right! That’s Shuicheng. We’re in Pan County.</p>
<p>Man: Where’s Pan County?</p>
<p>Me: We’re in Pan County right now. Hongguo, the center of Pan County—you went there with Mom just the day before yesterday.</p>
<p>…</p>
<p>Finally, we zoomed out to see how big Earth is, and Manman discovered that the globe could be rotated. She said she wanted to spin it.</p>
<p>Me: Earth actually rotates on its own.</p>
<p>Man: Then why isn’t it spinning (the Earth on the phone)?</p>
<p>Me: This Earth is fake (the one on the phone).</p>
<p>Man: Then is our Earth fake too?</p>
<p>Me: It’s probably real… but it could also be fake. But the one on the phone is definitely fake.</p>
<p>Manman’s sudden suspicion about Earth struck me like lightning, instantly wiping away all my drowsiness. I quickly followed up with another question.</p>
<p>Me: Are you real?</p>
<p>Man: I can’t tell you. You’ll have to guess.</p>
<p>With that, Manman walked out the door.</p>
<img alt="20230622133405795" loading="lazy" src="https://dagwbl.oss-cn-chengdu.aliyuncs.com/picture/picplus/20230622133405795.jpg">]]></content:encoded>
    </item>
    <item>
      <title>Again</title>
      <link>https://jinpeng.cv/en/diary/2022/109/</link>
      <pubDate>Sun, 28 Aug 2022 00:24:04 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2022/109/</guid>
      <description>&lt;img alt=&#34;20220828001932316&#34; loading=&#34;lazy&#34; src=&#34;https://dagwbl.oss-cn-chengdu.aliyuncs.com/picture/picplus/20220828001932316.jpg&#34;&gt;&lt;p&gt;&lt;strong&gt;Title:&lt;/strong&gt; &amp;ldquo;The Hidden Beauty of the Ordinary: A Reflection on Life&amp;rsquo;s Simple Moments&amp;rdquo;&lt;/p&gt;
&lt;p&gt;In the hustle and bustle of modern life, we often overlook the subtle beauty embedded in everyday routines. The warmth of morning sunlight filtering through the curtains, the rhythmic sound of raindrops against the window, or even the quiet hum of a coffee machine—these seemingly mundane moments carry a quiet poetry.&lt;/p&gt;
&lt;p&gt;This photograph captures one such instance: an unassuming scene that invites us to pause and appreciate the ordinary. The play of light and shadow, the textures, and the simplicity of the composition remind us that beauty doesn’t always demand grandeur. Sometimes, it’s found in the stillness, in the unnoticed corners of our daily lives.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<img alt="20220828001932316" loading="lazy" src="https://dagwbl.oss-cn-chengdu.aliyuncs.com/picture/picplus/20220828001932316.jpg"><p><strong>Title:</strong> &ldquo;The Hidden Beauty of the Ordinary: A Reflection on Life&rsquo;s Simple Moments&rdquo;</p>
<p>In the hustle and bustle of modern life, we often overlook the subtle beauty embedded in everyday routines. The warmth of morning sunlight filtering through the curtains, the rhythmic sound of raindrops against the window, or even the quiet hum of a coffee machine—these seemingly mundane moments carry a quiet poetry.</p>
<p>This photograph captures one such instance: an unassuming scene that invites us to pause and appreciate the ordinary. The play of light and shadow, the textures, and the simplicity of the composition remind us that beauty doesn’t always demand grandeur. Sometimes, it’s found in the stillness, in the unnoticed corners of our daily lives.</p>
<p>Perhaps today, we can slow down, take a deep breath, and rediscover the magic in the little things. After all, life’s most profound joys often lie in the details we’ve learned to take for granted.</p>
<p><em>What small moment has brought you unexpected happiness recently?</em></p>
]]></content:encoded>
    </item>
    <item>
      <title>August 19, 2022</title>
      <link>https://jinpeng.cv/en/diary/2022/101/</link>
      <pubDate>Fri, 19 Aug 2022 12:15:00 +0000</pubDate>
      <guid>https://jinpeng.cv/en/diary/2022/101/</guid>
      <description>&lt;h2 id=&#34;insights&#34;&gt;Insights&lt;/h2&gt;
&lt;p&gt;There are still unfinished tasks from before that need to be completed, and today I can finally purchase the sensor.&lt;/p&gt;
&lt;p&gt;Attempting anything new requires a certain level of capability. Otherwise, you will inevitably encounter many unfamiliar challenges along the way. Most people haven’t faced these issues before, so if you try to solve them but lack the necessary skills, you’ll end up wasting a significant amount of time.&lt;/p&gt;
&lt;p&gt;Therefore, no matter what you’re doing, the most important thing is to complete the task at hand using existing methods first. Only when you have spare time should you explore new approaches. This way, you won’t find yourself running out of time with unfinished work.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<h2 id="insights">Insights</h2>
<p>There are still unfinished tasks from before that need to be completed, and today I can finally purchase the sensor.</p>
<p>Attempting anything new requires a certain level of capability. Otherwise, you will inevitably encounter many unfamiliar challenges along the way. Most people haven’t faced these issues before, so if you try to solve them but lack the necessary skills, you’ll end up wasting a significant amount of time.</p>
<p>Therefore, no matter what you’re doing, the most important thing is to complete the task at hand using existing methods first. Only when you have spare time should you explore new approaches. This way, you won’t find yourself running out of time with unfinished work.</p>
<p>Take <strong>Mermaid</strong>, for example—it’s far from mature at this stage. If problems arise, there’s little documentation available online. Unless you spend a great deal of time digging through the source code, troubleshooting becomes a hassle. Meanwhile, I could accomplish the same task with other software in one-tenth of the time.</p>
<p>Another topic I’d like to discuss is my thoughts and principles regarding purchasing software and expanding hardware.</p>
<p>Late one night a few days ago, I stumbled upon a software called <strong>Knowledge Base</strong>. After browsing for a few minutes and trying it out, I found it quite impressive. The developer had adapted it for multiple languages, which, as an independent developer myself, I know requires considerable effort. I concluded that the author likely intended to grow and strengthen this software. So, like an angel investor, I spent 59 yuan to purchase a membership—partly out of fear that the price might increase later.</p>
<p>It was this thought—<strong>&ldquo;afraid it might get more expensive later&rdquo;</strong>—that led me to make a decision that, for my current situation, was incorrect. In reality, I didn’t need this software at all. Building a knowledge base on a smartphone is nearly impossible. Unless you rely on your phone for client communication or writing novels for a living, simply holding a phone in your hand is likely to disrupt your focus.</p>
<p>Speaking of knowledge bases, the setup I’ve developed using <strong>Obsidian + Git (with different branches)</strong> is more than sufficient for my needs. Combined with <strong>PicGo</strong> for direct integration with OSS (Object Storage Service), it’s a perfect solution for me. I can seamlessly continue my work on my dorm computer after leaving the studio. Syncing between two computers is as simple as pulling and pushing changes. Obsidian even has a mobile app, though it’s quite unfriendly for serious work involving formulas and code. But upon reflection, my phone is only meant for jotting down fleeting ideas—so I don’t forget them the next second. When I need to turn those ideas into action, I can always switch to my PC. Thus, I realized my 59 yuan was wasted, adding another drop to my already strained budget.</p>
<p>As for hardware, contrary to common belief, you often can’t imagine the uses of certain tools until you own them—especially when you don’t have anything similar on hand. My <strong>graphics tablet</strong> is a perfect example. Now, I use it to draft formulas, make annotations in Photoshop, and save a ton of time on image editing and clipping.</p>
<p>So, if you come across something you want and don’t have a viable alternative, go ahead and buy it.</p>
<p>Once you have something that can stably meet your needs, there&rsquo;s no need to keep looking at other options. Ultimately, we should always focus on the content itself rather than obsessing over switching between different tools. Only when the existing tools become a constraint should we consider breaking free from them.</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
