月度归档:2025年03月

一些我自己用的还不错的 Chrome 插件

英语/日语翻译:沉浸式翻译

我的日常要看到很多英文文章和网站,因此,可以借助沉浸式翻译,帮助我快速翻译多种语言为中文,从而降低我在阅读不同语言内容的障碍。

快速搜索:超级搜索

超级搜索支持我快速的选中词汇并进行搜索,对于一些特定的场景下,会非常有帮助。比如我在浏览网页的时候,发现了一部电影,想快速在豆瓣电影中找到并标记,就可以借助超级搜索,配置一个搜索关键词来实现。

SEO 检查器:AITDK

AI TDK 是我用来检查自己的网页是否完成了一些基本的 SEO 设置的工具。当我上线了一个新的网站后,就会打开 AITDK,然后查看哪里的信息还不完整,需要补充的。就可以继续去补充相应的内容。

JSON 查看:JSON Viewer

在开发的时候,经常会有要查看服务端返回的 JSON 的情况, 借助 JSON Viewer 可以将不容易看明白的 JSON 给格式化了,方便你快速定位要看的 JSON。

广告拦截:AdGuard

广告拦截我选择了 AdGuard,有了它,我看 Youtube 再也没有广告了。。。

复制为 Markdown:Copy as Markdown

因为经常要将部分内容复制为 Markdown,方便在我的其他工具中使用,所以我安装了这个 Copy as Markdown 插件,方便自己随意复制。

页面增强:篡改猴

当我需要对一些网页做一些快速的改造,但同时又不想写成 Chrome 插件的时候,就会选择写成油猴脚本,然后放在篡改猴里来用,非常方便。

灵感记录:Memos

我自己部署了一个 Memos ,用于记录自己的灵感和想法。因此,我使用了一个 Chrome 插件,来方便我记录。

使用网页版的 Send To Kindle

在之前的 Kindle 难民文章中,我提到过,我将我的账号迁移到了美区 Amazon。而在这个过程中,我一直使用邮箱发送电子书到我的 Kindle 当中,但邮件发送有种种问题:速度慢、有些时候是在网站买的,不会发送邮件给我等等。

我就开始研究,是否有一个应用可以直接从我的电脑上将文件直接发送到 Kindle 上的方式的同时,不用数据线连接?

我甚至试图自己写代码来实现这个功能,不过,好在我在真正启动项目之前,上网络上搜索了一下,发现了这个网页版本的 Send To Kindle。

工具地址:https://www.amazon.com/sendtokindle

这个工具是由 Amazon 提供的官方的发送工具,除了支持网页版以外,还支持 iOS、Android、Word、macOS、Windows 等不同操作系统。我因为觉得网页版比较方便,就直接用了网页版。

使用起来的方法颇为简单 —— 点击按钮,选择你要传递到 Kindle 的文件(或者直接拖动文件进入区域),然后确认信息并发送,就可以将文件发送到你的 Kindle 了。

相比于过去的邮件发送,使用这个方式发送的,可以更快的在 Kindle 中看到这本书。从我自己的实际体验来看,基本上 1 分钟就可以出现在你的 Kindle 了。

构建可持续一生的职业支柱

自2018年踏出校门,七年的职业旅程让我深刻体会到现代工作的流变性。在不断的实践与反思中,我开始有意识地为自己构建一个可持续的职业框架,最终确定了三个并行不悖且能贯穿一生的角色:写作者、投资者与工程师。

为什么是“终身职业”?

这一构想的核心问题是:何种工作能让人甘愿投入一生,并从中持续汲取价值?经过审慎思考,我认为这样的事业通常具备以下特质:

  1. 主要依赖智识而非体能:这样可以让我在无论何等年龄下,都可以继续进行。职业运动员令人敬佩,但其职业生涯的黄金期往往受限于生理条件。
  2. 减少对外部平台或组织结构的过度依赖:虽然协作是常态,但核心工作应具备独立完成的可能性。这不仅赋予个体更大的掌控力,也能在一定程度上规避组织变动或潜在的年龄偏见风险。
  3. 我自己做的开心:唯有真正热爱并能持续获得心流体验或成就感的事业,才足以支撑长期的投入与探索,成为真正的「终身职业」。

基于上述标准,我为自己明确了三个相辅相成的终身职业方向:

写作者

写作,首先是一种思维的锤炼。

正如你眼前的这篇文章,它既是输出,更是思考过程的凝结。我持续投入资源学习写作技巧,借助编辑反馈打磨文字,但这并非首要追求流量或读者。

写作的核心价值在于,它迫使我将纷繁的思绪结构化、清晰化,成为一种严谨的自我对话与认知提升工具。这是一种几乎不受时空限制的智力活动,可以伴随我直至生命终点。

投资者

我的投资旅程始于大学时代,至今已涉猎基金、股票、加密货币等多个领域,积累了第一手的市场经验。

投资远不止于数字盈亏,它更像一面无情的镜子,清晰映照出我的认知偏差、贪婪与恐惧。每一次市场的颠簸、每一笔交易决策,都是对心智的严峻考验。经历过亏损,也曾为错失良机而扼腕,这些都让我深刻认识到自身的局限。

深知前路漫漫,但我享受这个过程——它持续驱动我去理解世界运转的逻辑,探索经济规律,并最终深化对自我的认知。因此,投资于我而言,不仅是资产管理,更是一场贯穿人生的认知修行。

投资,会成为我的终身事业。

工程师

作为一个从十几岁就开始写代码的人,我可以骄傲的说,写代码,就是我的爱好。而我一直以来,都非常享受通过编程来改变这个世界的一部分的过程。

我也一直以来,非常享受编程的过程,编程是我进入心流状态最快最便捷的方式(另外一个是写作)。

很多人觉得写代码是“青春饭”,年纪大了就写不动了。我不这么看。软件正在吞噬世界,这个趋势恐怕几十年内都不会停。只要技术还在发展,世界还需要软件,就永远有工程师的用武之地。而且,很多时候,一台电脑就能开工,足够独立。我可以一直写下去,直到我不想写的那天。

总结

写作者、投资者、工程师——这三个角色并非孤立存在,它们相互滋养,共同构筑了我理解世界、实现价值并保持心智活力的职业生态。这或许不是一条寻常路,但它是我为自己铺设的,通往一个可持续且充满意义的漫长工作人生之道。

resume

为什么我要在面试前更多的了解候选人

最近我录制了一期《科技乱炖》,聊到了我自己的习惯 – 在面试的时候,会去跟着简历当中的信息看看候选人的博客、GitHub,了解更多的信息。

其中,听众发布了一个评论:说明了面试的经验还不够,难以筛选候选人。

从我的视角来看,我认可这个评论。当经验足够的时候,确实可以凭借基本的信息来了解一个候选人,并做出判断。

不过,我一贯认为,足够的信息才能辅助我做出更好的判断,我需要更多的信息来判断我是否愿意与一个人共事。

因此,我会选择去看 Github 、去看博客。

其背后的理由是 —— 简历可以被包装、面试可以表演。但日常无法被包装和表演。如果一个人能够将表演和包装集成在他的日常当中,我依然认可 —— 如果他能骗过他自己,骗过我也不足为奇。

当然,这是时间充足情况下的选择,这个方法对于 HR 是没有效果的,他们需要大量的看简历,筛选,通过经历、学历依然是一些好的方法。

记一次发现小宇宙 iOS 版的跳转注入漏洞

漏洞风险:可以在其他应用借助小宇宙端内跳转任何网页。

此文章发布前,小宇宙已经修复了这个问题,所以你们可能不能复现这个问题了。

先看漏洞效果,这个漏洞的问题是你可以在小宇宙里跳转到任何网站,甚至是 PornHub。不过这个 Bug 不重要,重要的是发现 Bug 的过程。

漏洞效果

0. 背景

在一天晚上,我在和朋友聊小宇宙的 URL Scheme,想要做个功能,可以实现一键打开小宇宙的节目页面。但卡在我面前的是,我不知道小宇宙的 URL Scheme 到底是什么。于是便开始了我的 Hack 之旅,也就找到了小宇宙的这个安全漏洞。

1. 找到小宇宙的 URL Scheme

由于 Scheme 是在 App 中定义的,所以当我想到要找 Scheme 之后,第一反应的是去拿 iOS App 的 Info.plist(因为 iOS 是将 Scheme 定义在 info.plist 当中)。

过去需要通过 IPA 备份、越狱等方式来获取到这个文件,不过得益于 M 系列支持在 macOS 上运行的原因,现在 IPA 的获得变得非常的简单。 先在 App Store 安装小宇宙,并在「应用程序」中找到小宇宙。

然后右键点击小宇宙,点击「显示包内容」

然后看到这样的内容,WrappedBundle 是一个假的应用程序,所以继续点击 Wrapper 往里跳转。

然后会发现里面还有一个 Podcast 应用,这个才是真正的小宇宙的 IPA 包。然后继续点击「显示包内容」

在包内容当中可以看到 info.plist 文件,使用 Xcode 或者 VSCode 打开 info.plist 文件。

在 info.plist 文件中,搜索 CFBundleURLSchemes ,找到了小宇宙的 URL Scheme(里面有很多个,但很多都是其他应用的,试一下就可以发现):cosmos://。

2. 找到 URL Scheme 能够打开的页面

找到了 URL Scheme,只能通过 cosmos:// 打开应用首页,无法满足我的需求,于是开始继续寻找可能的 URL Scheme 。一般来说,这个时候就只能继续反编译 IPA 包或者 APK 包了。不过对于我来说,这些不是一个好的选项(成本太高)。

然后想到,小宇宙的网页似乎是提供了打开客户端的能力,所以可以从网页版找到突破口。通过简单的搜索,果然让我在网页前端找到了突破口。找到了 7 个 Scheme 。

当然,中间存在一些重复的 Scheme。所以最终梳理出来的 Scheme URL:

  • cosmos://page.cos/discover:打开发现页
  • cosmos://page.cos/shownotes/EPISODE_ID:打开节目的 Shownote 页面
  • cosmos://page.cos/episode/EPISODE_ID:打开节目的详情页
  • cosmos://page.cos/webView?url=:意义不明,看起来像是打开一个特定的 URL
  • cosmos://page.cos/web?url=:意义不明,看起来像是打开一个特定的 URL

3. 发现问题 URL Scheme

前面的三个很正常,但后面的两个带 URL 的引起我的注意 —— as a Hacker,你知道的,任何一个可能的输入框都可能成为我们的注入点,于是乎,我就构建了一个链接,来打开我的 Blog

cosmos://page.cos/web?url=https%3A%2F%2Fwww.ixiqin.com
Code language: JavaScript (javascript)

将这个链接使用 Safari 打开,就会自动唤起小宇宙,并打开我的播客。

至此,我发现了小宇宙这个跳转注入漏洞,并快速将其反馈给小宇宙官方同学。

复盘:如何规避这样的问题

在这个 Case 当中,小宇宙因为没有设置 URL 跳转的白名单,导致实际上出现了跳转恶意网站的风险。理论上,作为应用提供商,出于安全合规的视角,最好是控制 URL 跳转的域名和空间,避免被恶意滥用。

或者也可以参考我们现在见到的很多网站,在外部跳转时加一个风险提醒。

如果在这个 Case 当中,小宇宙在一开始就限制了可以打开有限域名,那也不会出现如今我这次的漏洞问题。

这个问题风险大么?

取决于如何定义和如何使用。如果只是跳转一些常规网站,自然是风险不大的。但如果不受限制的,比如跳转到一些诈骗网站,可能风险就是大的。

white and brown book on brown woven surface

看不同的种类的小说,理解不同的人生

作为一个网文爱好者,近些年来,我看了不少的小说,最近在看一本医生为主人公和一本刑警为主人公的小说。

写这篇文章的意图是希望鼓励我的博客的读者们,试着去读一读小说(网文是其中的一种),通过小说,来感知不同的人的不同生活,从而收获对于世界的新的理解。


作为一个爱读书的人,我每年看的书都在 10 本以上,其中一小部分是各项工具书,因为工作 / 业务需要读的书,而更多的则是我看的小说。

看这些小说算是我工作之余的放松途径,在写了一天代码之后,我会开始看小说来放松。同时,看网文这种相对简单粗暴、挑逗人的多巴胺的小说,可以让我不用太烧脑(看推理小说,感觉自己脑子要烧了)。

不同的小说因为其作者的背景,或多或少会带上一些职业的特性,对于我这样的局外人,已经足够管中窥豹了。

如果你对于别人的生活感兴趣,那么我也推荐你试着去通过看小说来理解别人的生活。

当然,其实不只是小说,电影也是一样的。本质上是这些内容当中充满了故事。

举个例子,我看《银河写手》,知道了编剧的生活和日常,也知道了《救猫咪》和《节拍器》。

终我一生,我可能无法去体验所有的职业,通过这些片段,也能让我掀开其他职业的帘子,去尝试了解不同人的人生。

如何从工商银行银行个人网银下载借记卡交易记录

首先,你需要开通你的工商银行网上银行,如果没有开通,则需要前往线下网点开通后,再来阅读本文。

具体操作如下:

  1. 访问工商银行网上银行,使用密码登录或者扫码登录
  2. 登录后,访问 — 首页 — 我的账户,进入到账户详情页面,并选择要查询的账户
  3. 在明细页跳转至账单查询,查询数据并下载

1. 登录工商银行网上银行

访问 工商银行网上银行, 登录,并进入其中。

2. 找到账户

点击首页 — 我的账户 — 卡包,找到你的账户,并点击明细按钮,跳转到明细页面。

3. 选择账户和对应的月份,下载明细

在明细页面,可以选择时间范围,并选择下方的下载数据明细的格式,就可以点击下载,来完成数据下载的动作。

black and white penguin toy

Github Stars 没啥用,但也不是没啥用

我之前曾经在 Twitter 上说过,开源的本质是一个 Reputation(声誉)的游戏,你拥有越多的声誉,在和开源社区的协作就会越容易,大家就会愈发的相信你,与你共同协作。

而这个 Reputation 的一个具象的表现 ,便是你在 Github 上拿到的 Star 或 Follower。我们普遍会认为,Star 更多的人、Follow 更多的人,是更有价值的 —— 你的 Follower / Star 更多,至少证明了你在开源这个领域的成绩。

我的 Github Profile 页面

坦诚的讲,我很以自己的 Star 为荣,超过 1W Star 和 1.4k 的 Follower,至少证明了我在开源上曾经做过一些事情。这些 Star & Project 可以证明我的能力,证明我能够做一些事情。这些信息帮助我更好的求职。

但另一方面,我也认为,star 本身的意义并没有那么大 —— 特别是你把它当成 KPI 之后。Star 多只是看起来很唬人,但可能一个项目已经运行了 10 年,只要这个项目还在持续更新,持续迭代,持续有人用,拿到一个高 Star 是一个很正常的事情,一切都是时间的力量。

作为一个开源人,我认为大家应该努力的追求 Star / Follow, 但也请记得,这些都是你评估自己的工具,请不要本末倒置,把 Star 当成目标,你的目标是获得更多社区/同行的认可,而不是获得一个虚拟的数字,单纯的数字并不能给你带来认可。

美国之旅:算账

终于,到了最后一篇 —— 鸽了这么久,我终于有空来梳理这些账目了。

首先,这 15 天,我总共开支花了 77615.22 元(含机票),平均下来每天 740 刀;

不过,如果下钻下来看,我的开支大头出现在交通运输(机票 & 租车)和娱乐上。

交通大类

交通大类中,我们两个人的机票花了 17000 元左右,平均下来单人往返机票 8500;

然后租车也花了不少的成本,花了 7000 + ,也接近于单程的机票。不过我觉得不后悔,在美国开车还是体验了很多坐车、打车无法体验到的东西。

娱乐大类

娱乐大类里,因为包含了酒店的住宿,所以也不少,花费了 16000 元,平均下来每天 150 刀左右;还行,处在我能接受的范围内。

其他当中,迪士尼、环球影城的票,就花了接近 5000 元;还有一些零零散散的门票,加起来一共近 8000 元。

餐饮

餐饮方面也是我们有比较大的开支的。不过这部分因为「来都来了」,我们在吃上也没有太省钱,该怎么吃就怎么吃了,还好。符合预期。

总结

总的来说 —— 一下花了好多好多钱。。。肉疼。。。天津 4 平米房子了。。。不过,如果让我选,我还是选择 —— 总是要出去见一下真实的世界的。