<?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>Death on Ben&#39;s Blog</title>
    <link>https://jinpeng.cv/en/tags/death/</link>
    <description>Recent content in Death 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/death/index.xml" rel="self" type="application/rss+xml" />
    <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>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>A letter to be Opened in the Event of My Death | To Clare</title>
      <link>https://jinpeng.cv/en/letter/a-letter-to-be-opened-in-the-event-of-my-death/</link>
      <pubDate>Sat, 08 Feb 1997 23:58:14 +0000</pubDate>
      <guid>https://jinpeng.cv/en/letter/a-letter-to-be-opened-in-the-event-of-my-death/</guid>
      <description>&lt;p&gt;December 10, 2006&lt;/p&gt;
&lt;p&gt;Dearest Clare,&lt;/p&gt;
&lt;p&gt;As I write this, I am sitting at my desk in the back bedroom looking out at your studio across the backyard full of blue evening snow, everything is slick and crusty with ice, and it is very still. It&amp;rsquo;s one of those winter evenings when the coldness of every single thing seems to slow down time, like the narrow center of an hourglass which time itself flows through, but slowly, slowly. I have the feeling, very familiar to me when I am out of time but almost never otherwise, of being buoyed up by time, floating effortlessly on its surface like a fat lady swimmer. I had a sudden urge, tonight, here in the house by myself (you are at Alicia&amp;rsquo;s recital at St. Lucy&amp;rsquo;s) to write you a letter. I suddenly wanted to leave something, for after.&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>December 10, 2006</p>
<p>Dearest Clare,</p>
<p>As I write this, I am sitting at my desk in the back bedroom looking out at your studio across the backyard full of blue evening snow, everything is slick and crusty with ice, and it is very still. It&rsquo;s one of those winter evenings when the coldness of every single thing seems to slow down time, like the narrow center of an hourglass which time itself flows through, but slowly, slowly. I have the feeling, very familiar to me when I am out of time but almost never otherwise, of being buoyed up by time, floating effortlessly on its surface like a fat lady swimmer. I had a sudden urge, tonight, here in the house by myself (you are at Alicia&rsquo;s recital at St. Lucy&rsquo;s) to write you a letter. I suddenly wanted to leave something, for after.</p>
<p>I think that time is short, now. I feel as though all my reserves, of energy, of pleasure, of duration, are thin, small. I don&rsquo;t feel capable of continuing very much longer. I know you know. If you are reading this, I am probably dead. (I say probably because you never know what circumstances may arise; it seems foolish and self-important to just declare one&rsquo;s own death as an out-and-out fact.) About this death of mine—I hope it was simple and clean and unambiguous. I hope it didn&rsquo;t create too much fuss. I&rsquo;m sorry. (This reads like a suicide note. Strange.) But you know: you know that if I could have stayed, if I could have gone on, that I would have clutched every second: whatever it was, this death, you know that it came and took me, like a child carried away by goblins.</p>
<p>Clare, I want to tell you, again, I love you. Our love has been the thread through the labyrinth, the net under the high-wire walker, the only real thing in this strange life of mine that I could ever trust. Tonight I feel that my love for you has more density in this world than I do, myself: as though it could linger on after me and surround you, keep you, hold you. I hate to think of you waiting. I know that you have been waiting for me all your life, always uncertain of how long this patch of waiting would be. Ten minutes, ten days. A month. What an uncertain husband I have been, Clare, like a sailor, Odysseus alone and buffeted by tall waves, sometimes wily and sometimes just a plaything of the gods. Please, Clare. When I am dead. Stop waiting and be free. Of me—put me deep inside you and then go out in the world and live. Love the world and yourself in it, move through it as though it offers no resistance, as though the world is your natural element. I have given you a life of suspended animation. I don&rsquo;t mean to say that you have done nothing. You have created beauty, and meaning, in your art, and Alba, who is so amazing, and for me: for me you have been everything. After my mom died she ate my father up completely. She would have hated it. Every minute of his life since then has been marked by her absence, every action has lacked dimension because she is not there to measure against. And when I was young I didn&rsquo;t understand, but now, I know, how absence can be present, like a damaged nerve, like a dark bird. If I had to live on without you I know I could not do it. But I hope, I have this vision of you walking unencumbered, with your shining hair in the sun. I have not seen this with my eyes, but only with my imagination, that makes pictures, that always wanted to paint you, shining; but I hope that this vision will be true, anyway.</p>
<p>Clare, there is one last thing, and I have hesitated to tell you, because I&rsquo;m superstitiously afraid that telling might cause it to not happen (I know: silly) and also because I have just been going on about not waiting and this might cause you to wait longer than you have ever waited before. But I will tell you in case you need something, after. Last summer, I was sitting in Kendrick&rsquo;s waiting room when I suddenly found myself in a dark hallway in a house I don&rsquo;t know. I was sort of tangled up in a bunch of galoshes, and it smelled like rain. At the end of the hall I could see a rim of light around a door, and so I went very slowly and very quietly to the door and looked in. The room was white, and intensely lit with morning sun. At the window, with her back to me, sat a woman, wearing a coral-colored cardigan sweater, with long white hair all down her back. She had a cup of tea beside her, on a table. I must have made some little noise, or she sensed me behind her&hellip;she turned and saw me, and I saw her, and it was you, Clare, this was you as an old woman, in the future. It was sweet, Clare, it was sweet beyond telling, to come as though from death to hold you, and to see the years all present in your face. I won&rsquo;t tell you any more, so you can imagine it, so you can have it unrehearsed when the time comes, as it will, as it does come. We will see each other again, Clare. Until then, live, fully, present in the world, which is so beautiful.</p>
<p>It&rsquo;s dark, now, and I am very tired. I love you, always. Time is nothing.</p>
<p>Henry</p>
]]></content:encoded>
    </item>
  </channel>
</rss>
