<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>👻</title>
    <link>https://writee.org/amateur-cs/</link>
    <description>&#34;Success is going from failure to failure without loss of enthusiasm.&#34;</description>
    <pubDate>Mon, 08 Jun 2026 17:51:06 +0000</pubDate>
    <item>
      <title>午睡后，头昏昏沉沉的，瞎点按钮差点把工友手指绞断了 😥</title>
      <link>https://writee.org/amateur-cs/wu-shui-hou-tou-hun-hun-chen-chen-de-xia-dian-an-niu-chai-dian-ba-gong-you-shou</link>
      <description>&lt;![CDATA[午睡后，头昏昏沉沉的，瞎点按钮差点把工友手指绞断了 😥&#xA;&#xA;“机器弄坏了，人没事就好”，工友们如此安慰我 😭&#xA;&#xA;对不起，对不起，对不起，对不起 ]]&gt;</description>
      <content:encoded><![CDATA[<p>午睡后，头昏昏沉沉的，瞎点按钮差点把工友手指绞断了 😥</p>

<p>“机器弄坏了，人没事就好”，工友们如此安慰我 😭</p>

<p>对不起，对不起，对不起，对不起</p>
]]></content:encoded>
      <guid>https://writee.org/amateur-cs/wu-shui-hou-tou-hun-hun-chen-chen-de-xia-dian-an-niu-chai-dian-ba-gong-you-shou</guid>
      <pubDate>Wed, 13 May 2026 15:16:06 +0000</pubDate>
    </item>
    <item>
      <title>我好像有个幻觉，有了 mac mini，我就能更具有创造力似的。</title>
      <link>https://writee.org/amateur-cs/wo-hao-xiang-you-ge-huan-jue-you-liao-mac-mini-wo-jiu-neng-geng-ju-you-chuang-za</link>
      <description>&lt;![CDATA[  我好像有个幻觉，有了 mac mini，我就能更具有创造力似的。&#xA;&#xA;!--more--&#xA;&#xA;这很正常，不是你一个人这样。&#xA;“新设备=新自己” 的感觉很常见，背后是“新鲜感 + 仪式感 + 对未来自我的投射”。&#xA;&#xA;你这个念头不一定是错的，但可以这样更稳地判断：&#xA;&#xA;    Mac mini 真能带来的：更安静稳定的工作环境、生态协同（iPhone/iPad）、某些创作软件体验更好。&#xA;    它不能自动带来的：稳定习惯、选题能力、长期执行力。&#xA;&#xA;给你一个实用做法：&#xA;先做 7 天“伪拥有测试”（不买）：&#xA;&#xA;    每天固定 60 分钟创作（同一时段）。&#xA;    关通知、固定桌面、固定流程（模拟你想要的新工作流）。&#xA;    记录每天产出量和专注度（1-10分）。&#xA;&#xA;如果 7 天后你明显进入状态，再买 Mac mini，通常就不是冲动消费，而是“放大已有系统”。&#xA;如果 7 天都很难开始，那瓶颈大概率不在设备。&#xA;&#xA;一句话：Mac mini 可以是“杠杆”，但不是“发动机”。发动机还是你的节律和动作。&#xA;&#xA;如果你愿意，我可以按你现在的创作类型（写作/视频/编程/设计）给你做一版“买前决策清单”（10 分钟就能判断值不值）。&#xA;&#xA;  啊！但是 mac mini 的广告拍得感觉就像，你拥有它，创造力就能提高很多似的&#xA;&#xA;完全理解，你这个感觉非常真实。&#xA;广告卖的本来就不是“参数”，而是“理想中的你”。&#xA;&#xA;你看到的是这套叙事：&#xA;新设备 → 新状态 → 高产出 → 更有成就感。&#xA;但现实通常是：&#xA;新设备 → 短期兴奋 → 回到原有习惯（如果系统没变）。&#xA;&#xA;可以记一个很实用的判断句：&#xA;“工具放大已有能力，不负责生成能力。”&#xA;&#xA;所以 Mac mini 不是没价值，而是它的价值在：&#xA;&#xA;    降低摩擦（更快、更安静、更稳）&#xA;    提升进入状态的概率&#xA;    而不是凭空给你灵感。&#xA;&#xA;你可以这样“反广告”决策（超短版）：&#xA;&#xA;    我现在的最大瓶颈是性能，还是习惯？&#xA;    没有新机器，我这周能不能稳定产出 5 天？&#xA;    买了后我会固定哪一套创作流程？（具体到时间段）&#xA;&#xA;如果前两条都不成立，先别买；&#xA;如果成立，买了通常真能提升“持续输出”，但本质是你在进步，不是机器施法。&#xA;&#xA;你现在其实已经很清醒了——你已经看穿了广告在触发什么。]]&gt;</description>
      <content:encoded><![CDATA[<blockquote><p>我好像有个幻觉，有了 mac mini，我就能更具有创造力似的。</p></blockquote>



<p>这很正常，不是你一个人这样。
“新设备=新自己” 的感觉很常见，背后是“新鲜感 + 仪式感 + 对未来自我的投射”。</p>

<p>你这个念头不一定是错的，但可以这样更稳地判断：</p>

<p>    Mac mini 真能带来的：更安静稳定的工作环境、生态协同（iPhone/iPad）、某些创作软件体验更好。
    它不能自动带来的：稳定习惯、选题能力、长期执行力。</p>

<p>给你一个实用做法：
先做 7 天“伪拥有测试”（不买）：</p>

<p>    每天固定 60 分钟创作（同一时段）。
    关通知、固定桌面、固定流程（模拟你想要的新工作流）。
    记录每天产出量和专注度（1-10分）。</p>

<p>如果 7 天后你明显进入状态，再买 Mac mini，通常就不是冲动消费，而是“放大已有系统”。
如果 7 天都很难开始，那瓶颈大概率不在设备。</p>

<p>一句话：Mac mini 可以是“杠杆”，但不是“发动机”。发动机还是你的节律和动作。</p>

<p>如果你愿意，我可以按你现在的创作类型（写作/视频/编程/设计）给你做一版“买前决策清单”（10 分钟就能判断值不值）。</p>

<blockquote><p>啊！但是 mac mini 的广告拍得感觉就像，你拥有它，创造力就能提高很多似的</p></blockquote>

<p>完全理解，你这个感觉非常真实。
广告卖的本来就不是“参数”，而是“理想中的你”。</p>

<p>你看到的是这套叙事：
新设备 → 新状态 → 高产出 → 更有成就感。
但现实通常是：
新设备 → 短期兴奋 → 回到原有习惯（如果系统没变）。</p>

<p>可以记一个很实用的判断句：
“工具放大已有能力，不负责生成能力。”</p>

<p>所以 Mac mini 不是没价值，而是它的价值在：</p>

<p>    降低摩擦（更快、更安静、更稳）
    提升进入状态的概率
    而不是凭空给你灵感。</p>

<p>你可以这样“反广告”决策（超短版）：</p>

<p>    我现在的最大瓶颈是性能，还是习惯？
    没有新机器，我这周能不能稳定产出 5 天？
    买了后我会固定哪一套创作流程？（具体到时间段）</p>

<p>如果前两条都不成立，先别买；
如果成立，买了通常真能提升“持续输出”，但本质是你在进步，不是机器施法。</p>

<p>你现在其实已经很清醒了——你已经看穿了广告在触发什么。</p>
]]></content:encoded>
      <guid>https://writee.org/amateur-cs/wo-hao-xiang-you-ge-huan-jue-you-liao-mac-mini-wo-jiu-neng-geng-ju-you-chuang-za</guid>
      <pubDate>Sun, 19 Apr 2026 09:25:27 +0000</pubDate>
    </item>
    <item>
      <title>struct 是值类型。</title>
      <link>https://writee.org/amateur-cs/struct-shi-zhi-lei-xing</link>
      <description>&lt;![CDATA[struct 是值类型。]]&gt;</description>
      <content:encoded><![CDATA[<p>struct 是值类型。</p>
]]></content:encoded>
      <guid>https://writee.org/amateur-cs/struct-shi-zhi-lei-xing</guid>
      <pubDate>Fri, 27 Mar 2026 12:12:34 +0000</pubDate>
    </item>
    <item>
      <title>太色情了</title>
      <link>https://writee.org/amateur-cs/tai-se-qing-liao</link>
      <description>&lt;![CDATA[工厂干活很辛苦……这次出差来的是胶州一个轻工业小镇的木材厂，11 笑说公费旅游，才怪！公费吃苦呀。&#xA;&#xA;木材厂的工人将一根根原木材（主要品种是白橡、白蜡、红橡）从仓库拖出来，修掉边边切割需要的尺寸，拼在一起后，再用轰鸣声巨大的刨砂机打磨表面，就是家具制造商需要的木板了。人类挑选家具时不喜欢难看的巴结、异色，喜欢“原木”好看的样子，所以还需要人对木材进行分 A、B、C……级。很难一根原木出来完全是想要的，实在无法忍受的横着切掉，可以接受的竖着切掉再拼在一起。而我来这里是调试一台视觉设备，希望达到代替肉眼分级的效果，识别出一根木材上不想要的东西，保证良才率（又长又好的木材最值钱）的基础上，将切割数据丢给下游的横切锯。&#xA;&#xA;识别效果并不理想。老板写的代码还有不少漏洞，我大概要在这里待上一阵子。调试基本就是站一天，这么辛苦，挣的钱也低于烟台尊重技术工程人员的薪资，真的是太惨了。好处是，遇到的折磨人的困境，也许我能写点什么 :P&#xA;&#xA;北方的小工厂几乎看不到年轻人，都是被迫很能吃苦的大叔大婶，女性似乎都比较乐观，爱说爱笑，可惜木材厂真的太吵了，否则依我爱八卦的性格，应该挺聊得来。&#xA;&#xA;和 11 说，我想躺着就能赚钱，她说太色情了哈哈哈哈哈。&#xA;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p>工厂干活很辛苦……这次出差来的是胶州一个轻工业小镇的木材厂，11 笑说公费旅游，才怪！公费吃苦呀。</p>

<p>木材厂的工人将一根根原木材（主要品种是白橡、白蜡、红橡）从仓库拖出来，修掉边边切割需要的尺寸，拼在一起后，再用轰鸣声巨大的刨砂机打磨表面，就是家具制造商需要的木板了。人类挑选家具时不喜欢难看的巴结、异色，喜欢“原木”好看的样子，所以还需要人对木材进行分 A、B、C……级。很难一根原木出来完全是想要的，实在无法忍受的横着切掉，可以接受的竖着切掉再拼在一起。而我来这里是调试一台视觉设备，希望达到代替肉眼分级的效果，识别出一根木材上不想要的东西，保证良才率（又长又好的木材最值钱）的基础上，将切割数据丢给下游的横切锯。</p>

<p>识别效果并不理想。老板写的代码还有不少漏洞，我大概要在这里待上一阵子。调试基本就是站一天，这么辛苦，挣的钱也低于烟台尊重技术工程人员的薪资，真的是太惨了。好处是，遇到的折磨人的困境，也许我能写点什么 :P</p>

<p>北方的小工厂几乎看不到年轻人，都是被迫很能吃苦的大叔大婶，女性似乎都比较乐观，爱说爱笑，可惜木材厂真的太吵了，否则依我爱八卦的性格，应该挺聊得来。</p>

<p>和 11 说，我想躺着就能赚钱，她说太色情了哈哈哈哈哈。</p>
]]></content:encoded>
      <guid>https://writee.org/amateur-cs/tai-se-qing-liao</guid>
      <pubDate>Sat, 14 Mar 2026 12:30:59 +0000</pubDate>
    </item>
    <item>
      <title>AlgoCasts （ Hawstein 的作品）已经停止服务。</title>
      <link>https://writee.org/amateur-cs/algocasts</link>
      <description>&lt;![CDATA[AlgoCasts （ Hawstein 的作品）已经停止服务。停止服务的方式“是把所有课程视频整理成百度网盘离线包，方便随时下载回看”&#xA;&#xA;“……我左某人，自信可以做到这一点”&#xA;&#xA;他们在第 94 期 teahour 都说，系统性学习算法，最后还是得回归经典书籍。&#xA;&#xA;（可是技术书籍很枯燥啊……）&#xA;&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://algocasts.io/" rel="nofollow">AlgoCasts</a> （ Hawstein 的作品）已经停止服务。停止服务的方式“是把所有课程视频整理成百度网盘离线包，方便随时下载回看”</p>

<p>“……我左某人，自信可以做到<a href="https://space.bilibili.com/8888480/lists/3509640?type=series" rel="nofollow">这一点</a>”</p>

<p>他们在第 94 期 <a href="https://teahour.fm/94" rel="nofollow">teahour</a> 都说，系统性学习算法，最后还是得回归经典书籍。</p>

<p>（可是技术书籍很枯燥啊……）</p>
]]></content:encoded>
      <guid>https://writee.org/amateur-cs/algocasts</guid>
      <pubDate>Tue, 17 Feb 2026 23:20:33 +0000</pubDate>
    </item>
    <item>
      <title>讀了這篇 Async 在 forEach、map 等各种迭代中的使用，修剪了其中的示例程序，更好理解些 for await 在干啥。</title>
      <link>https://writee.org/amateur-cs/async-map</link>
      <description>&lt;![CDATA[讀了這篇 Async 在 forEach、map 等各种迭代中的使用，修剪了其中的示例程序，更好理解些 for await 在干啥。&#xA;// 模拟一个耗时运算，输入 i，阻塞 i  500 毫秒，再返回 i 　&#xA;function get(i) {&#xA;  return new Promise(resolve =  {&#xA;    setTimeout(() =  {&#xA;      console.log(&#34;get(%d) over&#34;, i);&#xA;      resolve(i);&#xA;    }, i  500);    &#xA;})&#xA;}&#xA;&#xA;// 测试 for await&#xA;async function printNums() {&#xA;  const nums = [3, 1, 10, 2].map(n =  get(n));&#xA;  console.log(&#34;begin&#34;);&#xA;  for await (const n of nums) {&#xA;    console.log(&#34;content: %d&#34;, n);&#xA;  }&#xA;}&#xA;&#xA;printNums();&#xA;// will console:&#xA;begin&#xA;get(1) over&#xA;get(2) over&#xA;get(3) over&#xA;content: 3&#xA;content: 1&#xA;&#xA;get(10) over&#xA;content: 10&#xA;content: 2&#xA;这样就比较清楚看出来 for await 的好处了，既异步进行了运算（耗时少的提前结束运算），又按着顺序拿到了运算的结果。从打印的日志可以看出，get(2) 提前结束了运算，仍然会等待 get(10) 计算结束之后才立即拿到结果。]]&gt;</description>
      <content:encoded><![CDATA[<p>讀了這篇 <a href="https://web.archive.org/web/20230201180522/https://blog.songhn.com/posts/async-for/" rel="nofollow">Async 在 forEach、map 等各种迭代中的使用</a>，修剪了其中的示例程序，更好理解些 for await 在干啥。</p>

<pre><code class="language-JavaScript">// 模拟一个耗时运算，输入 i，阻塞 i * 500 毫秒，再返回 i 　
function get(i) {
  return new Promise(resolve =&gt; {
    setTimeout(() =&gt; {
      console.log(&#34;get(%d) over&#34;, i);
      resolve(i);
    }, i * 500);    
})
}

// 测试 for await
async function printNums() {
  const nums = [3, 1, 10, 2].map(n =&gt; get(n));
  console.log(&#34;begin&#34;);
  for await (const n of nums) {
    console.log(&#34;content: %d&#34;, n);
  }
}

printNums();
// will console:
begin
get(1) over
get(2) over
get(3) over
content: 3
content: 1

get(10) over
content: 10
content: 2
</code></pre>

<p>这样就比较清楚看出来 for await 的好处了，既异步进行了运算（耗时少的提前结束运算），又按着顺序拿到了运算的结果。从打印的日志可以看出，get(2) 提前结束了运算，仍然会等待 get(10) 计算结束之后才立即拿到结果。</p>
]]></content:encoded>
      <guid>https://writee.org/amateur-cs/async-map</guid>
      <pubDate>Tue, 19 Mar 2024 00:16:27 +0000</pubDate>
    </item>
    <item>
      <title>assignment-9</title>
      <link>https://writee.org/amateur-cs/assignment-9</link>
      <description>&lt;![CDATA[a9:&#xA;&#xA;  Once you&#39;ve done the assignment, you must meet with one of the AIs to demonstrate your knowledge of your code. This meeting is a required part of the assignment and must take place on or before 04/08.&#xA;&#xA;我只有代码，没有回答（]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://web.archive.org/web/20220808002555/https://cgi.luddy.indiana.edu/~c311/doku.php?id=assignment-9" rel="nofollow">a9</a>:</p>

<blockquote><p>Once you&#39;ve done the assignment, you must <strong>meet with one of the AIs to demonstrate your knowledge of your code</strong>. This meeting is a required part of the assignment and must take place on or before 04/08.</p></blockquote>

<p>我只有<a href="https://codeberg.org/yao/c311-assignments" rel="nofollow">代码</a>，没有回答（</p>
]]></content:encoded>
      <guid>https://writee.org/amateur-cs/assignment-9</guid>
      <pubDate>Thu, 09 Mar 2023 10:32:25 +0000</pubDate>
    </item>
  </channel>
</rss>