<?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>Phone on Ben&#39;s Blog</title>
    <link>https://jinpeng.cv/en/tags/phone/</link>
    <description>Recent content in Phone on Ben&#39;s Blog</description>
    <generator>Hugo -- 0.154.0</generator>
    <language>en</language>
    <copyright>©️ 2025 Ben</copyright>
    <lastBuildDate>Mon, 09 Mar 2026 22:26:59 -0600</lastBuildDate>
    <atom:link href="https://jinpeng.cv/en/tags/phone/index.xml" rel="self" type="application/rss+xml" />
    <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>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>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>Duolingo | A War With Mobile Phones</title>
      <link>https://jinpeng.cv/en/posts/essay/a-war-with-mobile-phones/</link>
      <pubDate>Sun, 31 Mar 2024 12:50:23 +0800</pubDate>
      <guid>https://jinpeng.cv/en/posts/essay/a-war-with-mobile-phones/</guid>
      <description>Desc Text.</description>
      <content:encoded><![CDATA[<h2 id="mastering-relaxation">Mastering Relaxation</h2>
<p>Bea&rsquo;s Blog, March 1st</p>
<blockquote>
<p>&mdash;&mdash; My friend Lin says that my life is stressful and I work too hard, but in reality, I&rsquo;ve totally mastered relaxation.In fact, I schedule a full thirty minutes to relax each month!With my instructions, you too can reach maximum relaxation, all while being incredibly productive.</p>
</blockquote>
<h3 id="spend-time-in-nature">Spend time in nature</h3>
<img alt="img" loading="lazy" src="https://dagwbl.oss-cn-chengdu.aliyuncs.com/picture/obsidian/9bae8c7e92248dee510bca7dc1c81f6c514e47fe.svg"><p>When I go on a peaceful hike in the woods, I set a goal of identifying at least twenty species of flowers and photographing twelve different species of birds before returning home.</p>
<p>I always bring a checklist so that I don&rsquo;t lose track.I wouldn&rsquo;t want to go home without completing my relaxation tasks!</p>
<h3 id="unplug">Unplug</h3>
<p>It&rsquo;s OK to spend some of your free time looking at social media.However, I think it&rsquo;s important to be away from your phone for at least sixty seconds a day.During that time, I like to stretch for fifteen seconds, meditate for fifteen seconds, and then plan what I&rsquo;ll do with my phone when I start using it again.</p>
<h3 id="practice-calming-visualization">Practice calming visualization</h3>
<p>When feeling stressed, some people calm themselves by visualizing peaceful fields, oceans, or clouds.I, on the other hand, like to visualize my calendar.</p>
<img alt="img" loading="lazy" src="https://dagwbl.oss-cn-chengdu.aliyuncs.com/picture/obsidian/e108d3458c4595ca8acfd576bc3b8b2b3b434382.svg"><p>Nothing brings me more peace than planning every day of my life, hour by hour—or even better, minute by minute!Remember, it&rsquo;s important to make time to relax… but only after you&rsquo;ve completed every single task on your to-do list!</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
