Origin

Singee's Blog

Now

本页面灵感来自于 nownownow,我会至少每月更新一次我的最新动态

最后更新于 2023-11-21

技术领域

我相信不同的语言适合不同的事情,广泛学习各种语言,目前我在某不知名网络安全公司的基础架构组中间件团队,同时在努力做一些很酷的东西。

我擅长的语言包括:Rust, Go, TypeScript, Python

我正在使用的语言还有:Swift, Java, Ruby, Elixir, Clojure Script

我感兴趣并可能投入学习的语言有:Zig, Haskell, Common Lisp, Kotlin, Scala, WASM, Elm, Erlang

Project

我目前在做或计划做以下项目

TimeLock

TimeLock 仅为项目代号,真实名字暂未公开

一个 App 使用时间管理软件,利用 iOS 的新 ScreenTime API 帮助你更好的使用手机。最初的 idea 来自 何同学的时间锁 (这也是最初项目代号的名字来源)。

该 App 由我和 @Marcus 合作开发。

Space Reader

Space Reader 是我计划的一个 RSS + 稍后阅读的软件,目的一个是更好的思考一个是防止「稍后不读」。该项目的 idea 很久之前就有了,但是当时没有时间去做,后面有时间了 Readwise Reader 公布了,它「Reader for Power User」的口号让我以为不用做了,没想到至今它完全没达到我的要求。

在防止「稍后不读」我有一个自己的闭源解决方案 my-reading(计划稍晚在我的 Build for Self 准备好后 Source Available),目前已有的功能大概是

  • 每天早晨自动拉取我的 Readwise Reader,根据历史阅读数据给出一个今日阅读目标,推送消息给我
  • 根据生成的自动阅读目标从我 Readwise Reader 的 Inbox/Later 中随机选出对应数量的文章来(至少 30 个防止我想读但是没有可读的)
  • 每天保证(尽可能)将这选出来的文章读完(无论多难)
  • 界面上同时展示历史 7 天的阅读情况,防止忘记之前因故没有及时读完的文章
  • 在界面上点击阅读完的文章可以自动在 Readwise Reader 中进行 Archive,同时在界面上取消 Archive 的在 Reader 中也会自动 UnArchive
  • 与 Reader 相同的键盘快捷键,E 归档/取消归档,O 在浏览器中打开文章,Shift+O 在 Reader 中打开
  • 已知问题:因为整体是一个 JSON,而后端存储是 Cloudflare Workers KV 有 60s 的缓存,因此连续 Archive 多个文章可能会导致只有最后一篇才 Archive 成功了(但是不打算解决,毕竟对我来说够用了,毕竟不是真正的产品)

Space Reader 的防止「稍后不读」我打算就从我这套 my-reading 的流程复刻

而其他的功能,目前打算有

  • 浏览器扩展集成 Singlefile 来保存原始的网页内容,阅读模式使用 readability(而非只存储提取后的内容)
  • 后端(利用 API 插入)时也会调用 Singlefile 来存储完整网页内容,同时支持配置 Cookie/Storage 来 bypass 已购的 paywall
  • 利用 Deno Runtime 制作的扩展引擎,方便完成各种自定义操作
  • (利用 Hypothesis 进行)Highlight,同时支持自动同步至 Readwise
  • 内置 RSS,支持根据订阅源自定义拉取间隔、全文拉取、插件等
  • 自动化,各种事件触发插件 / Webhook
  • 基于 ElasticSearch 的全文搜索
  • (和我下面要做的 Space Card 一起协同)渐进阅读
  • (如果可以的话)集成沉浸式翻译,来方便阅读外文文献

Space Reader 计划开源 + Build in Public,在准备阶段可访问我的笔记中的 Space Reader 页面来跟踪我的最新想法

Space Card

卡片集合,用于实现间隔重复。一款我计划了很久但是一直没有精力去做的软件

  • 算法使用 Open Spaced Repetition
  • 编辑器技术栈待定
  • Local First 软件,按照桌面端 - 手机端 - 网页端的次序开发,React Native
  • 支持 API
  • 希望支持端对端加密,但是否支持(因为计划支持 API)待定

Space Daily

又双叒叕一个 TODO App,任务管理 + 时间管理二合一的产品。

目前市场上时间管理的 App 有、任务管理的 App 也有,但是把他们真的有机融合在一起的解决方案我找了很久都没有看到(至少达不到我的需求),所以这个 App 我其实觉得挺值得做的(至少我自己想要),甚至已经着手开发过几个版本的 demo 了,但是 block 在了

  • 全平台 Local First + 实时同步所需要的开发成本太高
  • 想离开独立开发者三件套的地狱
  • 我现在用着 OmniFocus 用的挺舒服的,而且目前没有特别急迫的时间管理的需求

计划在 Space Card 开发完成后(至少储备好 Local First 的相关技术)再着手这个的开发,还是打算先做一个自用版本(Build for Self) + 后面产品化。不过如果未来有一天我全职独立开发了可能会去把这个优先级提升上来(毕竟我自己要用)。

OmniFocus Scripts - TS

目前自用,利用 TypeScript 编写 OmniFocus Automation 脚本,主要目的是为了强类型 + 模块引用

开源主要 block 在文档的撰写和将类型与使用分离(相当于准备一个 type definition npm 包 + 一个 template + 一个 cli 工具进行打包),目前仅我自用这些步骤都杂糅在一起。

计划先在我的 Build for Self 准备好后 Source Available,再进行这些准备步骤开源。

GitHub Star Enhance

增强 GitHub Star 的体验,主要是

  • 全文索引自己 Star 了的项目,支持搜索
  • 发送提醒历史 Star 的项目提醒回顾
  • 跟踪 Star 了的项目的最新更新(不是 Watch Release,隔一段时间汇总一下就行)

而目前 block 住没有继续的原因主要在于

  • 全文搜索导致的计算、存储、带宽成本都比较高,开发出来只自用成本太高了
  • 公开产品化的话市场太小,而且定价太便宜了远远不够成本的
  • 可能随时 GitHub 就自己出类似的功能了

类似的全文搜索的需求其实还有我 V2EX 收藏,但是这东西的产品化就更难了

Build for Self

我自己写了好多好多自用的脚本,但是没有精力去开源,因此想到了一个以「Build for Self」为名进行 Source Code Available 的简化版分享方案

目前初版网站已上线,尚未有项目使用

待办:

  • Projects Showcase
  • How to Use
0%