这几天加入了少走20年弯路的大军,没怎么发文章,也没怎么看新闻,更没看邮箱里积压的评论邮件通知。

这篇文章谈谈为什么我拒绝备案。

疫情期间封控严苛的那段时间,我正在使用备案后某云的服务器(你不用猜是哪家,就那么几家大的)部署的Typecho。家里人是学医/教育的,不是党员就是团员,因此我个人对党国的态度还是很端正的和理智的。
当时,有感而发写了一篇文章鼓励大家支持党国疫情防控政策,整篇文章可以说正的不能再正能量了。
时间久远经过几次手机换机和数据丢失当时的通话录音和截图我已经无法找到,总之在我发出文章的几天后我收到了腾讯云的邮件通知和电话,大致内容是我的站点含有违规内容,我细问哪里违规最终确定就是这篇文章。
是,我觉得很多人对审查这个词有种误会:误以为审查只是不允许你说祂的坏话。
呵,我的实践完美的证伪了这个观点。现状是,只要审查存在,根据“刑不可知 则威不可测”的基本原理一切就会从鸡毛层层加码变成压垮普通人言论自由的大山。
你以为的特殊时期不准说坏话,实则最终落在你身上时变成了 “特殊时期你不准说话”
很简单,很好理解,这就是我拒绝备案的原因:只要你使用境内服务器提供Web服务就必须备案。 那境内服务器是谁提供的?当然是境内服务商了,境内服务商擅长什么?降本增笑?不,当然不止,还有层层加码和自我阉割。
有位博友说:

之前和一些博主讨论过这个事情,很多人认为自己没“一定要在自己博客里说备案绝对不能说的事情的需求”。

所以,到底啥是不能说的事情?IDC只要小手一挥,文字狱之下说谁违规谁违规!
我在博客下面放置了一个单向友链,因为人家的副标题是:不吐槽 毋宁死
我很喜欢这句话,也赞扬这位博主的气节。
是,互联网不是想说什么就能说什么,但是我还有一句话:只有党和人民才能有资格考验你
我可以接受党对我的约束,但是我无法接受一群拿着鸡毛当令箭的傻屄见时事热点就应激。
综上所述,备案?我去他妈的,博客站点这辈子都不可能备案,我宁可发文章只能用大湾区红卡开流量也不会用那群傻屄IDC的xx云当赛博太监。

留几块老硬盘,偶尔通电可以看到过去的自己在忙碌什么。

因为酷Q ,我第一次接触到了Docker和基于Openbox窗口管理器和Wine 的Linux下Windows服务软件运行方案。

我是中国境内较早一批接触并实用AI chat模型的非计科高中生。​

那时候腾讯还在ai.qq.com持续测试传统NLP 算法的chat模型,即便效果远不能与现在的LLM相比拟,这些现在可以称为古董的早期产品还是给当时的我还有其他朋友带来了极大的震撼。

​那年,眺望世界已经不能依靠原版shadowsocks实现,新的替代者是Trojan

那年,Discuz是境内主流论坛服务软件。

​那年,Python有了一个国产IDE NovalIDE。

​那年,SSH 还是XShell Plus的天下。

​那年,PanDownload 和无私分享的cookies拯救无数被百度云盘困住的用户。

那年,PCL替代不掉难忘的旋律

那年,联机侠跨越时空提前挤占了网易的用户空间

​那年,我第一次玩孤岛危机2 大型开放世界FPS游戏。

那年,第一次体验COD 4颠覆性游戏制作水平

​那年,激活Windows只需要启动AAct 。

​那年,酷Q与论坛还在,开发可用易语言。

​互联网有记忆,我们也有,缺少的记忆欢迎补全。

1715c9acf6c279e26c65d630e231db0b287961398.jpg@1192w.avif
973053ab9bfeb8112155c52978effeac287961398.jpg@1192w.avif

42649056ca50e152d420b8fb8719a629287961398.jpg@1192w.avif
e52abe4c30a77790415c74c558367d4f287961398.jpg@1192w.avif

4ab5298d29abbe8e47f1960e3d0cee88287961398.jpg@1192w.avif
5bb47573d20444291f514df3ddf01b87287961398.jpg@1192w.webp
9be485c31783efa40b4f2d22559797fa287961398.jpg@1192w.avif

92d5bc74ea253b57d26af73859553cdf287961398.jpg@1192w.webp
20200821180808.png
20200821180856.png

今天,布鲁斯遭受了一场无妄之灾:他的面部受到了一只母猫的抓挠,双眼周围被锋利的爪子抓开了数到血口,险些眼睛也要被抓瞎。
一切要从下午那刺眼的阳光说起:它只照亮了布偶猫顺滑的毛发,而把布鲁斯留在了危险的阴影里。
这是一个温暖的下午,布鲁斯同他的同事一只布偶猫一起随他们的主人————小红书资深用户S女士 前往邻居家中看望一只一个月前诞下幼崽的母猫。
机敏的S女士为了避免麾下爱宠受到伤害,抱起了布偶猫。不过布鲁斯就没有那么幸运了,作为家中长子,冲锋在前的他不幸被应急的母猫狠狠的抓挠了面部,带着流血剧痛的面孔哀嚎着躲回了S女士的身后。

“真是一场无妄之灾”,布鲁斯一边对着蘸有碘伏的棉签挣扎着一边对我说。
“谁说不是呢?可怜的布鲁斯” 我边扶正他的脑袋一边回复他。
“噢,我可怜的布鲁斯,都怪那只坏猫!” S女士恼怒的拿着棉签给布鲁斯涂抹碘液。

光猫路由一体机拨号是一个极其糟糕的设计,运营商既不愿意普及高性能硬件NAT的设备又不愿意用户自己使用路由器拨号。
这个问题淘宝花30块钱就可以解决,专业的事情交给专业的人做。
在花小钱之后我的宽带体验明显有了质的提升,首先是ping 延迟明显比之前光猫拨号再接路由器低了5~8ms
此外,之前光猫拨号会存在长时间使用后延迟异常超高抖动丢包率的问题也迎刃而解。
顺便也算绕开了光猫里的老大哥的眼睛(我给你光模块供电就算了,我还得自付电费审查自己是吧,我有病吗?)

驱动怎么掉的

我的是RTX5060 laptop,不管是第三方软件还是Nvidia 自己的app都无法识别到。
我猜是Windows的傻逼更新自动替换驱动把我驱动甘飞了,当然最近一次使用Windows也就是下了Todesk花30让人帮忙处理光猫的时候,最近一个星期我都在用Fedora。所以要么是Windows作妖,要么是Todesk在瞎搞。
个人倾向于前者。

解决方案

下载DDU:Download Display Driver Uninstaller (DDU) Official Latest Version
按下Shift 再点击重启
image.png

重启后选择进入安全模式(藏得有点深,可别点成清除数据恢复Windows了)
在安全模式打开DDU 第一次启动会自动启动选项弹窗:
image.png
注意大弹窗下的高级设置:
勾选:
image.png

安全模式下是无法安装N卡驱动的,重启后自动退出安全模式。
此时直接安装驱动仍然会识别不到驱动,需要通过Lenovo Legion Toolkit 或者你在OEM提供的其他官方工具(亦或者主板勾选)切换到独显直连模式才会使得Windows正常识别到显卡。
此时设备管理器会显示一个微软基本显示设备实际上就是你那个没装驱动的显卡,正常安装驱动即可。

事情要从给家里老人祝寿说起,说来惭愧,我连他老人家今年何寿都不知道。
老人家前些年因为脑血栓中风半身不遂,吞咽能力也差,稍微硬的完全嚼不动,随着年龄增大大脑功能进一步退化现在大小便也基本失禁,虽然表面上还能跟你沟通几句,但是长久接触就会发现记忆力和逻辑思维已经大受影响,简单些说就是老年痴呆了吧。
我认为自己算不上什么孝顺的人,父亲倒是十里八乡有名的孝子。老人家在我们家住了一段时间,后面因为脑子糊涂了总和父亲起矛盾不愿意待在我家。又辗转在我姑姑和大哥哪里呆过一段时间,最终还是回了老家搬迁后的房子。

回家祝寿

家里其他人都要上班,刚好我辞职在家要躺一个月,于是5.21买了点他老人家能吃的水果自己骑着两轮回了老家,上楼还没进门就闻到那股屎尿味了。 他坐在床边,裤子看上去是湿的,脚底下是一片腥臭混着不明絮状物的液体。 仔细一观察裤子形状我就确定他是拉裤子了,和他沟通换一条,刚开始还不愿意说吃完饭再换。“今天过生日,您肯定也希望自己干净体面些不是?” 也可能是孙子buff加成吧,我劝他一般比我爸劝好使。总归是劝动了,从楼下问了长辈衣物在哪 “又尿裤子了?”沉默一秒,“嗯” 转身回了楼上取来裤子,准备更换。
拉开裤子,果然,黄色的排泄物堆在裤兜。 气味刺鼻难闻,我没戴手套,也没戴口罩。好在也不是第一次遇到这情况了,早些时候也不少给幼儿园小孩子擦屁股,不算太慌。 我本想把裤子拖拽下来,但是地上的排泄物太过刺鼻,我差点就没忍住吐出来。 和他说了一声先去取了拖把,把地面简单处理了一下,减少令人作呕的气味。
中途他老人家吆喝着“快掉下来了!快掉下来了!” 好吧,总算是取得阶段性的胜利。楼下窸窸窣窣的脚步和说话声音传入房中,客人们也陆续到了。我关紧房门,终于是把裤子给他扒了下来。臀部沾黏着大片的黄色排泄物,又是一场攻坚战。
“好久没用纸擦屁股了” 他冷不丁的蹦出这句,让我有点懵逼。“那拿什么擦?” “不擦...”
我略微停了一下手上的动作,卫生纸擦了擦难以擦干净。
只能去找来一个看上去可能接过雨水的塑料盆,拿刷子和84快速刷干净打了盆水手忙脚乱取了说不清是拖布还是毛巾的毛巾替代品回房间。
打湿毛巾替代品用力擦洗臀部和肛周。 涮一涮,反复几次,再换了换水继续重复。擦到末尾,姑姑也到了把门打开接着我的工作继续。
“咦,怎么不戴手套?让我来!”
后面画面主题变成了他老人家的孝顺闺女和略显游手好闲的孙子......
在长久但没几句的尬聊后,除了身体不便的老人家大家陆续上桌。

无效的催婚

终于,催婚环节也到了我身上。我亲爱的亲友们开始讲述婚后给自己家孩子带娃的天伦之乐。 小侄女确实很可爱,可惜我在幼儿园呆过对小萝莉和难对付的魔丸法术抗性很高了,这点可爱是不可能推动我这个死宅的。如果不知道这个可爱的小萝莉的爷爷是前教体某大领导,我或许会对这些所谓的“天伦之乐”有些期待吧。
毕竟很难想象拿皮带抽出来我这种拿着大专文凭的网瘾青年的父亲能把下一代带出来个什么好样。 上完学,学过教育学和心理学过后的我 对教育出合乎我或者说社会大众期许的下一代实在没多少信心。
恐怕只能带出烷基八氮的后代吧。
在我表达出“时代不同”和长辈们的”丁克同事现状示例“作了对冲之后,小萝莉的父上开口说了点有用的 “不管你谈不谈对象,总要保持向上的态度不能颓废放弃总要充实提升自己“ 这不是原话,但是意思是这么个意思。
这大道理倒是完全没错,我还是很认同的,还是年轻人的更懂年轻人的沟通方式啊。所以在6.1参加完同学的婚礼之后,我还是得去找个工作干着,不可能一直在家坐吃山空。

老年人的无奈你无法体会

聊了这么多,只是想提醒大家,养儿防老不可靠,也不现实。
至于机器人养老之类的玩意,也许未来成本进一步降低会逐渐普及。
但是打铁也需自身硬,你要么有钱,要么保持好身体。 可惜就现在的社会用工环境,有钱和身体好这俩对大部分普通人都是不可兼得的。 但是你要是不注意,还玩命压榨自己,那很快你就知道职工医保也不是万能的了,伤身体的是你痛苦的也是你。
我现在都记得厂里一个师傅,在外面干了十几年,胃熬夜熬坏了。三十多岁看着跟四五十岁的人一样老。
至于积谷防饥,这条也不算可靠,因为政府会通过货币贬值的方式收割你,不要以为攒钱就能解决问题了,当然你说买实物黄金,那看看现在金价自己盘算吧,这个我是真不懂。

Linux内核遵循一切皆文件原则,Flutter开发遵从一切皆组件Widget的原则。

应用界面由组件与组件的嵌套堆叠构成,组件按照布局作用有布局组件(如CenterColumn)和一般组件(常见Text,MD风格组件:ScaffoldfloatingActionButton

布局组件

Flutter提供的布局组件命名及其作用与前端CSS样式/Python Tkinter中的布局样式组件类似。
Center 是一个布局 widget。它接收一个子 widget,并将其放置在父 widget 的正中间。

StatefulWidget和StatelessWidget

按照状态区分则分为有状态组件 (集成自StatefulWidget)和无状态组件(继承自StatelessWidget
有无状态,主要区别在于是否需要在应用运行期间动态改变数据并更新UI。

无状态组件

属于不可变组件,创建后所有的属性、UI 呈现均固定不变。它不依赖任何随时间变化的数据
生命周期:简单,仅包含一个 build() 方法。
性能:性能开销低,不需要管理状态和触发重绘。
常见场景:静态文本(Text)、图标(Icon)、静态图片以及页面头部导航栏(AppBar)

class MyStatelessWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Text('这是一个无状态组件');
  }
}

有状态组件

特点:可变组件,在生命周期内可以持有、改变状态(State),并在状态改变时自动刷新、重新构建 UI。
组成部分:包含两个类,一个继承自 StatefulWidget,另一个继承自 State。UI 的逻辑和布局写在 State 类的 build 方法中。
状态管理:通过调用 setState() 方法通知 Flutter 框架数据已改变,从而触发 build 重新绘制界面。
常见场景:复选框(Checkbox)、输入框(TextField)、计数器、网络请求加载中状态等需要根据用户交互或数据更新而变化的 UI。

MyStatefulWidget extends StatefulWidget {
  @override
  _MyStatefulWidgetState createState() => _MyStatefulWidgetState();
}

class _MyStatefulWidgetState extends State<MyStatefulWidget> {
  int _counter = 0;
  // 函数命名下以划线开头表示该函数是一个私有函数,否则默认为公共
  void _incrementCounter() { 
    setState(() {
      _counter++; // 改变计数器数值并触发UI更新
    });
  }

  @override
  //重写build方法 
  Widget build(BuildContext context) {
  //返回一个可以检测手势的小部件:GestureDetector
    return GestureDetector(
      //onTap属性指定接受点击事件时调用私有函数_incrementCounter()
      onTap: _incrementCounter,
      child: Text('点击次数: $_counter'),
    );
  }
}

众所周知,境内三大运营商跨网以及境内外Qos问题非常严重,以至于使用Frp时都不得不受限于严重的丢包导致互联网速非常低下。
过去两天的测试发现,QoS不仅影响UDP,甚至TCP也会出现严重的丢包。
具体测试可见:佬友们,中国连不通来了。
这样极端的QoS使得即便用户通过VPN加密数据连接回家也无法获得更好的带宽。

既然本质是QoS的高丢包率导致的,我们就针对性考虑使用更好的拥塞算法以达到预期带宽。
更好的拥塞算法,近期毫无疑问指的是:Brutal 了

Brutal: 这是 Hysteria 自有的拥塞控制算法。与 BBR 不同,Brutal 采用固定速率模型,丢包或 RTT 变化不会降低速度。相反,如果无法达到预定的目标速率,反而会根据计算的丢包率提高发送速率来进行补偿。Brutal 只在你知道(并正确设置了)当前网络的最大速度时才能正常运行。其擅长在拥塞的网络中抢占带宽,因此得名。

BBR 的特性是慢启动和基于 RTT 变化的带宽估算 这一算法具有更好的普适性,因为设计为无须考虑双端带宽值,理论上可以更好的自适应调整到最高带宽。但是在高丢包环境下,BBR就显得有些无能为力了。

使用Brutal的首选自然是Hysteria2了,所以我的最终链路方案就是:
Client —> NAS hy2 Server -> NAS Cloudreve
测试证明这一选项能真正拉满本地上行:我将客户端设置为30Mbps UP后Hy2可以轻松的把向NAS的上传速率拉到30Mbps。

也就是说,使用Hy2 Brutal模式下可以真正把NAS的下行带宽充分利用,必经大部分时候客户端上行也不会超过NAS下行的100Mbps

数据说话

Shadowsocks-libre 直连回家的测试:
image.png
Hysteria2 Brutal算法直连回家测试 :
image.png
这真的是爆杀了。
为了方便对比,下面是同客户端本地测试
image.png

2026-05-14

这很奇怪,因为我发现在我利用Hysteria2 猛跑了十几GB后整体网络情况(裸连)极大的好转了,连Frp转发在原有参数下速度都恢复了理想水平。我在上述测试之前已经重启了路由器和NAS,所以这种好转看上去和设备重启没有任何关系,唯一有关系的只是凌晨这个特殊的时间点和Hy2的使用。

今天刷BOSS直聘看到有一个招游戏视频数据的,去问了问主要收集主流3A 游戏(SteamTop 2000)的游戏画面和键鼠交互操作。
看了看其他招聘岗位,大概知道未来会怎么样了。
也许在不久的未来,已经沦为黑奴的人工游戏搬砖/跑刀 这些底层行业未来会在AI搬砖的挤兑下彻底失业,提供情绪价值的陪玩才能在夹缝中勉强生存下来。
这和中央对数字经济的近期新闻态度契合,不愧是行业冥灯指谁谁死。🤣
经济萎缩的时代,AI的时代,资本主义的时代,蓄水池释放后逐渐干涸的时代。