寂静山林

思绪飘来飘去,偶尔在这里停留

老婆是在中兴认识的,进中兴时,已经在社会上摸爬滚打了7,8年了。上一家小公司还跟老板闹翻了,派出所调解过,劳动仲裁调解过,差点闹上法庭,真是四处碰得头破血流,心灰意冷,以为这辈子也就这样沉沦下去了。

命运是个很神奇的东西,当时中兴面试完后,招聘处说已经在走流程了,结果等了很久,都没有消息。当时对啥都无所谓了,连打个电话确认下的心思都没有。差点去了一家开发地铁通信设备的公司。快一个月的时候,招聘处的小姑娘打电话给我,很奇怪的问,你怎么还没有到部门报道,我一脸黑线。但是感谢这个电话,如果没有这通电话,也许我的人生就走上了另一条完全不同的道路了。

后来才知道,流程在审批过程中,卡在了一个地方,那人以为我毕业的学校是个学院,不在中兴招聘名单里。在小姑娘的交涉下,就这样参加那一期中兴的新员工培训。培训是在总部大楼里举办的,那时的中兴已经没有以前辉煌了,据老婆说她们当年都是到大梅沙中兴基地举办培训的。

工作分配在西丽的中兴产业园,当时那旮旯除了几所学校和产业园,一片荒芜,中兴公寓也才刚刚开建,现在一片繁华的创智云城,万科云城等还是一片荒草地。感慨这世界发展的快速。望着周围一幢幢高楼大厦拔地而起,常常会想,深圳的繁华好像都是别人的事,跟自己没有太大关系。

办公室的桌子,是常见的那种弯形的办公桌,四张桌子可以围城一个小空间,老婆就坐在我的旁边,但当时他们老员工大部分时间都在实验室或者机房上班,平时很少看到,中午休息的时候会回到工位睡觉。

什么时候跟老婆对上眼的,已经没有印象了,只记得一次去实验室找师傅(中兴新员工入职都会有个老员工带一段时间)解决个编译问题,走到连廊的时候,碰到了老婆从对面走过来,问去实验室干什么,当时居然有种心跳加快的感觉,说去找师傅解决个编译问题,老婆说,编译问题可以自己解决的。说的我都有点惭愧。语无伦次,我,我搞不定啊。那时是真搞不定,第一次接触到几百万行代码级别的系统,无从入手。

老婆比我早4,5年进的公司,她可比我聪明多了,她是保送电子科技大学本硕连读通信专业的,我这个野生三流的本科自动化专业,在她面前自惭形秽,这可能也是婚后一些矛盾冲突的起点,男人的那点自尊嘛。总想显示的比别人聪明一点。

然后就一起相约去漓江玩。在漓江的漂流小船上,那天天空是阴沉的,飘着细细的雨丝。我俩都穿着黄色的雨衣,蹲在船头玩水。我在心理捣鼓了很久,鼓起勇气说:“丫头,做我女朋友吧“。她把头扭向一边,没有说话,我继续说:“好不好吗,嗯?好不好”?老婆害羞点了点头。轻轻 “嗯” 了一声。好嘛,老子得手了,心中狂喜。

那一年的元旦,跑三亚去玩了一圈。犹记得深夜坐在等候轮渡的汽车上瑟瑟发抖,是真抖,冷的抖,出发前想着海南嘛,热带地区,不用带厚的衣服了,然后只穿了一件薄外套,没想到琼州海峡的夜那么的冷,找司机只要来一床很小的被子,给老婆盖了。然后在不停的寒颤中期待黎明快点到来。

三亚的海滩还是很漂亮的,沙子很细很软,海浪轻轻拍着,沿着海岸线可以走很远很远。天涯海角只是一块石头,有点辜负这么浪漫的名字。

回程的前一天,在三亚海鲜市场吃了一顿丰盛的海鲜大餐,结果不知道是海鲜过敏还是去的那一晚被冻着的原因。发烧了一晚上,第二天在老婆搀扶下到楼下药店买了一盒泰诺。然后在回程的车上睡了一天一夜。回到深圳时,终于缓过劲来了。

(未完待续,最近估计是闲的,老想写点东西,就当作练手吧)

端午叠着六一,带果儿几个姐妹去海边住了一个晚上,还是上次去的东山港,这次因为小桃子被姨妈带回家了,少了妹妹就少了很多乐趣,连海螺也懒得捡了。当然小朋友们还是玩的很开心。有点想念小桃桃了,人都这样,在身边时,老还嫌着她烦,离开就想个不停。

桃子以后应该是外向型性格的,陪着她能跟你叨一天,出去玩也能大方跟别人打招呼。这点不像姐姐,姐姐不知道遗传了谁,出去买个包子都不敢开口,但在家里却对我们吼来吼去。现在更是有时跟她说话一点回应都没有,青春期的孩子真难搞。想着小时候,我也没有这么不懂事呀。

有点欣慰的是,她喜欢数学,这大概是遗传的。理想是想当个宇航员,这倒挺适合她的性格,但如果不努力的话,这个越来越胖的身材估计是最大的阻碍。在我的影响下,也喜欢上了历史,一套明朝那些事儿,都快翻烂了。前段时间给她充值了一个音频版的,现在一回家就抱着pad听。挺好,读史使人明智。父母最大的作用,也许就是潜移默化中,能将一些好的人生观,价值观传给她们。至于她们的路还得她们自己去走出来,基于人性,有些坑即使你说了也没用,非得她们自己踩过了才能成长。

由于姐姐小时候各种鸡娃,各种培训班,现在看来其实没啥效果,所以小桃子估计处于放养状态了,只要她开心就行。这大概是一个娃与多个娃的区别吧。

  1. 初识rust

大概在17~18年的时候,当时主要在做充电桩,经过几轮的迭代后,对软件模块化,分层设计有了一些心得。最开始使用的是c++和qt来开发的,可能是代码组织的不太好,总有些偶尔莫名其妙死机的问题。每次出现都得花一两周时间排查,折腾几次后,反思可能自己的水平驾驭不了C++,后面花了半年重构了程序,全部采用c语言,即使使用了简单的C了,偶尔还是会出现死机问题。但毕竟比c++好解决一些了。然后花大部分的时间去研究怎么用C写出安全代码。但c实在太古老了,不仅编程效率低,而且一些原生的缺陷根本不是靠一些技巧能够解决的。

这时偶然在网上看到说有一种编程语言rust,静态编译语言,运行效率跟c一样高,关键没有内存问题。于是就找了一些资料看了下,发现是一门很新的语言,15年才发布了1.0版本。对没有内存问题这个特性很好奇,到底怎么做到的,于是买了一本书,好像是《深入浅出rust》,里面比较系统介绍了rust语言特性,但当时只对原理感兴趣,重点看了所有权,生命周期那些篇章,有点豁然开朗的感觉。了解知识,有个说法叫第一性原理,rust正是从第一性原理出发,通过所有权,生命周期,彻底解决静态编译型语言中的内存问题。并由此引申出来的无畏并发特性。使语言天然从最核心支持并发编程。

  1. 使用rust

又过了几年,因工作的原因,期间并没有深入了解或者使用rust。但一直有关注语言的发展动态。大概21年的时候,陈天有开了一门rust的付费课程,不贵,几十块钱,第一时间就报名了,想着有机会是不是可以学一学。就当作兴趣或者拓宽知识面了。但是这个课程也就跟完了基础篇,后面又放下了。无论学啥,一定要用起来,不然很难坚持下来。

到了23年的时候,工作上有个新项目成立,是个ems网关,需要支持modbus,dlt645等协议,需要通过mqtt协议与后台连接,需要本地网页进行参数设置。说起来也不难,但性能要求比较高,单台需要支持1万个数据采集点同时采集。这时上个项目刚完成,是个智能仓库网关,因为全部采用c,导致开发周期都有点延后了。这时对c都有点抵触了,就想着何不试一试rust呢。

通过前期调研,rust中有现成的modbus协议库tokio-modbus,支持并发和同步,有现成的redis接口库,有现成的mqtt接口库,有这些基础库就已经省了很多时间了,虽然c中也有这些成熟的库,但c的移植可不像rust一样,拿过来就能用的。这些只是项目要用到的库,更不要说语言支持的anyhow,thiserror,log,还有极为方便的serde,所以就决定下来使用rust开发了。

于是花了大概20天时间,期间刚好有个十一假期,把陈天的课程全部看了一遍,把rust语言圣经(Rust Course))全部看了一遍。就算入门了,这里要说下,rust语言圣经比较适合初入门的人看,以比较简洁活泼的语言由简入深的讲解比较基础的知识点。陈天的课程放在初入门后在看比较好,讲的比较深入,涉及到的点也比较多。当然rust语言是一门还在发展中的语言,这么多年前的教程,有些知识点可能也过时了。rust的入门可能跟其他语言有点不一样,像c,c++可能只要先学了20%的知识点,就可以上手,以后边做边完善剩下的80%,rust不一样,你必须先学会80%的知识点,才能上手。边做边熟悉和巩固原来的知识点。

后来就这样磕磕碰碰的上路了,刚开始确实有点难受的,跟编译器反复斗争了一段时间后,慢慢的就感觉越用越上手了,当然当年刚兴起的大语言模型功不可没。甚至为了利用大语言模型的能力,还充值了微软github copilot,这大大缩短了新手期的时间和难度,以前如果说学习rust曲线很陡峭,很难,我基本同意,但如果结合大语言模型的话,我觉的入门或者开发并没有想象中的难。

项目开发中,为了赶进度,直接在tokio-mobus工程上添加了rtu-over-tcp客户端的支持,甚至也添加了对dlt645电表协议的支持。当时对语言了解不深,所谓的添加支持,只是将源码逐层拷贝一遍,改改文件名,添加一些不同的解析封装而已,里面有很多份一模一样的代码。后续有时间和机会的话,好好整理一下,甚至可以将dlt645协议的部分独立一个crates出来。

自从使用rust开发这个ems网关项目后,一发不可收拾,后续只要有新的项目,都选择使用rust来做了。甚至还花了几个月的时间,将原先c开发的智能仓库网关重新用rust开发了一遍。一些单片机的蓝牙项目也使用rust的embassy框架来实现。一些产品测试工具也使用egui或者axum来实现。rust能实现的地方,就懒得在切换到其他语言去折腾了。

  1. 心得体会

这几年使用下来,rust给人的感觉就是快速,可靠,舒坦,写完的代码,只要编译通过了,就可以放心运行起来。如果有问题,也是逻辑上的问题。只要程序中不用unsafe,不用panic基本上不会出现逻辑之外的异常。

因为编译器的强大和类型系统的完整性,修改代码心智负担很小,只要把编译错误都解决了,修改的代码就不会出现意外的问题。当然有些编译器没法检查的地方,还得小心处理,比如对字符串的处理,像match分支用字符串时,就需要小心字符串别写错了。

库管理很便捷,在cargo.toml中包含库版本就能直接使用了,这跟c/c++的繁琐简直不是一个维度的东西。升级库也很方便,但升级需要小心一些兼容性问题。

单元测试很方便,特别在ai的支持下,很多时候,都是写完代码了,直接让ai生成单元测试。

生命周期的概念要清楚,但实际中很少用到,一般应用还没有到要使用引用来提高性能瓶颈的程度。

当然也有一些不尽如人意的地方,比如如果写并发代码,在代码最里层用到了异步,那么整个调用链都得用异步,逐层添加async/await, 这感觉就很繁琐。

用std库写的代码跟不用std库写的代码没法通用,这样就造成,单片机嵌入式的代码和有操作系统的代码没法互相移植。它们基本上是两套不一样的东西。

对于c/c++系的开发者来说,只要接触了rust,就不会回头了,这就像开过了电动车就不会还想开油车一样。这也是rust的生态位。随着rust的发展,rust生态的完善,会有越来越多的底层或者高性能应用迁移到rust。

技术是迭代式进步的,也许十年二十年又会有其他新的语言兴起,取代了rust。但至少目前来看,rust代表着静态编译型语言的未来。

不知到从什么时候开始,喜欢上写诗词。可能喜欢古典文化的人,都会喜欢上诗的吧,就像喜欢古典文化的人,也会喜欢上书法一样。

将情感思绪浓缩在短短几句诗词中,感觉很有成就感。大概是看了红楼梦(癸酉本吴氏石头记)后,才喜欢上诗词的吧,红楼梦真是集大成者,里面有些诗词写的太好了,特别是前80回中经过作者润色后的那些章节。看了真是让人爱不释手。

里面有太多优美的句子,印象最深的是一个对联:

芙蓉影破归兰浆,菱藕香深写竹桥。

短短两句,就将一幅湖水,荷花,竹桥,行舟的立体动态水墨画情景呈现在眼前了。

还记得另外一句:

嫩寒锁梦因春冷,芳气笼人是酒香

真是字字不说情,却句句都是情。这大概就是诗词的魅力吧。

忽然记起,真正对诗词有兴趣,应该是08年受到了缠中说禅的影响,还记得他写了一篇文章教人怎么写诗,还拿了一首他写的诗来当范例,至今还记得这首诗:

虎丘

虎丘山下吴王墓
古木苍然噪夏蜩
碧草长阶云寂寞
灰墙倾塔气森萧
三千宝剑埋荒土
半百雄心化怒潮
溅血未干鱼腹刃
浣纱溪上越歌撩

还记得他说这首诗虽然一般,当已经体现了写诗的一般手法,比如首句平平开场,比如第二节描写一个人到新的地方后的第一感受,视觉和听觉是优先的,然后眼光跟随阶梯逐步由近到远,由下到上。还有前半首写景实写,是为了引出后半首写史虚写等等。这些都对我有很大的影响。突然有点想念缠师了,虽然学了缠论并没有让我在股市中赚多少钱,但他的思想,对论语的解释,对禅的看法,都对我产生深远的影响。希望缠师在那边没有病痛,没有烦恼。

虽然很早就对诗词有兴趣了,但一直没有真正试着去写一写,可能一是因为生活比较忙碌(借口),二是因为文学的积累没有到一定程度吧。近年来,看了一些书,特别是资治通鉴,虽然几年了只翻了一半,但已经足以将古文的那种叙事深深印在脑子里了。现在看些古文都喜欢找繁体版本看,感觉看起来更舒服。然后还有一些七七八八的书,比如西游记,比如石头记等等,正是这些书的潜移默化起了作用吧。当思绪起来时,总想着能不能用一首诗词来表达一下。

当然现在还菜的很。最近又下载了古文观止,唐诗宋词的书,希望能看进去一些,这个爱好就跟毛笔字一样,纯属个人兴趣,没有实际的意义。但人生总得有点依托吧。还是希望能坚持下去。

  1. 标题使用 #

    # 一级标题 
    ## 二级标题
    ### 三级标题
  2. 段落使用空行

  3. 换行尾部使用2个空格

  4. 强调语法,使用** **或者__ __

    强调**这个要黑体**, 或者 __这个要黑体__
  5. 引用使用 >,嵌套引用块 >>

  6. 有序列表前面使用数字加个因为点号,要创建无序列表,请在每个列表项前面添加破折号 (-)、星号 (*) 或加号 (+) 。缩进一个或多个列表项可创建嵌套列表。

  7. 要将单词或短语表示为代码,请将其包裹在反引号 (`) 中,要创建代码块,请将代码块的每一行缩进至少四个空格或一个制表符

  8. 创建分隔线,请在单独一行上使用三个或多个星号 (***)、破折号 (---) 或下划线 (___) ,并且不能包含其他内容。为了兼容性,请在分隔线的前后均添加空白行。

  9. 链接文本放在中括号内,链接地址放在后面的括号中,链接title可选。

    超链接Markdown语法代码:[超链接显示名](超链接地址 "超链接title")

  10. 要添加图像,请使用感叹号 (!), 然后在方括号增加替代文本,图片链接放在圆括号里,括号里的链接后可以增加一个可选的图片标题文本。

    插入图片Markdown语法代码:![图片alt](图片链接 "图片title")

  11. 要显示原本用于格式化 Markdown 文档的字符,请在字符前面添加反斜杠字符 \ 。

  12. 内嵌HTML标签,直接添加即可,但要注意不是每种解析工具都支持内嵌HTML标签。

2025-04-08 12:02

这个月,将所有资金都投入了泸州老窖,平均成本在130左右,本来还想留20%应付极端情况,想想还是算了,直接全仓躺平了。

昨天全球市场狂跌,老窖最低到120了,也没钱补仓,象征性的买了一手。以后只能靠分红和工资来加仓了。这种低买高卖的操作不是我能搞的,每次操作都要伤筋动骨。还是躺平适合我。

买入泸州老窖,是受到散户乙的影响。并不是自己分析所得。

07年就入市了,经历了几轮牛熊,幸运的是刚开始的钱不多,最多也就几万元在里面沉沉浮浮,经历了什么都不懂的追涨杀跌,到知道看看公司基本面,看看行业方向的所谓的趋势投资,现在终于要进入第三阶段了。

芒格有句话说得对:”不要跟40岁以下的人谈价值投资”。年轻时到处都要用钱,投资本金本来就小,怎么可能愿意拿着一只票等分红,等着10年20年后有钱呢。

21年后才陆续将钱转入账户,在市场混了这么些年,主要还是长线波段为主,但也没赚什么钱,最大的一笔是半仓中芯国际翻了一倍,这还是死拿了三年,运气好的结果。

中芯国际这种股票,100多倍的市盈率,还敢拿三年,现在想想,没亏真是运气好,赌对了国运。下次可能就没有这个好运气了。

所以也是被迫进入了所谓的价值投资,既然中芯国际都能拿三年,那么像泸州老窖这种:

1,它的资产不是随着时间折旧,而是随着时间增值,越久越值钱。

2,它的产品无论朝代如何更替还是社会发展到什么程度,都是被需要的。

3,他可以依靠内生性增长,不需要再投入就可以实现长期稳定发展。

4,他的分红率要高。

这样的股票,有啥理由不能拿10年呢。目前的市盈率12倍,pb是4倍,不能说很低,但再低估计也买不到,就相当于多等几年才能享受企业的高成长。也算做个实验,看看10年后是个什么样的结果呢。

在网上打印了老窖这些年的年报,认真看看,争取看懂一家公司。

像散户乙说的:“到了我这个年纪,生活要悠闲,状态要笃定,表情要轻松,举止要从容”。

远离市场,享受生活吧,只要走在正确的路上,结果都不会太差的。

再别鹏城

朝辞南山云霞暖
夜宿横琴梅雨寒
沧海茫茫一线牵
伶仃洋上独徘徊
塘朗山

野径林幽处
长阶树影驳
蝉声催夏至
携手攀登时
北京,北京

风鸣孤枝叶卷尘
雨溅枯苔日斜影
耳畔犹闻噪夏蜩
回首南国又一春
归途

远山如黛孤星悬,一夜红龙舞。
归心似箭,千里来把故地寻。
晨曦破晓穿碧树,袅袅炊烟直。
行行止止,醇茶难消睡意浓。
雾雨
雾锁青冥雨霏霏
空谷幽鸣催客归
小径依稀人迹远
唯有香椿带露垂

搭这个blog,是为了平时记点事情,以前用得很长时间的追梦人日记网,近来常常打不开。恐怕后续更不稳定了,毕竟是个二十多年的私人站点。所以还是搭个独立的空间会好一些。以后会在这边记录一些心情,一些投资心得,如果有兴趣,也会记录一些编程技术,不在意会不会有人看见,只当是自己的一个私人空间吧。网络这么大,没有人在乎啦。

仙岭峰上笑颜驻
荒山孤火,犹记银坑冷
流水声声声喧嚣
冷夜寒风不觉晓
遥寄相思传鸿雁
天涯相隔,从此是路人
夜深幽梦偶忆起
空余柴门犬吠声

这部分网上的资料很多了,这次选用的也是hexo,中间有写曲折,记录一下

1 使用npm 下载安装hexo一直不成功,后来使用npm先安装cnpm,在用cnpm安装hexo才成功
2 ssh证书好像过期了,重新生成后才可以

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa

3 如果需要域名访问的话,需要添加CNAME文件,放在public文件夹中

0%