2025-01-04 10:06:50
度过作为纯种打工人完整的一年,简单地写点流水账,记录下今年的一些事情与想法。
终于去香港办银行卡了,虽然遇到了一些预料之外的问题,去到发现电信电话卡在香港漫游无效没信号的问题,不过有惊无险,最后还是顺利办成并当场下卡。
从这刻开始,我也开启了我的美股投资之路。通过美股这个渠道,我对投资和赚钱有了更多的思考。在去年工作之后,我就觉得搞钱才是最重要的事,但具体该怎么搞钱、如何在不工作之外还能有收入,当时还没有太多的想法。如今接触到美股投资后,虽然不可能通过投资马上赚大钱,但起码看到了希望,尤其是看到一些转行当专职 trader 的同行还能养活自己并过得不错之后,更让我觉得这条路有可能性。
核心还是需要:做好准备,等待机会。 多攒钱,积极寻找机会,be open,不局限于某一条路子。
借着办卡的机会,我顺便在香港玩了一天。上次去香港应该还是初中的时候。作为一个广东人,虽然对香港的各种信息接触得比较多,看似很熟悉,但实际上这才是我第二次去香港。不过会粤语、熟悉香港文化,去玩也没遇到什么问题。香港这个城市还是有许多吸引我的地方,让我想起初中时的志愿是到香港大学读书。现在其实有机会拿到 hkid 去香港工作,但各种因素让我迟疑,尤其是“待七年”这个门槛太高。不过,去生活不行,多点去玩还是可以的。第一次去香港之后,回来我就马上把签注更新成了一签多行。
过年,越来越没什么年味和感觉,也可能是年纪大了,对过年也越来越没什么期盼。过年逐渐演化成回乡下吃饭,亲戚间互相探亲吃饭,各种吃饭的模版一般的场景,并不喜欢。
own 的一个项目终于要上线了,期间外部合作机构各种幺蛾子,各种出问题,上线后也还有很多手尾需要跟进。不过最终的业务效果还是极好的,上线的这一年带来了极高的 TPV。虽然说技术是为了业务服务,但很现实的一点是,真的拿到了好的业务成果之后,还会 credit to 技术人员上吗?想起内网曾经看到的一个吐槽贴,庆功会上各种人都在,唯独不见技术人员。
再结合年度绩效出来后的年终奖和调薪,更加让人想笑 (我这个新人连这个500都没) 更加意识到打工没什么前途。
女朋友的考研成绩也出了,初试高分,复试准备了两周后也顺利拿下,终于上岸,可喜可贺,算是弥补了当年的遗憾。
打卡汕头。虽然高中时身边有不少潮汕同学,但直到现在才第一次去。对汕头的印象,全是牛肉火锅和甘草水果。
和团队团建去了马来西亚,时隔七年再次出国,而且也还是去马来西亚。海岛的景色确实还可以,浮潜也很有意思。
去东南亚旅行消费确实低,来回的机票全包也才 900+。逐渐开始意识到,其实出国玩并没有想象中那么麻烦,性价比也挺高的。新的一年希望能有更多机会解锁不同的国家(但还得先解锁各国签证)。
三个月参加了三个同学的婚礼,身边的同学和朋友开始逐渐结婚成家了。还是挺多感慨的,见证着身边同龄人进入下一个人生阶段,偶尔也会想:什么时候轮到我呢?我并不恐婚恐育,相反甚至还有点向往婚姻、家庭与小孩。然而结婚也没那么简单,结婚意味着两个家庭的结合,不是两个人领证就完事,还需要考虑方方面面的各种因素。不过麻烦归麻烦,还是需要面对的,也不会去逃避。希望这两年能让这个喜事发生。
公司的年度体检拖到年底才去做,所幸体检结果没啥大问题。工作以来自我感觉身体没以前好了,以前常常和别人自嘲说,我们这行是拿命换高薪。现在真工作了,发现工作确实会是一种损耗,both 生理上和心理上。如何面对这些损耗并尽可能减少它们带来的影响,这是我工作中最重要的一个课题。
生理上影响最大的一个点是运动时间少了。读书时时间充足,几乎每天都有时间运动,即使没运动,每天的步行量也足够。但工作后很容易一周都没运动(当然也有一部分原因是工作累了自己懒得动)。于是也在寻找一个高效且自己能坚持的运动方式,让自己动起来。之前买了一个壶铃,运动效果确实不错,当成 HIIT 都可以,但坚持了一个月就闲置了。
最近这个月重拾了游泳。其实从小就很喜欢游泳,小时候的夏天一放假家里人就会带我去游泳,也练出了自认为还可以的游泳技能。后面上大学后就基本没怎么接触游泳了。现在重新游泳后,开始在有泳道的专业泳池游(小时候游的泳池真的就是一个大池子)。接触游泳的人多了,再加上用手表开始记录自己的游泳情况,才发现其实我也不是那么会游。
在小城市里,会游泳的人没那么多,泳池也没那么专业,可能大多数人去游泳实际上是在玩水。在这样的环境里游得最好,其实也不代表什么。但处于其中的话,还是会被环境与平台局限着眼光与想法。
以前的自己有点坐井观天了,这不仅是游泳,还有许多方面。被自己的思维、想法,或者各种因素局限了。还是得打开自己,be open and keep exploring.
2025-01-03 20:49:51
才用了两年多的 Apple Watch,现在电量已经开始撑不住了。目前电池健康度是 85%,晚上充满电后睡前戴上,第二天晚上七八点就会弹出 10% 的低电量警告。如果晚上需要去游泳,还得专门早上起床后给手表补一下电,确实有点顶不住。
打算换一个手表。继续用苹果的话,从 S7 换到 S10 感觉提升也不大;换成 Ultra 又觉得有点太贵了。于是考虑换个安卓厂商出的手表,看上了华为的 GT5 Pro。非华为手机也能用,只需要安装一个华为运动健康的 APP。不过这样一来,记录的数据就得全部存放在华为运动健康当中。这样的话,这些数据还属于我的吗?
其实有点好笑,我用他们的产品产生的属于我自己的数据,却无法对其拥有绝对的掌控权。某种程度上,这些数据存在他们的 APP 中,似乎就成了他们的数据。但这并不是华为一家会这样,几乎所有安卓厂商都有自己的健康 APP和手表,生成的各种监测数据也只能同步到各自的 APP 和生态当中。
不过,现在在用的苹果也一样。如果我不用 iPhone,健康与健身的所有数据,我同样没有办法迁移出来继续使用。这也是一直阻碍我换手机回归安卓的一大原因。
科技越发展,数码生态越完善,反而越建立起了生态上的壁垒。生态之间的迁移太过痛苦,甚至可以说是必然会有成本。迁移必须做出取舍(trade-off),选择任何一方都会有不足之处,无非是看自己能接受哪些问题作为妥协点。但其实这种取舍一直都存在,只是以前生态未完善时积累的数据还不够多。而现在,工作之后,时间和精力也不像以前那样充裕,去适应新的生态变得更加困难。
所以要换啥呢?一直在想,却始终想不出一个结果,这样就一直拖着不换了吧😂。然而,想换的心已经有了,拖着其实并不能打消这个念头。看什么时候彻底忍不了了吧。
2024-12-31 11:34:44
近段时间开始关注 BTC 大饼现货,并且在找机会逐步进场持有。其中我主要是通过 Ahr999 指标来判断入场时机,这个指数来自于《囤比特币》。
具体的定义可参考
Ahr999 = ((比特币价格/200日定投成本) * (比特币价格/指数增长估值)
通常认为:
最开始打算是直接写个脚本跑在服务器上,定时计算,进入合适的区间就发 tg 消息提醒。写好调试好发现,我的服务器限于网络环境,无法调用 API 拿到数据,只能放弃。又转念一想,其实也算是个交易指标,干脆拿去 TradingView 上搞一个,写个指标画出来,并且加一个通知,如果指标跌破区间,就通过 TradingView 发邮件提醒。通过这个过程,也学习一下 TradingView 的脚本编写。
具体效果见下图
以下脚本代码主要通过 AI 辅助写出,有需要的话可以自取添加指标。这里指标只能针对日区间数据,需要把变更区间设置成 1d.
//@version=6
indicator('BTC AHR999 Index', overlay = false)
// 确保在日线图表上使用
if not timeframe.isdaily
runtime.error('请在日线图表上使用此指标')
// 计算币龄(从2009年1月3日开始)
GENESIS_TIMESTAMP = timestamp('2009-01-03')
days_since_genesis = (time - GENESIS_TIMESTAMP) / (1000 * 60 * 60 * 24)
// 计算指数增长估值
// formula: 10^(5.84 * log(币龄) - 17.01)
exp_growth = math.pow(10, 5.84 * math.log10(days_since_genesis) - 17.01)
// 计算200日定投成本(简单移动平均)
// sma_200 = ta.sma(close, 200)
f_gma(src, len) =>
sum_logs = 0.0
for i = 0 to len - 1 by 1
sum_logs := sum_logs + math.log(src[i])
sum_logs
math.exp(sum_logs / len)
length = input.int(200, 'Length', minval = 1)
gma_200 = f_gma(close, length)
// 计算 AHR999 指数
// formula: (比特币价格/200日定投成本) * (比特币价格/指数增长估值)
ahr999 = close / gma_200 * (close / exp_growth)
// 为了使所有指标在同一个视图中可见,进行数值缩放
scale_factor = 1000 // 可以根据需要调整这个缩放因子
scaled_close = close / scale_factor
scaled_gma_200 = gma_200 / scale_factor
scaled_exp_growth = exp_growth / scale_factor
// 绘制所有指标
plot(ahr999, 'AHR999', color = color.blue, linewidth = 2, precision=3)
plot(scaled_close, '当日收盘价', color = color.green, linewidth = 1, precision=3)
plot(scaled_gma_200, '200日定投成本', color = color.orange, linewidth = 1, precision=3)
plot(scaled_exp_growth, '指数增长估值', color = color.purple, linewidth = 1, precision=3)
// 添加 AHR999 的参考线
hline(0.45, '极度抄底区', color = color.green, linestyle = hline.style_dashed)
hline(1.2, '中性', color = color.gray)
hline(4, '极度卖出区', color = color.red, linestyle = hline.style_dashed)
// 添加图例说明
var tbl = table.new(position.top_right, 4, 2, bgcolor = color.new(color.black, 70))
table.cell(tbl, 0, 0, '指标', text_color = color.white)
table.cell(tbl, 0, 1, '实际值', text_color = color.white)
table.cell(tbl, 1, 0, '收盘价', text_color = color.green)
table.cell(tbl, 1, 1, str.tostring(close, format.volume), text_color = color.green)
table.cell(tbl, 2, 0, '200MA', text_color = color.orange)
table.cell(tbl, 2, 1, str.tostring(gma_200, format.volume), text_color = color.orange)
table.cell(tbl, 3, 0, '指数估值', text_color = color.purple)
table.cell(tbl, 3, 1, str.tostring(exp_growth, format.volume), text_color = color.purple)
2024-12-29 11:50:22
上两周收到 NJU-LUG Blogroll 维护者的一封邮件,告诉我本博客的 RSS 抓取出了问题,让我有空时看一下。由于最近两个月没更新博客,也没时间关注,所以并未注意到抓取存在问题。昨天更新了一篇文章后,今天发现阅读量依然是零。打开 Follow 一看,才发现 Follow 的抓取也出问题了。
收到邮件时,我在本地测试了一下,RSS 是可以正常打开的。随后查看 NJU-LUG Blogroll 提供的失败日志,提示访问超时。初步判断可能是 CDN 出了问题。
于是登录又拍云,检查了一下 CDN 的配置,最终发现了一个加速区域的配置项。默认配置是国内加速,这会导致海外的请求被路由到国内的 CDN 节点。看起来问题应该就出在这里——海外访问(比如 GitHub Action)最近可能无法正常访问又拍云的国内 CDN 节点,导致超时,从而无法抓取 RSS。
将配置改为全球加速后,我在 Follow 中重新抓取,问题顺利解决。
2024-12-28 17:20:02
因为剩了一点假期的原因,昨天就提前结束了今年的工作日。当然,结束的只是今年不用去上班的日子,有事情还是得干。甚至周六中午还因为时差的原因,需要给美国同事排查问题、回复消息。太久没更新了,就随便总结和吐槽一下工作吧。
马上就要成为入职一年半的职场练习生了。回想这段时间,最大的感受就是——慌。又慌又焦虑。担心事情搞不定,担心会出什么问题,担心会不会有故障或者资损风险。真的是如履薄冰,每一步都得小心翼翼,生怕踩到一个坑。一方面是因为有许多外部因素不可控,另一方面是业务系统范围实在太大,边边角角太多,很容易忽略一些细节踩坑。真的防不胜防,而且有些问题可能根本不是自己能够避免的。
之所以这么慌,还是因为“不能犯错”这个点。在大厂里,犯错的代价太高了。一个故障,一个资损,可能直接就得背个低绩效,甚至还有可能被“请走”。即使没到那么严重的地步,在这个竞争激烈、内卷严重的环境中,一次失误也足以影响后续的晋升和发展。
但这不仅仅是互联网行业的现象。前几天看新闻,一个律师因为忘了告知当事人补 5 块诉讼费,被对方起诉仲裁,最后赔了一百多万。律师这行也是高风险职业。这让我更加深刻地意识到,有些职业的犯错成本就是太高,根本不能出错。
除了“不能犯错”的压力,另一个让我觉得疲惫的,是工作和生活实在难以完全分开。
首先是工作时间的问题。下班晚已经是常态了,有时候加班到晚上十点多,回到家基本就只剩下洗漱睡觉的时间,一点自己的生活都没有。就算偶尔早点下班,也时不时会有人来找。
其次,每个人都在整个业务链条上扮演着某个环节。如果你没完成任务,就会阻塞到其他人;反过来,如果别人没完成任务,你也会被卡住。为了不耽误事情,只能在一些不恰当的时间打扰别人,比如晚上或者周末。当然,这种打扰是相互的,我也经常在休息的时候被各种消息轰炸。久而久之,生活和工作的界限就变得模糊不清。
工作始终还是工作,工作为了赚钱,赚钱为了生活。未来目标还是希望能够找到一个舒服点的行业或岗位,能够犯错,没那么高压。当然最理想的还是不用工作了, 不知到哪一天能够真的靠被动收入养活自己,希望不是得等到退休的那一天(当然也不一定能真的干到退休)。
2024-10-02 20:02:42
最近想着从 Arc 浏览器撤出,重新用回 edge 浏览器。更换浏览器,自然需要迁移在 Arc 这里的使用历史数据,最主要的就是书签,或者在 Arc 这里叫做 Pined Tab。然而找了一圈,居然没找到导出的地方,搜索了一下,这个使用 chromium 内核的 Arc 浏览器,居然还真没有导出书签的地方(Arc 浏览器的用户体验之耻,无法导出收藏的网址 )。。。
根据少数派看到的文章,浏览器本身没有导出书签的功能,只能够到应用到目录找到数据文件,具体的路径在 /Users/{你的用户名}/Library/Application Support/Arc/StorableSidebar.json
导出的数据文件里包含了 Pined tabs 的 url 和标题。然而这个 json 数据格式 chrome/edge 浏览器还不能够直接导入,还需要转换成相应的 html 格式。
上面少数派文章的评论区里面有人贴出了转换的页面,但是试用了一下,收藏的分组名和层级会丢失,于是又自己写了一个,可以试用一下。找到上面路径的文件复制里面的文本内容贴到网页使用就可以。
具体的地址是:https://scottyeung.top/arc-bookmarks-export/