我的 HomeLab 配置(一):基础设施篇

<p>去年年底,我下线了许多以前 self-host 的应用,认为维护成本过高,并<a href="https://skywt.cn/blog/those-cool-but-unnecessary-self-hosted-apps">写了篇博客纪念</a>。</p> <p>半年过去,我发现我错了:AI 让各种服务的部署和运维变得如此容易。我想要的一切都能够梦幻般地随着几句话而立即变为现实。我再也不用淹没在文档或日志中,再也不用苦恼于某个未知环节的未知问题。这种感觉太爽了。这是 HomeLab 玩家最好的时代。</p> <p>最近,我全面复活了我的 HomeLab,并搞了许多好玩的东西。我将会写几篇博客与你分享。预计分为:基础设施篇、应用篇和数据与监控篇。所有代码和配置都放在 <a href="https://github.com/Skywt2003/homelab">Skywt2003/homelab</a>,你可以让你的 agent 参考。</p> <p>我将会侧重于介绍「我达成了什么效果」和「为什么这么做」。至于「如何达成」,你可以直接让 AI 去做。这可以称为 <strong>Vibe Deploying</strong>。😎</p> <h2>Tailscale &amp; Headscale</h2> <p>我们将会开很多 VM。我个人也有很多设备:MacBook、iPad、iPhone。我希望它们随时随地都能互相连接,就像在同一个局域网一样。因此我选择了心智负担很小的解决方案:让他们 24 小时在同一 Tailscale 网络中。</p> <p>之所以没有在我家的局域网环境进行过多配置,是因为我租的房属于上下双钥匙的公寓,因此我的路由器只作为 AP,没有设为 DHCP 服务器(否则会有双层 NAT);而上下两户公用的网关,是中国电信的设备,无法进行太多自定义。连 DNS 都无法配置。</p> <p>Tailscale 的官方节点在境内使用并不方便,最好的方案是在国内主机自建 Headscale。Headscale 还内置 DERP 服务器,在无法成功打洞时中转流量,自建比用境外 DERP 体验好很多。通过 Headscale 的 OIDC 配置,新设备的接入流程能直接复用 <code>skywt.net</code> 的账号系统。在新的设备上连接时,我只需要指定 <code>vpn.skywt.cn</code>,会跳转 <code>skywt.net</code> 登录,登录即可加入网络(当然,开了白名单,只有我的账号能加入 😁)。我再也不需要 SSH 到服务器生成 auth key 来注册新机器了。Cool!</p> <h2>硬件配置、PVE 和它的 VM 们</h2> <p>我的这台设备是 2023 年购入的零刻 SER6 Pro Vest 小主机,内存 32G,硬盘 512G SSD。</p> <p>此外,我还有一块很旧的东芝 2T HDD 移动硬盘,通过 USB 接入,作为 NAS 的主要存储盘。(这个移动硬盘的接口是非常奇葩的 Micro-B SuperSpeed,这个数据线如今都买不到了 🤣)</p> <p>为了方便管理资源,我在主机上装了 PVE,并划分了如下四个 VM:</p> <ul> <li><strong>Lab</strong>:Debian,纯容器化的 VM,用 Docker 跑着各种服务。这是我的 HomeLab 最主要的部分。所有服务都通过 Docker Compose 管理。这台机器安装了 Codex app-server,也配置了能连到所有其他主机的 SSH key,同时担当主操作入口。</li> <li><strong>Dev</strong>:Debian,各种项目开发空间,用 PM2 让各个项目的 dev server 保持常驻,不用 Docker。这台主机也安装了 Codex app-server,方便开发和项目管理。</li> <li><strong>Nas</strong>:OpenMediaVault,2T 移动硬盘直通给这台 VM,通过 NFS 和 Samba 共享给其他主机。</li> <li><strong>Proxy</strong>:Debian,统一的网络代理基础设施,在下方会介绍。</li> </ul> <h2>内网域名、DNS 和 Caddy</h2> <p>我将会在 Lab 上部署很多服务,我希望每个服务都有域名方便访问。这个域名应该只在我们的内网生效,因此应该定一个和公网不冲突的 TLD。按照规范,其实应该用 <code>.home.arpa</code>。但它又长又没个性。我决定用 <code>.skywt</code>。这样我就可以这样访问:</p> <ul> <li>Lab 上部署的 Immich(相册管理应用):<code>https://photos.lab.skywt</code>。</li> <li>Dev 上项目 A 的 dev server:<code>https://project-a.dev.skywt</code>。</li> <li>Nas 上的 OMV WebUI:<code>https://nas.skywt</code>。</li> </ul> <p>当然,这些域名都不存在于公网,因此我们要配置自己的 DNS。我在 Lab 上开了个 AdGuard Home,并在其中配置我们要的记录:<code>*.lab.skywt</code> 解析到 Lab,<code>*.dev.skywt</code> 解析到 Dev 等。让 Headscale 下发 AdGuard Home 作为 DNS。这样,只要进入这个 Tailscale 网络,就能自动启用这些配置。</p> <p>AdGuard Home 该管理所有 DNS 查询,还是只管理 <code>.skywt</code> 呢?有两种方案:</p> <ol> <li>**配置 split DNS 只管理 <code>.skywt</code> 查询。**让 AdGuard Home 只解析 <code>.skywt</code> 内网域名,其他域名还是走公共 DNS。缺点是没法作为统一 DNS 入口做统计分析、隐私保护、对抗 DNS 污染、广告屏蔽等功能。</li> <li>**唯一下发,管理所有 DNS 查询。**让它作为 Headscale 唯一下发的 DNS。风险是如果 Lab 或者 PVE 故障,DNS 就会不可用;此外如果 Tailscale 没有成功打洞,通过 relay 连接延迟可能较高。(注意:如果选择这种方案,Headscale 不能除了 AdGuard Home 以外下发其他公共 DNS,否则会造成竞态导致 <code>.skywt</code> 时而能解析时而不能)</li> </ol> <p>综合考虑,我选了第二种方案。保留对一切的控制对我来说更重要。</p> <p>下一步是在 Lab 上开一个反向代理网关,让 <code>photos.lab.skywt</code> 能访问到 Immich 服务。主流的选择是 Nginx、Caddy、Traefik 等。我一直比较喜欢 Caddy,因为它的配置简洁清晰,搭配 caddy-docker-proxy 能在各个服务的 compose.yml 里指定对应的反代配置,而无需每次修改 Caddyfile。(不过这个似乎也没有那么必要了,毕竟现在 compose.yml 和 Caddyfile 也不是由我们来写 🤣)</p> <p>现在,Lab 运行了 Immich,我们能通过 <code>photos.lab.skywt</code> 访问了,但此时还没有 HTTPS。域名都不在公网,Caddy 是无法申请到真实的 TLS 证书的。我希望在我们的网络中使用统一的自签证书。Caddy 正好提供了这个功能,从 Lab 上的 Caddy 导出根证书,在我们用的所有客户端安装并信任即可。我在 <code>ca.lab.skywt</code> 做了一个「证书安装指南」。</p> <p>Lab 上的服务能通过 HTTPS 访问,但目前 Dev 上还不行。Lab 和 Dev 的 Caddy 是相互独立的,而我希望整个网络统一只有一个根证书需要信任。好在 Caddy 本身可以作为 ACME server,可以让 Lab 给 Dev 签发证书。在 Dev 中的 Caddy 设置让它向 Lab 申请证书即可。这样,我们也能通过 HTTPS 访问 <code>project-a.dev.skywt</code>。</p> <h2>统一的网络代理基础设施</h2> <p>由于众所周知的原因,上面的所有 VM 的网络访问环节都可能遇到问题。如果要在每台 VM 都配置代理客户端,不仅很重复,维护起来也很麻烦。</p> <p>因此,我专门开了一个名为 Proxy 的 VM,作为「<strong>统一的网络代理基础设施</strong>」。这台 VM 只做一件事:运行 Mihomo,配置好路由分流规则,每五分钟 benchmark 一次机场提供的节点并择优,暴露 HTTP/SOCKS 代理端口 10810。任何网络中的主机都能通过将代理设为 <code>http://proxy:10810</code> 而直接使用代理。</p> <p>这个 Proxy 已经可以服务我的各个 VM 和 MacBook。然而,无法直接设置 HTTP 代理的 iOS 设备还是无法使用。iOS 还有个限制:同时只能开启一个 VPN Profile,因此如果开启了 Tailscale,就无法开启其他用于代理的 VPN。如前文所述,我还是希望实现「24 小时在 Tailscale 网络中」。能否将这两者直接合二为一呢?</p> <p>我的解决方案是:在 Proxy 配置透明代理,让 Tailscale 进入 Proxy 的流量通过 Mihomo 分流出口。这样,只要任何设备将 Proxy 设为 exit node,就能无感地实现分流代理。我再也不用额外安装配置任何 Surge/Shadowrocket/Clash 等第三方客户端了,也不需要没完没了地设置/传入环境变量了,只要一个 Tailscale,all in one。这太酷了!</p> <h2>结语:沧海桑田</h2> <p>似乎就在不久前,每个 compose.yml 还都要手写,每个 Caddyfile 还都要手动更新,每个问题还都要去翻日志排查,去 Stack Overflow 找答案。人类的知识、注意力和耐心如此有限,总有些想折腾的东西没精力去做。</p> <p>这么快,那样的日子就已经一去不复返。在今天,完成上面的一切,只是偶尔在 ChatGPT 聊聊天的结果,无需手写一行代码。<strong>我想要的一切都能够梦幻般地随着几句话而立即变为现实。</strong></p> <p>让人感慨的同时,也很令人兴奋。</p>

2026/7/24
閱讀更多

那些「酷,但用不着」的 self-hosted 应用

<p>Self-host 即「自部署」,指的是在自己的服务器上部署软件程序,从而替代 SaaS 应用。</p> <p>前几年我有一种 self-hosted 狂热。没事就刷刷 <a href="http://awesome-selfhosted.net">awesome-selfhosted</a>,总想让服务器承载更多好玩的功能。得益于 Docker 和 Caddy,只需要写一个 compose.yml,一个新的应用就能立即上线并通过 skywt.cn 的子域名访问,部署体验方便快捷。</p> <p>这些软件的开源的精神非常宝贵,也是这个世界所需要的。然而不得不承认,大多数开源产品的软件更注重功能而非设计,不少设计非常缺乏品味,这并不是我想要的。加上由于:1)自从工作以来,属于自己的折腾时间大大减少了,我不希望再花太多精力在这些服务的维护上;2)我已被绑定在 Apple 生态中,结合 iCloud 有很多产品都能找到 Apple 体系的替代品。</p> <p>因此,现在我身上的这种 self-hosted 狂热有些退烧了。</p> <p>最近,正值网站改造之际,我将服务器上不常用的 self-hosted 软件都下线了,只保留我真正会用到的几个。下线的这些所有软件,都是我以前感兴趣过、折腾过、兴奋过的。这篇文章将它们记录下来,以表纪念。</p> <h2>酷,但用不着</h2> <p>这些是我已经下线的应用。以前部署过,或许用过一段时间,但后来因为各种原因已经用不着了。</p> <ul> <li><a href="https://supabase.com/docs/guides/self-hosting">Supabase self-hosted</a>:Supabase 的自部署版,全面的后端解决方案。**不要自部署,会变得不幸(虽然看起来很酷)。**我们使用 Supabase 无非是想要将后端复杂度外包出去,但自己部署则完全且彻底地违背了这一初衷。光是示例的 compose.yml 文件长达五百余行,包含这些组件:studio、kong、gotrue、postgrest、realtime、storage-api、darthsim/imgproxy、postgres-meta、edge-runtime、logflare、postgres、timberio/vector、supavisor、minio。还是用 Supabase 在线服务吧。</li> <li><a href="https://github.com/dbeaver/cloudbeaver">CloudBeaver</a> / <a href="https://www.phpmyadmin.net">phpMyAdmin</a>:管数据库用的 WebUI,不用写 SQL 就能增删改查。有段时间我甚至拿 CloudBeaver 当我的网站后台,直接在这儿发博客。酷,但现在我的数据库都上了 Supabase,这些都不需要了。</li> <li><a href="https://www.authelia.com">Authelia</a> / <a href="https://www.keycloak.org">Keycloak</a>:自建 SSO,给所有 self-hosted 应用一个统一的用户系统。酷,但我不再需要单独自建 SSO 了。Supabase 提供<a href="https://supabase.com/docs/guides/auth/oauth-server/getting-started">作为 OAuth Server 的功能</a>,这样账户体系可以直接共用我的 skywt.net。这更酷了!</li> <li><a href="https://freshrss.org/index.html">FreshRSS</a>:简洁好用的 RSS 阅读器。酷,但我现在使用开源 RSS 客户端 NetNewsWire,足够简洁,通过 iCloud 同步是更方便的选择,不再需要在 Web 里看 RSS 了。</li> <li><a href="https://github.com/dani-garcia/vaultwarden">VaultWarden</a>:BitWarden 的开源服务端。酷,但我已经完全使用 Apple Passwords 代替将近一年,没有发现任何场景下的问题。</li> <li><a href="https://nextcloud.com">NextCloud</a>:历史悠久、功能强大的网盘系统,应用生态异常强大,足够折腾很久。酷,但基于 PHP 的古老技术栈让使用体验一言难尽。大多数功能都属于「看起来很酷,但实际上你不会用」的(真的有人会在 NextCloud 这种东西里管理菜单食谱购物清单吗?)。或许在团队协作的场景中会很有用,但对个人而言,没必要。</li> <li><a href="https://cloudreve.org">Cloudreve</a>:强大的云盘。酷,但我有 iCloud 了。</li> <li><a href="https://usememos.com">Memos</a>:最开始是 flomo 浮墨笔记的开源替代品。酷,但我有什么想法都发推特了,和这个形式也很类似。另外吐槽一下,这个软件的产品设计改来改去的,每过几个版本 UI 就大改一次,真的有点难适应。</li> <li><a href="https://gitea.com">Gitea</a>:类似 GitLab 的平台。酷,但目前想不到将任何一个项目传到自己的平台而非 GitHub 的理由。</li> <li><a href="https://github.com/SnapDrop/snapdrop">Snapdrop</a>:传文件工具。酷,但有太多替代品了。Apple 生态内 AirDrop 体验也比这个好太多了。</li> <li><a href="https://github.com/coder/code-server">Code-server</a>:网页里的 VSCode。酷,但我究竟在什么情况下会放着本地的 IDE 不用而在浏览器里受罪呢?</li> <li><a href="https://github.com/janeczku/calibre-web">Calibre-web</a>:给 Calibre 里的电子书一个 web 页面。酷,但如果我要看我有哪些书,打开自己本地的 Calibre 看起来更方便……</li> <li><a href="https://overleaf.com">Overleaf</a>:强大的 all-in-one 在线 LaTeX 编辑器。酷,但只有写非常正式的论文用得着,且自己部署占用资源太大了,使用体验还不如用官方的在线服务 overleaf.com。</li> <li><a href="https://getoutline.com">Outline</a>:支持团队协同编辑的知识库。酷,UI 好看,协同体验很不错(有点类似飞书文档),但部署非常麻烦,个人使用真的没必要。</li> <li><a href="https://github.com/cooderl/wewe-rss">WeWeRSS</a>:将微信公众号转为 RSS feed。利用的是(逆向得到的)微信阅读的接口。酷,但账号失效太频繁,我不得不隔三差五就去重新扫码认证账号,维护成本太高。万恶的微信,</li> </ul> <h2>酷,且用得着</h2> <p>我的服务器上依然有一些我经常会用的 self-hosted 应用。这些应用一般必须依赖服务器,找不到非自部署的替代品,因此我依然保留。</p> <ul> <li><a href="https://docs.rsshub.app">RSSHub</a>:将任何网站转为 RSS feed。公共实例可能速度慢、不稳定,因此选择自部署。</li> <li><a href="https://github.com/Finb/Bark">Bark</a>:利用 APNs 给 iOS 推送通知。很好用。</li> <li><a href="https://headscale.net">Headscale</a>:开源 Tailscale 服务端,内置 DERP Server,非常好用。由于众所周知的原因,要想使用 Tailscale 必须自己部署节点。</li> <li><a href="https://matomo.org">Matomo</a>:我体验到的最为强大的网站监控工具。试用过 Plausible、Umami,功能都不如 Matomo 强大。(不过 Matomo 使用体验上比较一般)</li> <li><a href="https://archivebox.io">ArchiveBox</a>:将网页存档下来。在这个互联网快速崩塌的时代尤其重要。</li> <li><a href="https://www.min.io">MinIO</a>:兼容 S3 的对象存储。部署这个是为了做国内的图床镜像。虽然我主要使用 Cloudflare R2 作为图床,但由于众所周知的原因,国内访问速度似乎被刻意劣化了(实测下载 3mb 左右的图片需要二十多秒)。因此不得不在境内网络也建镜像。然而各大老牌云厂 S3 都不便宜,不如自己服务器上建一个,性价比最高。</li> <li><a href="https://caddyserver.com">Caddy</a>:能够自动申请 TLS 证书的 WebServer。配置简洁方便,一行配置即可反向代理启动一个网站。对个人而言,比 Nginx 好用太多了。特别是结合 <a href="https://github.com/lucaslorentz/caddy-docker-proxy">caddy-docker-proxy</a>,连配置 caddy 的工作都只需要在对应服务的 compose.yml 中完成。Self-hosted 玩家必备。</li> </ul> <p>自从工作后,属于自己的时间更加宝贵了,不像曾经能够花一下午的时间折腾某个细微的问题,这才更加理解诸如 Serverless 这种「将复杂度外包出去」服务的价值。现在我的数据库放在 Supabase,文件存在 Cloudflare R2,前端(海外)部署在 Vercel。不用花太多精力维护,能够信任它们的稳定性,我们能将精力花在更重要的地方。</p>

2025/12/17
閱讀更多

我眼中的 AdventureX 2025

<p>去年首届举办的 AdventureX 2024 是我第一次参加黑客松。这场活动曾经给我带来了极大的震撼,深刻改变了我的一些观念,也让我结识了许多好朋友。正因如此,当 AdventureX 2025 开放报名时,我毫不犹豫地提交了申请。然而,今年的这一活动不仅引发了巨大争议,并且整体活动体验也完全没有达到我的预期。</p> <h2>从 AdventureX 2024 说起</h2> <p>参加完去年的 AdvX 24 后,我最核心的 take-away 是:</p> <p><strong>世界上最优秀而野心勃勃的那些人,大多不在大公司里,而是在初创公司</strong>。</p> <p>如果说《黑客与画家》指出了我理想的职业路径,AdvX 24 则让我在现实生活中看到了这种路径。各种 workshop 让我对创业、VC 等有了具体概念。认识的许多雄心勃勃的朋友让我相信:我们现在就有创造和改变这个世界的力量。(在大学这种死气沉沉的氛围中待久了,人似乎会慢慢不相信这一点)</p> <p>在 AdvX 24,我也认识了许多好朋友。和他们交谈的过程中,他们的生活经历、世界观都极大拓宽了我的眼界。和他们的友谊也持续至今。</p> <p>从参赛体验来说,印象中 AdvX 24 体验非常好。很大程度上因为在 AdvX 24,朱浩宇 Ryan 本人并不负责公关。公关工作都是由崔浡然 Marvin 负责的。去年最大的一次公关危机,源于一位跨性别者在心理性别卫生间如厕后被选手投诉。随后,某工作人员在通知群中提醒「只能按照生理性别上厕所」,并在通知中使用了「伪娘」等歧视、侮辱性词汇。引发争议后,Marvin 第一时间在通知群中代表 AdvX 团队道歉,收回发表的不当言论,并称跨性别者可以将无障碍卫生间作为 unisex 卫生间使用。这件事充分体现了去年 AdvX 团队(或者说 Marvin 本人)出色的公关能力。</p> <p>去年也出现了未入选的选手希望强行参赛(后报警处理)、赞助商物料被盗窃等事件,但公关团队始终保持克制,没有将工作人员个人情绪在通知群里随意发泄。</p> <p>参加 AdvX 24 时,我正在某大厂实习,请了一周的假去参加。活动结束,回到上班生活后,感觉这一周的一切都像一场梦一般。</p> <p>或许正是去年 AdvX 24 的成功拉高了大家的心理预期,今年的 AdvX 25 才会如此使人失望。</p> <h2>主办方</h2> <p>活动期间,推特上对 AdvX 25 主办方已有许多争议。其中大多数都源于 Ryan 本人的不当言行引发的公关灾难(去年的公关 Marvin 今年没有参与 AdvX 的工作)。作为参赛选手,我见证并感到不适的主要有以下几点:</p> <ul> <li>赛前针对「很多人重复咨询的内容,文档里都有」这一问题,想到的解决方案居然是「安排一个线上考试,通过考试后才能进入赛场」。(飞书中设置了投票,有 1/3 的人反对)</li> <li>屡次以「……否则取消参赛资格」的口吻发布通知。场内的告示牌也随处写着「违者将被取消参赛资格」。</li> <li>活动第一天,某选手仅因咨询工作人员补贴相关事宜,被 Ryan 定性为「诈骗主办方」,其个人信息在通知群中被曝光。 <ul> <li>在这条通知的评论中,对于反对意见,Ryan 回复:「请你取消参赛资格。」「对于上一条发表不当言论的人,我们均以(已)记录,均会进行处理。」</li> <li>此后,Ryan 补充了一则傲慢的通知,强调「AdvX 是纯公益的活动」。结尾是「现在,你还可以选择退出 AdvX。」</li> </ul> </li> <li>据信,团队中负责公关的小伙伴已经帮 Ryan 写好了道歉信、公关稿,但 Ryan 拒绝发布。</li> <li>比赛期间发生了在卫生间马桶外便溺的不文明事件。然而 Ryan 选择了最不妥的方式处理:以全员通知的形式发布「新的挑战」,宣布找到此人即可获得奖励 5000 元。 <ul> <li>这直接破坏了整场比赛的氛围,让很多队伍的作品都趋向于以「玩梗」的方式解构这一事件。</li> </ul> </li> </ul> <p>我认为 Ryan 的各种言行对此次活动造成了极大破坏,不仅破坏了选手的参赛体验(许多有实力的选手因此放弃席位),也破坏了 AdvX 25 团队成员的努力,破坏了赞助方和公众的信任。尤其严重的是那句「对于上一条发表不当言论的人,我们均以(已)记录,均会进行处理」,非常过分。并且,至今 Ryan 本人也没有给出任何道歉。</p> <p>除此之外,主办方通过出售选手的报名信息(含未入选者的信息)的方式获得赞助,也引起了极大争议。可以参见 AdvX 24 的前组织成员 Max 的文章:</p> <ul> <li><a href="https://mp.weixin.qq.com/s/1XVuvhWMWaq_th4VkTIP0Q">你把梦想交给 AdventureX,他们却转手卖了 9 万块。</a></li> <li><a href="https://mp.weixin.qq.com/s/KTUc8N46V1KEuR_YOT1W4w">AdventureX 的最新官方回应,充满着傲慢、谎言与背叛。</a></li> </ul> <h2>赛制和规模</h2> <p>本次活动参赛选手共八百多人。这种活动的体验必然会随着人数增加而下降,所以我认为主办方追求「规模大」的目标(所谓「中国最大的黑客松」)并没有任何意义。由于人数导致的不良体验,总结来说有如下几点:</p> <ul> <li><strong>信息淹没</strong>。<a href="https://x.com/vanillacitron/status/1942515989536727291?s=46">Citron 在活动前在推特上的担忧</a>成为了现实。去年参赛选手只有一百多人,我们可以加上每个人的微信,几乎和所有感兴趣的人聊一聊,很容易就能找到我们想要认识的人。然而,今年面对八百多人的规模和飞书持续的消息轰炸,我们已经无心加任何人。我唯一做的就是在飞书中发了个自我介绍贴,去和「看到帖子后来联系我」的朋友聊了聊,其他人我根本无暇顾及。</li> <li><strong>场地拥挤</strong>。最后一天 demoday 每个队伍只能分到很小的场地,无法展示易拉宝等宣传物料;人流量大导致网络环境差,让大多数需要联网的产品无法演示;有的队伍(包括我们队)还分到了主会场外的分会场,地点偏僻,人流量远远不足。</li> </ul> <blockquote> <p>漫步在静安的街道上,我会关注大家的穿搭并默默在心里赞赏,可春运期间的火车站我甚至不会在意对方是不是有穿衣服,因为实在是,太过载了。</p> <p>—— Citron</p> </blockquote> <p>本次活动的评委机制也有很大问题。关于评委体验,小红书帖子《AdventureX 黑客松:外地评委视角》中有指出,但该帖已被删除。概括来说,评委机制要求评委去寻找特定编号的摊位,而 demoday 人数过多、寻找困难、体验极差,导致评选效率极低,有的评委只能在无奈之下给出随机评判。</p> <p>本次活动的线上系统,尤其是作品提交系统,也带来了极差的体验。我想特别指出的是,<strong>我们队由于系统问题而没有成功报名任何赛道</strong>。我们明确在系统中填写了某赞助方赛道,然而当赛道赞助商来到我们的摊位时,表示系统里并没有看到我们队的信息。经过后续确认,系统内实际没有报名成功,但前端明确地显示了报名成功。当发现这一问题时,奖项已经全部公布,所以我们也无法追究。(考虑到上文提及本次比赛极差的评委机制设计,可以近似认为奖项是随机生成的,因此我们也不是很在乎)</p> <p>此外,活动的商业化气息过于浓厚。开幕式宣布赛道时,由于每个赛道都是由赞助方赞助的,宣布对应赛道之前会播放赞助商的视频,而这种视频良莠不齐,使得整个开幕的效果都大打折扣,体验很像在那种免费盗版网站看电影——每隔几分钟插播一则小广告。(因此我不认为免费公益是傲慢和体验差的借口——你难道会喜欢遍布葡京娱乐城小广告的免费盗版视频网站吗?)</p> <h2>选手</h2> <p>对我而言,AdvX 最大的价值在于链接各种优秀的人。「做出有意思的项目」反而是次要的目标。然而,今年我在活动上 connect 到的足够优秀的人,数量并不及预期。</p> <p>可能由于今年的人员审核存在很大问题。据主办方内部小伙伴透露,今年由于报名人数过多、工作人员不足,所有审核人员都已经「摆烂」「精疲力竭」。在审核环节中也存在严重的标准不统一现象。</p> <p>今年入选的选手普遍年龄偏低,有很多未成年人,特别是许多初中生。他们的社会化程度太低。具体表现在:不懂得承担责任、喜欢玩各种无聊的梗、喜欢「装」、不知道什么时候该说什么话……虽然这属于正常的成长阶段(我在中学时期也是如此 😂),但大量低龄选手的入选就是拉低了社交活动的平均水平。</p> <p>此外,年龄小的选手还没有形成自己的核心能力。有的小朋友只是对技术特别感兴趣,对刷机、网络代理、软路由等小众领域折腾和研究得很深,但他们目前还不具备构建一个产品所需的技术能力。(我在中学时期也是如此 😂)虽然 AI 让很多技术问题都不是问题,但要让产品真正落地,更多时候还需要实际的经验。</p> <p>当没有能聊得特别亢奋的朋友时,缺乏睡眠会带来比较痛苦的体验。</p> <h2>The take-away</h2> <p>参加完这次活动,我觉得我对 AdvX、对「年少有为」的叙事、甚至对这类 Hackathon 赛事都有些「祛魅」了。</p> <ul> <li><strong>世界上没有这么多天才少年。改变世界不能仅凭满腔热血和灵光一现。成长就是需要积淀的过程</strong>。</li> <li>AdventureX 这类活动之所以如此吸引人,主要是利用了我们的 FOMO 心态。</li> <li>你不需要一个 AdventureX 来帮你创造发生。</li> </ul> <p>关于这次比赛本身的评价,我觉得<a href="https://www.xiaohongshu.com/explore/68808c0d0000000013010e5c?app_platform=ios&amp;app_version=8.94.2&amp;share_from_user_hidden=true&amp;xsec_source=app_share&amp;type=normal&amp;xsec_token=CBW974skCCxw-pk4NAvLogWxJfa306IRr3O025SFaeOww=&amp;author_share=1&amp;xhsshare=CopyLink&amp;shareRedId=ODg7M0RLOjo2NzUyOTgwNjg0OTk0OD9L&amp;apptime=1754443962&amp;share_id=a81f4ff2f6864343b6a8d2b859b715f0">这个小红书帖子</a>说得最确切。引用如下:</p> <blockquote> <p>AdventureX 整个活动奇怪品味就不多讨论了,无论从行为、文字和审美上。这里只想讨论一个事情,我们在「创造」、「反叛精神」下的话语定义是否有点太 VC hype(指迎合风投口味的炒作叙事)或者二手或者 N 手硅谷叙事了?以至于产生 AdventureX 这种利用资本 FOMO 和选手想要结交同辈/大佬情绪来贩卖选手信息获得赞助的故事。</p> <p>创造并没有被阻止,尤其自中国,低廉的基础物价和极高的信息密度让做任何创新都变得容易,唯一的桎梏只有自己的内心。你不需要一个 AdventureX 来帮你创造发生,一个 VC 来认可你的方向,只需要专注在你所创造的无论是否发布,是否成功。享受创作的心流,从自恋中跳出,到忘我的状态里。</p> <p>如果你对一件事情有完全的信心,你绝不会对此满腔热忱。没有人会为了太阳明天升起而大惊小怪,因为这完全在意料之中。人们之所以狂热地献身于政治或宗教信仰、教义或目标,正是因为他们心里没底。</p> <p>相比于 AdventureX 中喜欢使用的乔布斯或者嬉皮士叙事,我更想送给大家和我自己一句更「工程师」的话,出自约翰卡马克:「所谓障碍都是主观上的。 如果你想动手开发什么全新的技术,你不需要几百万美元的资金,你只需要在冰箱里放满比萨和可乐,再有一台便宜的计算机,和为之献身的决心。 我们在地板上睡过,我们从河水中趟过。」</p> <p>所以动手去做,享受创作本身。Yon Only Live Once。</p> </blockquote> <p>参加完这次 AdvX,紧接着就入职了公司。在看文档的时候看到了这句话,顿觉醍醐灌顶,好像就是为此时的我所写:</p> <blockquote> <p>成长的本质就是让一个人明白,他所在的当前的状态、角色应该要做的事情,不是他以前认为的那些事情。</p> </blockquote> <p><strong>人的成长就是个循序渐进的过程</strong>。没必要太 FOMO。这大概就是我参加此次 AdventureX 的最大收获。</p>

2025/8/14
閱讀更多

Weekly 停更公告与博客后续计划

<h2>Weekly 停止更新</h2> <p>很遗憾,虽然在本年初确立了「写一年的 Weekly 周记」的目标,但现在经过仔细的考虑,我不得不取消这一目标,无限期停止 Weekly 系列博客文章的更新。</p> <p>主要基于以下原因:</p> <ol> <li>我希望将博客建设为一个发布「长文」和「有一定深度文章」的平台。较短的、灵光一现的想法,目前都集中发布在 Twitter(未来或许会同步到其他社交媒体)。每周的 Weekly 其实只是将这些想法聚合并整理,本质上仍然是零散想法的集合,这没有太大的必要。对于较短的简单想法,Twitter 这类社交平台确实是更好的去处,能够获得即时快速的反馈。</li> <li>高频率的 Weekly 系列文章,让博客内容变得更加零散,缺乏明确的主题,降低了博客整体的平均内容质量。最重要的是,降低了博客内容的「有效信息密度」,让直接访问我的博客的人很难获取较大的价值。</li> </ol> <p>综合以上原因,我决定无限期停止更新 Weekly 系列博客。之后我希望我的单篇文章能够针对某一话题进行深度的讨论。写作对我而言,依然是一种和自己对话的最好方式。</p> <p>如果你依然喜欢 Weekly 这种零碎的想法集合,赶快来关注<a href="https://x.com/Skywt2003">我的 Twitter</a>!</p> <h2>历史文章归档</h2> <p>我的博客始于 2017 年。到现在居然已经近 8 年了。想想有些难以置信,毕竟我才 22 岁。</p> <p>最初,博客是初中参加 OI 竞赛时,一个用来发布题解的地方。因此,翻阅以前的文章,你会看到很多算法竞赛题目和某些数据结构与算法的学习记录。偶尔还有折腾一些杂七杂八技术的记录。</p> <p>OI 生涯结束于高二。高三一年,几乎没有更新博客。</p> <p>进入大学后,博客成为了折腾各种技术的记录平台。不管是玩 self-hosting、Nextcloud、Overleaf 还是研究教务系统、驾校系统,我都在博客上进行了记录和分享。自从有了 Weekly 系列,博客更是成为了记录新的想法、与自己对话的平台。</p> <p>然而,人的认知在不断发展。现在来看,很多以前的文章已经不能「代表我」。它们或许质量不佳,表述不清,文风杂乱,或者内容没有太大的价值。因为八年的时间足够让一个人彻底改变。</p> <p>因此,我将此类文章「归档」,折叠展示。</p> <h2>把博客当成一本书</h2> <p>对于自己用服务器搭建过网站,了解互联网是怎么一回事的我们这些人来说,往往对内容有一种不安全感。因为互联网其实并非像水和空气一样无处不在,发布的内容也并非像写在纸上的文字一样能永远留存,我们在任何平台上的创造,明天都有可能突然消失,再也找不到。无论是由于一次服务器故障,由于公司的变故,或是由于 cencorship 等不可抗力因素。创造的过程耗尽了我们的心血,但消失得却轻而易举、毫不费力。</p> <p>正因如此,我建设了自己的网站。我希望我的内容能在这里长存。</p> <p>我也希望博客是经历时间的「沉淀」,留下的我的世界观。从这个角度来说,「按照发布时间来组织文章」并不是最好的形式。许多文章应该随着我的认知成长而得到更新。因此,我希望效仿<a href="https://soulteary.com">苏洋博客</a>的<a href="https://soulteary.com/subject/tech/">知识地图</a>,将所有文章在一个页面里按照主题索引——就像一本书的目录那样。</p> <p>我希望我的博客成为一本书,能够在互联网的这个角落,记录我的世界。</p> <p>自己开发博客系统的好处就是可以定制一切需求,任何想法都能够在短时间内变为现实。上述的这些想法,应该都会在短期内上线~</p>

2025/7/2
閱讀更多

Weekly #34:22 岁,我要成为有趣的大人

<p>本期延迟了好几周,因为这几周被迫回学校做了一件很没有意义的事情。结合最近的一些体会,我现在认为填志愿时选择 HNU 是我人生的重大错误决策之一。高考完填志愿时决策根据是「学校 &gt; 专业 &gt; 城市」,如果让我重新选择,我会按照「城市 &gt; 学校 &gt; 专业」的标准。</p> <p>关于此,已经写了一篇文章,得等这件事结束之后再发布。</p> <p>其实我也在思考博客周记 Weekly 的组织模式:</p> <ul> <li>以时间为标尺,每周固定发一篇(目前的期望模式):必然存在一些还未完全成熟的想法和文字「赶鸭子上架」的情况,文章内容质量可能不及预期。这可能会导致博客整体文章质量降低。这种文章组织形式也可能会使文章泛泛而谈、缺乏主题和深度。</li> <li>以内容为标尺,攒够内容再发一篇:容易带来压力和拖延,无法保证定时发布,甚至有可能陷入无限期停更。</li> </ul> <p>目前开始对 Weekly 的暂行调整是:不期望严格每周发布,如遇特别事件可能 gap 一周。期望全年 gap 不超过 5 周。</p> <h2>🎈 22 岁,我要成为有趣的大人</h2> <p>我 22 岁了。22 岁,正是该谈论梦想的年纪。</p> <p>我认为随着年龄的增长,很多人会逐渐失去青春的热情,沦为平庸,成为无聊的人。因此,我的愿望之一是:<strong>我要成为有趣的大人</strong>。</p> &lt;iframe allow=&quot;autoplay *; encrypted-media *;&quot; frameborder=&quot;0&quot; height=&quot;150&quot; style=&quot;width:100%;max-width:660px;overflow:hidden;background:transparent;&quot; sandbox=&quot;allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation&quot; src=&quot;https://embed.music.apple.com/us/album/22-taylors-version/1595423133?i=1595423261&quot;&gt;&lt;/iframe&gt; <h2>☁️ There's something in the Air</h2> <p>新购买了 M4 MacBook Air 天蓝色!</p> <p>今年 Apple 新推出的天蓝色,真的非常漂亮,我在 Apple Store 看到的第一眼就爱不释手。到手后,这个外观效果依然超出预期,在不同光线下会展现出不一样的效果。充分展现了 Apple 工业设计的实力!</p> <p>我们大概永远无法想象到 <a href="https://www.bilibili.com/video/BV1qx411x72v/?share_source=copy_web&amp;vd_source=cd3fa74d3421ce574a62e3c11dcde9f6">2007 年的那场发布会</a>,乔布斯从信封里拿出 MacBook Air 时,给世界带来的震撼。「There's something in the Air」,这场发布会也成了改变世界的一场发布会之一。</p> <p>如今,乔布斯离开十多年了,现在的 Apple,似乎已经越来越衰落。这次 M4 MacBook Air 以及 iPad Air 产品线的更新,库克在推特上也「碰瓷」了这句标语:「There's something in the Air」。然而由于新 iPad Air 远不及预期,遭受了不少骂声。</p> <p>虽然 Apple 似乎「日薄西山」,但目前还没有任何一个操作系统,设计与交互能与 Apple 的操作系统比肩。一个朋友认识一些在华为的设计师,他们整个部门都有一种不成文的共识:我们就是在抄 Apple,Apple 出什么我们就抄什么。其实可以有这种感觉:几乎任何国产手机厂商都在抄 Apple 的设计……</p> <p>有时候会想,我们能用上 Apple 这样的产品,并不是历史的必然。如果世界上没有乔布斯,我们如今能选择的操作系统只有 Windows、Linux、Android 这种了。世界有乔布斯和 Apple,是一种幸运。</p> <p>《浪潮之巅》里写道,科技行业存在着某种周期,技术的革命总伴随着一批公司的衰落和另一批公司的兴起。Apple 或许在走下坡路了,但目前似乎还没有设计能达到 Apple 水准的下一代人机交互终端出现。希望我们不会沦落到有朝一日只能用 Windows 这样的操作系统。</p> <h2>😷 生病有感</h2> <p>清明节放假三天,在放假前一天晚上开始身体不舒服,结果患了比较严重的感冒,直到假期最后一天晚上才有所恢复。因此,我相当于<strong>完美错过了整个假期</strong>……</p> <p>生病的感觉太难受了。这种难受并不仅仅在于身体的难受,因为我理智上知道喉咙疼、头痛、咳嗽都只是暂时的,熬一熬就能过去;更难受的是认识到这一事实:属于我自己的宝贵的时光正在不断溜走,而我只能躺在床上,什么都做不了。本来这段时光应该用于学习、思考、创造,用来做其他更有意义的事情的。生病让自己的时间完全失去了掌控。</p> <p><strong>生病给人带来的最大折磨是「主观能动性」的丧失</strong>。</p> <p>按照上一期 Weekly 的时薪计算方法,本次生病的间接经济损失达到了至少【<em>数据删除</em>】元!😱</p> <p>正好最近又重读了《献给阿尔吉侬的花束》,结合这次生病的体验,我再次有这种感觉:</p> <p><strong>精力充沛的身体(不生病),神志清醒的头脑(智力处于正常水平),是属于我们最大的财富</strong>。</p> <h2>🌟 Bookmarks</h2> <p><strong>Articles:</strong></p> <ul> <li><a href="https://www.bilibili.com/video/BV1HQ4y1B7W4/?spm_id_from=333.1007.top_right_bar_window_default_collection.content.click&amp;vd_source=300d46a8f5f6dcc4692f1d6bb250a931">我们亲爱的 Steve - Apple</a>:「Everything around you that you call ‘life’, was made up by people who were no smarter than you. 」</li> <li><a href="https://www.v2ex.com/t/1121385">AppStore 首页推荐后,依然月入不足 3000,独立开发两年血泪复盘 - V2EX</a></li> <li><a href="https://ryolu.notion.site/how-to-make-something-great">How to make something great</a>:「在一個充斥著A/B測試、焦點小組,以及對『數據驅動』一切的盲目崇拜的世界裡,很容易在搖籃中扼殺一個年輕的想法。如果你過早地急於驗證——在想法形成清晰的形態之前,在你給它時間和空間成長之前——你只是在證實嬰兒無法跑馬拉松。當然不能。偉大不是通過倉促的讚成或否決召喚而來的。相反,要將懷疑內化為需要更多探索的信號。精煉概念,豐富它,為它注入新的養分。之後,一旦它能獨立站立,世界才能判斷它的步伐。但過早地扼殺它,你就摧毀了一個從未有機會證明自己的東西。」</li> <li><a href="https://mp.weixin.qq.com/s/XDj9l3oAMXRU_IOYT2C3yw#wechat_redirect?wxwork_userid=sunchenwei">Notion 创始人复盘:成为独角兽之后,我们走了哪些弯路?</a></li> </ul> <p><strong>Resources:</strong></p> <ul> <li><a href="https://sideproject.guide/">Side Project 指南</a></li> <li><a href="https://font.subf.dev/en/">Maple Mono</a>:很漂亮的 mono 字体。</li> </ul>

2025/4/15
閱讀更多

Weekly #33:我们每小时的价值

<h2>🕙 我们每小时的价值</h2> <p>我们每小时的价值都是可以计算的,但我们经常意识不到这一点。</p> <p>根据我们在公司的薪资,能够算出公司发放给我们的「时薪」;而我们每小时真正能够产生的价值,肯定大于这个时薪,这样公司才不会亏本。这样,能够大致估算我们每小时的价值。</p> <p>对于时间管理,这是一个截然不同的视角。如果我们能定好每小时的价值,就能决定哪些事情我们值得去做。</p> <p>写到这里,仔细回想了一下,虽然近期才体会到这个道理,但其实这个观点在很早以前看的《纳瓦尔宝典》里就出现过了,只是当时还在学校,没能自己创造价值。果然,看过的书都是埋在心里的一颗种子,很神奇。</p> <blockquote> <p>给自己的时间设定价格,用时薪计算时间价值。如果用花钱的方式节省的时间价值更高,那就花钱,不要犹豫。要想真的赚到钱,先要相信你自己很值钱。</p> <p>没有人会比你更看重自己。你要做的就是给自己设定一个极高的时薪,并坚持执行。即使在我年轻的时候,我也认为自己的时间比市场的定价更值钱,并一直遵循这个思路。</p> <p>在做决策时,你要把时间作为一个考虑因素。做这件事需要多长时间?假设一个东西需要花费你一小时车程才能拿到,如果你给自己设定的时薪是 100 美元,那么这一趟基本上等于花掉 100 美元,你还要亲自去拿吗?</p> <p>——《纳瓦尔宝典》</p> </blockquote> <h2>🤖 订阅 Cursor Pro</h2> <p>本周订阅了 Cursor Pro,价格是 $20 每月。其实这个价格并不贵,如果按照以上的「时薪」视角计算,也就是 1~2 小时产生的价值。反思了一下,我之前之所以觉得贵,是因为:1)软件付费观念没有形成;2)作为学生没有收入。</p> <p>订阅制的生产工具还能够时刻提醒你,你的时间的价值。如果白嫖,你会感觉无论用不用都一样;但订阅后就会感觉到,如果不多使用,就是一种浪费。😂</p> <p>此外,我觉得选择订阅并长期使用一个软件,也像一种「投资」,因为迁移到别的软件需要成本,需要重新学习各种概念和使用习惯。目前 AI IDE 里,Windsurf、Trae 都是不错的选择,但最终我选择 Cursor 的原因是:Notion 前首席设计师 Ryo Lu 加入了 Cursor。Notion 是多么优雅的一个产品,大家有目共睹。在未来,Cursor 的设计和体验也一定会得到保障。</p> <h2>📄 Read.cv 复刻版</h2> <p>Read.cv 被 Perplexity 收购了。收购的方式很奇葩。Perplexity 其实是想要 Read.cv 团队的人加入 Perplexity,于是收购了 Read.cv,然后决定把这个业务关停!</p> <p>这么漂亮的网站被关停太可惜了。于是我像素级复刻了一下:<a href="https://wutian.cv/">wutian.cv</a>。是基于 Astro.js 的,还没特别完善,之后会单独发一篇博客介绍一下并开源。</p> <h2>💡 Misc Ideas</h2> <ul> <li>体验了华为 Pad,不支持 App 内五指聚拢返回桌面,相比 iPad,这就很不符合直觉,很不「Native」。类似地,许多 Web 应用给人不 Native 的感觉,也是由于它们支持的手势太受限。Web API 只能是 Native API 的子集。</li> <li>不同岗位的设置,除了分工以外,还有分担责任的功能。产品经理岗位就能够分担产品决策的责任。作为研发,我对体验细节或者逻辑上有任何不确定的,只需要和产品经理确认,而不用自己承担决策的责任。</li> <li><strong>AI 能改变我们的阅读方式吗</strong>?或许对于非虚构类书籍,AI 能提供一种比阅读更高效的信息获取方式。但目前这种形态似乎还没出现。试用了 <a href="https://3min.top">3MinTop</a>,说实话体验难以令人满意,比不上阅读。</li> <li>我很讨厌各种低代码、无代码平台,因为它们:1)使用复杂度已经高于写代码了;2)表达能力比不上代码。此处,低代码平台也可以泛指 Microsoft PowerPoint 这种工具。</li> </ul> <h2>🌟 Bookmarks</h2> <ul> <li><a href="https://x.com/dotey/status/1899850836521472396">刘小排的采访视频:一个人年入千万,AI 创业的十个步骤</a>:「我特别爽,就像个孩子一样迫不及待地展示给你看,阿拉伯的用户啊,外国的博主啊,甚至台湾博主都在介绍我和全球顶级 AI 画图工具放在一起,他们不知道背后是个普通人。」</li> <li><a href="https://magicui.design/">Magic UI</a>:很酷的组件库。原来之前看到许多炫酷的 Landing Page 设计都能在这里面找到。可以与 Shadcn UI 搭配使用。</li> <li><a href="https://github.com/yl8976/Email-to-RSS?tab=readme-ov-file">yl8976/Email-to-RSS.</a>:Self-hosted 版本的 kill-the-newsletter。可以直接通过 Cloudflare Workers 这类 Serverless 方式部署。</li> </ul> <p>下周见!</p>

2025/3/19
閱讀更多

Weekly #32:「下班时间」比「上班时间」更重要

<h2>🌇 封面图:D2 终端技术大会</h2> <p><img src="https://blog.skywt.cn/usr/uploads/2025/03/4241728679.jpg" alt="D2 终端技术大会" /></p> <p>本周末在阿里总部参加了 D2 终端技术大会。</p> <h2>🛏️ 早睡早起计划</h2> <p>在《为什么精英都是时间控》里,作者提到:对我们这种打工人来说,让属于自己的时间延长的方法之一是:早睡早起,将晚上的时间「转移」到早上。因为下班后的时间里往往精力已经被耗尽,无法做自己的事情;而上午上班前的时间则最为精力充沛。</p> <p>去年春天,在学校准备春招找实习的时候,我也尝试过这种作息:11:00 睡觉,早上 6:00 至 6:30 起床。那段时光天气渐渐转暖,每天都有很好的太阳。那段时光是我记忆中大学四年里最为充实的时光。<a href="https://skywt.cn/blog/weekly-0">Weekly 的第零期</a>也大致开始于那个时候。虽然当时每天都在图书馆自习(并非处于上班状态),但能明显感觉到这样的作息让一天的时间都「延长」了。</p> <p>后来到了秋天,拿了 offer 之后,由于频繁参加晚上的社交活动,经常到半夜;签了三方后没有进一步的目标,比较懈怠;天气渐冷,起床太困难……综合各种因素,放弃了这样的作息。(连 Weekly 也连同着一起被放弃了)</p> <p>现在,我所在的公司上班时间是上午 10:30 至晚上 9:30 左右。这正适合这种早睡早起的作息!如果能做到早起,早上会有很多属于自己的时间,其实并不亚于 6:00 下班。</p> <p>其实,这个行动里「早睡」比「早起」更难。我的一些 practice 包括:</p> <ul> <li>睡前不要看手机了。Apple 生态的 Screen Time 设置里包含 Downtime 功能,这一功能允许设置每天固定时段为 Downtime,例如晚上 11:00 至早上 5:00。在这个时段内,设备里的所有 App 都处于「超过使用时间限制」的状态,并且状态在 iPhone、iPad、MacBook 同步。这可以有效避免睡前电子设备的刺激。</li> <li>把手机放在离床比较远的地方充电。这样起床歌时就不得不离开被窝,而不是在床上刷手机,😂</li> </ul> <p>不过,这种作息最大的问题就如前所述:<strong>不方便参加夜间社交活动</strong>。和朋友出去喝酒 K 歌到 12:00 之后是十分正常的,然而却不得不打乱我的早睡计划。</p> <h2>💼「下班时间」比「上班时间」更重要</h2> <blockquote> <p>你的早九晚五(上班时间)对未来的影响,远远没有你的晚五早九(下班时间)重要。</p> </blockquote> <p>下班后属于自己的时光,比上班时间更重要。最近认识了几个和我一样在大厂打工的人,再次深深体会到这一点。</p> <ul> <li>上周提到在 Let's Vision 居然有好多同在大厂打工的 booth 和 speaker,纯粹在业余时间靠着满腔热爱,做了自己的 side project,来到这个活动的舞台。甚至 Let's Vision 大会主席张思琦也是大厂打工人,在业余时间组织 Let's Vision 活动!🤯</li> <li>本周参加了 D2 认识的某位大佬,也在大厂打工,九点下班之后做 Web3 副业(不是投资炒币,而是做项目),目前副业收入已达到主业一半以上!🤯</li> </ul> <p>公司里的工作占据了我们每工作日至少 8 小时(加上用餐和午休,我目前是 11 小时),但这却不是真正属于我们的事业,我们终究大概率是作为一颗螺丝钉而存在的。大多数大厂打工人也怀着「离开无非是早或晚的问题」这样的觉悟。当然,这也是正常的,就如《远见》中提到:「一般人在自己的职业生涯中会经历至少 12~15 份不同的工作。」</p> <p>我们必须用自己的时间,开创属于自己的事业。不如现在就开始。</p> <p>想起《黑客与画家》里的这一段:</p> <blockquote> <p>黑客如何才能做自己喜欢的事情?我认为这个问题的解决方法是一个几乎所有创作者都知道的方法:找一份养家糊口的「白天工作」(day job)。这个词是从音乐家身上来的,他们晚上表演音乐,所以白天可以找一份其他工作。更一般地说,「白天工作」的意思是,你有一份为了赚钱的工作,还有一份为了爱好的工作。</p> <p>几乎所有的创作者在职业生涯的早期都有一份「白天工作」。画家和作家尤其显著。如果幸运的话,你能找到一份与你的「真正工作」非常相关的「白天工作」。音乐家似乎常常是在唱片行工作。同样地,钻研某种编程语言或操作系统的黑客,很可能会得到一份使用这些工具的「白天工作」。</p> </blockquote> <h2>🎵《世界赠与我的》—— 王菲</h2> &lt;iframe allow=&quot;autoplay *; encrypted-media *;&quot; frameborder=&quot;0&quot; height=&quot;150&quot; style=&quot;width:100%;max-width:660px;overflow:hidden;background:transparent;&quot; sandbox=&quot;allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation&quot; src=&quot;https://embed.music.apple.com/cn/album/%E4%B8%96%E7%95%8C%E8%B5%A0%E4%BA%88%E6%88%91%E7%9A%84/1791923799?i=1791923800&quot;&gt;&lt;/iframe&gt; <h2>🌟 Bookmarks</h2> <ul> <li><a href="https://news.ycombinator.com/login?goto=item%3Fid%3D43243075">Apple's Software Quality Crisis | Hacker News</a>:Apple 你在干什么!</li> <li><a href="https://www.zhihu.com/question/13453534732/answer/115166055109">如何看待当前的「前端已死」的论调? - 知乎</a>:「这世界哪有死亡,只是换一种方式永生。」</li> <li><a href="https://soulteary.com/2025/03/07/manage-homelab-devices-build-a-smarter-front-end-kanban-with-claude-1.html">管理 HomeLab 设备:借助 Claude 3.7 构建更智能的前端看板(一) - 苏洋博客</a></li> <li><a href="https://www.zaobao.com.sg/realtime/china/story20250308-5986949?utm_medium=Social&amp;utm_source=Twitter#Echobox=1741435424">中国科技股今年已飙升 4390 亿美元,远超美国同行</a></li> <li><a href="https://sspai.com/post/96073">春节自驾游:我看到了父母与现代性的距离 - 少数派</a></li> <li><a href="https://mp.weixin.qq.com/s/D_RUjcm-Efl3izpeWjXiDw">革命才刚刚开始|AdventureX 年终总结</a>:给 AdvX 的文案点赞。每次看他们的推文都感觉心潮澎湃。</li> </ul>

2025/3/12
閱讀更多

Weekly #31:Let's Vision 游记

<p>本周末去上海参加了 Let's Vision。感谢 <a href="https://blog.citrons.cc">@甜檸 Citron</a> 送的价值 ¥699 的 Basic 赠票!</p> <p>认识了好多新朋友。也见了好多 AdventureX 的老朋友。我认为我的社交能力再次升级了!</p> <p>和不同背景的人交流,真的是非常快乐的事情。了解别人在做的事情,别人的热爱所在、职业生涯、人生选择,不仅能够拓宽我们认知的边界,更能让我感觉到:在逃逸平庸的路上,我们都不孤单。</p> <p>最让我惊讶的是,居然有几个和我在同一大厂工作的人,也作为 booth 甚至 speaker 来参展。原来,九点下班的作息,也可以做出自己的项目!</p> <h2>🌆 封面图:滴水湖的烟花</h2> <p><img src="https://blog.skywt.cn/usr/uploads/2025/03/3918950573.jpg" alt="滴水湖的烟花" /></p> <p>非常巧合的是,活动的 day 1 周六晚,在会场旁的滴水湖就有烟花秀。</p> <h2>💡 让我印象深刻的 booth</h2> <p>活动安排得太紧凑了,讲座、workshop、展会同时进行,这导致我有好多 booth 都没来得及逛。有趣的和有创意的项目太多了。下面是几个我尤其印象深刻的:</p> <p><strong>Story</strong>:他们不仅是一个基于 Vision Pro 的应用,更是一个「MR 会展解决方案」。在现场体验的时候就能感觉到,他们整个体验流程都是为会展的模式而设计的:排队入场时发放一次性眼罩垫(防止 Vision Pro 设备与皮肤直接接触);会展区域的流程都经过精心设计,当我结束某个环节需要走到下个位置的时候,往往发现下个位置的人也刚刚结束 TA 的环节离开。如此让这些设备的利用效率达到了最高。以前认为 Vision Pro 作为个人设备太贵,用户太少,在这个设备上很难有很大的机会;然而 Story 的这种方案,将 Vision Pro 视为公共设备,解决了这个问题。</p> <p><strong>Bonjour</strong>:在 AdventureX 就见过的项目,基于 NFC 的个人名片(以及创造者社区)。这次在现场所有参会者都附送了 Let's Vision 限定版本的 Bonjour Card。不仅如此,他们还制作了一个可互动的麦金塔模型,在 Bonjour 摊位上展示!详情可查看:<a href="https://www.xiaohongshu.com/explore/67c6dcec000000000d017db5?xsec_token=CBTBqmi5G6gmKqyBUL7IAoKKAZuYeplx9siRoOYocknvw=">我们献上了一场艺术… - 小红书</a>不得不佩服 Bonjour 团队的创造力。(欢迎查看<a href="https://bonjour.bio/en/skywt">我的 Bonjour Profile</a>)</p> <p>还体验了好多有趣的项目,记录梦境的《Dreamoo》、充分利用灵动岛的《锁屏启动》、将 GTD 和文创结合的《点点记》……大家都太有创意、太有创造力了。</p> <p>我真希望明年我也能有自己的项目来参展!</p> <h2>🤔 参后感</h2> <p>这次 Let's Vision 结束之后,我的感受和去年参加完 AdventureX 的感受非常类似:</p> <blockquote> <p>打工人参加完 AdventureX、Let's Vision 这样的活动之后,都会感觉后劲好大。</p> <p>见识了充满激情的人们和纯粹热爱驱动的事业,就会再也不甘心回到这种平庸无聊的上班生活里了。</p> </blockquote> <p>强烈的感受都是对比中产生的。从 Let's Vision 参会者中感受到的创造的氛围,和大厂有些死气沉沉的氛围,差异还是太大了。</p> <p>人无法想象超越自己认知的东西,就如在参加这次活动之前,我没法想象在空间计算领域有这么多的机会,有这么大的空间留给我们去创造;我也没法想象和我一样九点下班的人也可以做出自己的 side project。这正是这种活动的意义之一:拓宽我们对职业生涯、对未来的认知边界,让我们看到更多选择的机会。</p> <p>下周见。</p>

2025/3/5
閱讀更多

Weekly #30:生活在钢铁丛林

&lt;!-- more --&gt; <p>虽然我每周的至少 50 小时都献给了公司,但为了避免一些麻烦,也由于一些相关规定,我在这里不能写很多在公司里的内容……</p> <h2>🌆 封面图:西湖上</h2> <p><img src="https://blog.skywt.cn/usr/uploads/2025/02/3032936129.jpg" alt="封面图:西湖上" /></p> <h2>🏙️ 生活在钢铁丛林</h2> <p>我所居住的余杭区未来科技城,显然是近几年高速发展建设起来的,遍地都是高楼大厦,附近连一处能让人喘息的自然景观都找不到;无论是餐馆还是外卖,几乎只能看到大型连锁品牌(而且都很贵!);属于「杭州」的那种东方人文气质,在这里并不存在。</p> <p>这很像深圳带给我的感觉。去深圳的时候,那边的朋友都说:「深圳没什么好玩的。深圳的旅游景点只有购物商场。」</p> <p>周末去西湖边走了走。我真的很喜欢西湖,因为它是与城市融合得十分完美的自然景观。在高耸入云的钢筋混凝土大厦之间,人总是很紧张;在自然的环境里,人才能放松下来。</p> <p>然而,从这里到西湖坐地铁要将近一小时。一小时的时间,都够从杭州西站出发到上海,或者从深圳出发到香港了!说起「在杭州工作」,人们往往会想到西湖。看来这个印象是错误的……</p> <h2>🎸「无弦吉他」LiberLive C1 体验</h2> <p>本周购买了「<a href="https://e.tb.cn/h.Tt2aKnKHKexRi2S?tk=yZNTejE7hJc">LiberLive C1 无弦吉他</a>」。</p> <p>很小的时候学过吉他,后来高考完的暑假重新学了一下,到大学里几年没碰,技术再次荒废了。现在,九点半下班的我,自然是更没有时间(或者更确切地说,是不愿意花时间)重新捡起吉他去练习了。F 和弦的大横按也很劝退我。</p> <p>但是我真的很喜欢弹唱的感觉。有没有这样一种不用花时间练习就能快速上手的弹唱乐器呢?解决方案就是这个产品:LiberLive C1 无弦吉他!</p> <p><img src="https://blog.skywt.cn/usr/uploads/2025/02/3751011537.jpg" alt="LiberLive C1 无弦吉他" /></p> <p>如图所示,这是一把「无弦吉他」,上半部分是一些按钮,每个按钮对应一种和弦;下半部分则是两个拨片,每个对应一种节奏型。这些都能通过 app 来配置。严格来说,这不是吉他,而是一个音乐合成器。😂</p> <p>之前在参加 AdventureX 时,这个产品的公司 XBotPark 有来参展,我还去听过他们的 workshop。只能说这真的是一个非常切入我的痛点的产品:零门槛入门,无需练习,让我得到弹唱的错觉。</p> <p>电子合成音乐肯定不如真正的吉他好听,但对于普通日常的弹唱来说无伤大雅,我根本不太听不出区别。虽然这个价格也确实偏高,但你会发现在「无需练习上手弹唱」的这个产品形态上,我们其实没得选……</p> <h2>📚 本周在读:《控糖革命》</h2> <p>很多时候我们感觉自己「状态不佳」,包括感觉困倦、劳累、烦躁、无法集中注意力,很可能都和一些人体的生理因素有关。让我越来越意识到这个问题的两本书,一本是《我们为什么要睡觉》,有关睡眠;一本是这本《控糖革命》,有关饮食。</p> <p>说实话,我之前从未注意过我的饮食,一直是喜欢吃什么就吃什么。可能是由于吃不胖的基因,饮食从未给我带来过很大的困扰。然而,本书提出的理论则让我重新审视饮食观念:原来人在平常的精神状态、心情等各种方面,都会受到「葡萄糖水平峰值」的影响,而本书的核心目的就是控制这一峰值。</p> <blockquote> <p>在卧室跳舞时,脚碰到了梳妆台的一角,这是我们能够瞬间感知到的,因为脚会很疼(我有一次就这样弄伤了脚趾)。尽管我们会对脚进行冰敷,脚依然可能会红肿,以至我们都穿不上平时穿的鞋子。这很可能让我们心情不好。如果同事或者家人问我们:「怎么了?」我们很容易就能解释清楚:「今天早晨我磕到脚了,所以心情不好。」两者间的联系一目了然。</p> <p>但是,当被问到食物是如何影响我们的时候,我们却说不清其中的关联。我们并不能立刻感受到早餐后的葡萄糖峰值给自己带来的伤害。如果吃了一碗麦片粥后,我们会立刻心慌难受、趴在桌子上睡着,那么我们肯定能够知道其中的联系。但是,由于新陈代谢需要几个小时,会随时间的推移发生多种变化,并会与一天之中发生的其他事情混在一起,那么至少在掌握技术要领之前,我们还是需要谨慎观察和思考才能将这些点连接起来。</p> </blockquote> <p>本书提出了 10 条切实可行的 tips,总结起来有如下几个:</p> <ol> <li><strong>饭前可以喝点醋</strong>。这是由于醋能降低淀粉酶活性,从而降低葡萄糖产生速率。</li> <li><strong>在吃饭时,按照先吃纤维(蔬菜),再吃蛋白质、脂肪,最后吃淀粉、糖类的顺序进食</strong>。原因之一是纤维素能起到缓释作用,同样能降低葡萄糖产生速率。</li> <li><strong>饭后进行适量的运动</strong>。利于葡萄糖转为 ATP。</li> </ol> <h2>🌟 Bookmarks</h2> <p>最近越来越有这样一种感觉:我们每时每刻都在见证历史。无论是科技领域 ChatGPT、DeepSeek 的横空出世,还是经济、政治领域逐渐发生的巨变,都将时代的浪潮具像化地展现在我们面前。</p> <ul> <li><a href="https://mp.weixin.qq.com/s/imC09I6Ty5aMkkENZTMOVg">慢雾:Bybit 近 15 亿美元被盗背后的黑客手法与疑问</a>:知名交易所Bybit被黑客盗取价值14.6亿美元的虚拟货币资产。传言黑客为朝鲜特工。</li> <li><a href="https://juejin.cn/post/6844903965792927751">前端代码质量-圈复杂度原理和实践 - 掘金</a></li> <li><a href="https://github.com/OpenHealthForAll/open-health">OpenHealth</a></li> </ul> <p>收藏了好多 ByteTech 的文章,可惜不能发出来 👀。</p> <p>下周见!</p>

2025/2/24
閱讀更多

Weekly #29:在大厂实习的 Day 1

<p>本周正式来到了某互联网大厂实习。这是秋招已经签订了三方协议的公司,我进行预计三个月的提前实习。</p> <p>上个暑假,我也在杭州的另一家大厂(下称「前厂」)实习。所以我不断将这家公司与前厂进行比较。综合结论是:在我看来,这家公司的许多方面都比前厂强太多了……</p> <p><strong>这家公司才是我心目中领先的互联网科技企业的样子</strong>。(工作时长除外)</p> <ul> <li>在前厂实习的时候,几乎所有文档都是默认对实习生不开放的,要申请权限层层审批;而在这里默认所有文档都是开放的,只有少数需要申请权限。对刚入职的实习生来说,这太友好了!</li> <li>前厂严禁使用任何外部 AI 模型和工具;而这里不仅不管这些,甚至大家都紧跟 AI 潮流,广泛在业务开发里运用 AI。我 mt 日常用的就是 Cursor。</li> <li>前厂文档维护实在不太好;相比之下,该厂的几乎一切技术、方案等都有详细且高质量的文档,极大降低了新人的学习成本。</li> <li>前厂(可能是我在的部门)没有测试,几乎没有质量管理。代码仓库极其混乱。由于做的是 2B 产品,也基本不 care 用户体验。相比之下,这里进行的各种质量管控、工程治理、代码防劣化、用户体验专项,才是互联网企业该有的样子。</li> <li>还有不少震撼我的地方,例如几乎一切都有中英双语、强大完善的基建、高效的开会方式……</li> </ul> <p>相比前厂,我感觉这里的人都更加优秀。</p> <p>当然,在一个大家都更优秀的环境里,自然压力也会更大。实习阶段感受还不深,等正式入职了肯定会有更强烈的感触。</p> <p>不过,从工作时长上来看,该厂的强度还是比较大的……10:30 上班,9:30 下班。如果按照 8 小时睡眠计算,每天下班能自由支配的时间只有 5 小时。这给我们生活上的时间管理带来了挑战……</p> <p>下周见。</p>

2025/2/19
閱讀更多

推薦訂閱

Chen's Blog,分享安全领域的所思、所想、所学。

空鸣深语

无论你是游戏死忠,还是轻度的休闲玩家,在这里都能找到感兴趣的东西。

分享免费、小巧、实用、有趣、绿色的软件