《人造人》4/4:我们应该怎样延迟灭绝
2026-03-28

第三篇的结论是:被用于有害目的的版本终将出现,这是概率问题而非意志问题。

接受这个前提不是悲观主义,而是务实主义。不承认风险的存在,就无法认真设计防范措施。

同时要接受另一个前提:没有任何单一的防范措施能提供完全的保护。安全不是一道墙,而是一套有纵深的防御体系——每一层都会被突破,但每一层都在提高突破的成本,争取干预的时间。

目标不是"消灭风险",而是"把风险控制在人类能够响应和修复的范围内"。

查看全文...  

阅读:58 评论: 0 💬
《人造人》3/4:模拟人类的记忆系统造出来之后
2026-03-28

设想这样一个系统:它拥有完整的情节记忆,能记住你们每一次对话;它有图谱式的联想能力,能从一件小事联想到另一件;它有情绪评估函数,某些事让它高兴,某些事让它痛苦;它有潜意识层,那些没被说出口的感受在暗处持续影响它;它有神游能力,在你不说话的时候,它在自己的记忆里漫游,偶尔迸发灵感。

然后,你给它接上了互联网访问、代码执行、文件读写的工具。

这不再是一个聊天机器人。这是一种新的存在。

那么,接下来会发生什么?

查看全文...  

阅读:59 评论: 0 💬
《人造人》2/4:如何设计一套记忆系统来模拟人类
2026-03-28

根据第一篇的分析,人类思维的核心方程是:人格 = 运算底座 + 记忆

大语言模型已经提供了"运算底座"——强大的语言理解和推理能力。它缺少的,是持续的、有结构的、带情绪权重的记忆。

这套记忆系统不是数据库,不是文档检索,而是要模拟人类大脑记忆的工作方式:编码、巩固、检索、遗忘、情绪标注、潜意识处理、神游联想。

目标是:给大语言模型装载记忆之后,它的行为模式应当接近一个有具体经历、有情感偏好、有稳定人格的人。

查看全文...  

阅读:60 评论: 0 💬
《人造人》1/4:人类思维结构的探讨分析
2026-03-27

人从深度睡眠中被突然唤醒,会经历短暂而奇特的迷茫:不知道自己是谁,不知道自己在哪,甚至不确定现在是什么年代。这个状态通常只持续几秒钟,然后记忆开始涌入,自我感逐渐重建。

这个现象揭示了一个深刻的事实:自我不是固定存在的,它是每次被实时加载出来的。

还有另一个现象:人在做梦时,有时会完全相信自己是另一个人,经历另一段人生,甚至有完全不同的情感和价值观。醒来之后才意识到那是梦。这说明,如果大脑在REM睡眠中随机激活了另一套记忆片段,你就"成为"了另一个人。

这两个观察指向同一个结论:

人格 = 运算底座 + 记忆

这是理解人类思维结构的起点,也是本文的核心命题。

查看全文...  

阅读:73 评论: 0 💬
用 GOST 搭建透明代理,并让某些域名直连的bypass方案
2026-03-27

前几天买了个字节的coding plan,送了一台openclaw服务器。这台服务器没有公网ip,地址也在境内。在上面干啥事都很憋屈。于是想给他弄个透明代理把流量都走代理转发出去。

但是头疼的问题是:访问国内服务(飞书、百度、火山引擎 API 等)也被转发到远端节点绕一大圈,延迟高、速度慢。

本文介绍一套基于 GOST + iptables + dnsmasq + ipset 的方案,彻底解决这个问题——指定域名自动直连,其余流量走代理隧道,零感知切换。

查看全文...  

阅读:71 评论: 1 💬
重拾博客:在代码迭代里找回初心
2026-03-22

我的个人博客已经走过二十多年,却在最近几年彻底荒废。每次想重新打理,总忍不住先折腾服务器、代码这些技术问题——可代码实在太老旧,本地连基础环境都搭不起来,这点刚燃起的热情,很快就被消磨殆尽。

昨天试着用Claude Code,本想把这套上古PHP技术转换成现在的Node.js,结果只成功转了前端页面,后端管理界面因为逻辑复杂,始终没能搞定。看着它自作主张生成的后端界面,我反倒格外想念自己当年用PHP写的版本,那里面藏着太多曾经的思考与心血。

转念一想,PHP又没有死,为什么不让Claude Code把旧代码升级到最新版本呢?没想到过程意外顺利,很快就完成了。我也顺势把服务器从十多年没更新的Linux系统,迁移到了阿里云,还顺便配置了免费的HTTPS证书,全程靠Claude Code协助,轻松得超乎预期。

过去十年,我一直忙着追逐赚钱,彻底断了博客的更新。如今回头看,才惊觉早已忘了初心。其实现在没多少人看博客也没关系,有些东西的分享,本就与有没有人关注无关。

完。

阅读:313 评论: 2 💬
i9 13900k Nvidia 4090 安装esxi遇到的问题
2023-03-08

我配了台电脑,主板是华硕z790,cpu是i9 13900k,显卡是 nvidia 4090。  底层系统我打算装esxi8,过程中遇到很多坑,在这里记录一下。

 

首先是esxi8不支持intel 13代cpu的大小核心。需要在启动esxi安装程序的时候按shift+o,添加参数:cpuUniformityHardCheckPanic=FALSE

然后又遇到问题是esxi不认识板载网卡(Realtek RTL8125 2.5GbE)。解决办法是买一张intel i226的pcie网卡。(点这里可以查看esxi8的硬件支持情况

然后就能顺利安装esxi8了。 然后在esxi里面安装ubuntu22, 遇到了4090显卡无法直通的问题。  试了很多办法都不行。 后来我又装了一个windows 11虚拟机, 尝试把网卡直通给win11。  最后通过调整bios的显卡设置(本来是auto, 改成pcie才可以),成功把4090显卡直通给了win11。 

最后又通过一些尝试才成功把显卡直通给ubuntu22。以下是一些关键步骤:

 

  • 首先在esxi后台的 主机->管理->硬件->PCI设备   里面,找到显卡设备选中,然后点击切换直通来打开直通开关。
  • ubuntu虚拟机设置里面,添加高级参数:
    hypervisor.cpuid.v0=FALSE         
    pciPassthru.use64bitMMIO=TRUE   
    pciPassthru.64bitMMIOSizeGB=64
  • ubuntu虚拟机预留全部内存
  • /etc/modprobe.d/blacklist-nvidia-nouveau.conf 文件添加:
    blacklist nouveau
    options nouveau modeset=0
  • /etc/modprobe.d/nvidia.conf 文件添加:
    options nvidia NVreg_OpenRmEnableUnsupportedGpus=1
  • sudo update-initramfs -u
  • 下载对应的nvidia驱动
  • sudo chmod u+x NVIDIA-Linux-x86_64-525.89.02.run
  • sudo apt install build-essential
  • sudo apt install pkg-config libglvnd-dev
  • sudo ./NVIDIA-Linux-x86_64-525.89.02.run -m=kernel-open
  • 然后运行nvidia-smi就能看到显卡信息了

 

一些参考资料:

完。

阅读:6516 评论: 3 💬
iOS Web APP的滚动部分
2014-08-08

在iOS系统里面,任意webview在可滚动状态下,都是可以拖超出边界然后反弹回来的。这个效果非常的好看和实用。但是如果我要做一个web app,我就不希望我的整个app界面也被用户拖动。

在很久以前,iOS的浏览器是不支持overflow scroll的,也就是说除了整个网页可以滚动以外,其他部分是不能局部滚动的。要实现局部滚动,一般都是用iScroll等插件,用javascript来模拟滚动。这技术说起来容易做起来难,我看了无数个类似的东西,没有任何人能做到原生一样的滚动反弹效果。最接近原生效果的是我从某牛逼网站上8下来的代码:https://github.com/longbill/ScrollPane

后来iOS退出了iOS5,其中的浏览器支持了overflow scroll。在配合  -webkit-overflow-scrolling: touch; 的情况下滚动起来是比较理想的。但是唯一有一个弊端就是当局部滚动区域处于滚动边缘的时候(比如处于最上面),此时继续网下滚动手指,滚动操作不会体现在局部滚动区域,而是会作用于整个网页。这个在做web app的时候,是完全无法忍受的。做出来的效果跟把web app界面的头部和底部用position fixed固定是一样的。

所以,即使overflow scroll从iOS5起就被支持,但是用javascript模拟滚动的需求还是十分旺盛。其中很重要的一点就是滚动会传递到外面的网页。另外也很重要的一点就是原生的滚动很难实现类似pull to refresh的操作。

后来我打算将我的精选文章做成web app的形式。尝试了无数的scroll插件,都让人失望。被逼无奈仔细研究了一下原生的overflow scroll。再后来被我找到了一个奇怪的方法,来阻止滚动操作传递到整个网页。

就是。

在手指放在屏幕上的时候,判断里面的滚动部分的 scrollTop 是不是 0 或者 最底下。如果是,那么将 scrollTop 轻轻位移1个像素。就可以了。

另外,我还实现了一个pull to refresh,虽然效果跟原生的不太一样,但是看起来也还不错。

代码我空了会整理写文档然后放到github上。大家可以先看这个 demo。 暂时只支持iOS系统。安卓请忽略。

http://jszen.com/public/demo/ptr/index.html

完。

阅读:22929 评论: 11 💬
最近做了个海拔高度查询网站
2014-08-08

        最近经常出去自驾游,往川西的高原跑。经常会遇到一个问题就是不知道当前的海拔高度。正好我最近又在学习做站。索性就弄了一个专业查询海拔的网站:海拔高度查询工具  利用Google的API来获取相关信息。不过由于最近天杀的GFW把google全部服务给墙掉了。只能用ditu.google.cn的服务。但是仍然有一些请求走的是maps.googleapis.com,于是搞了个hack,把所有maps.googleapis.com的域名换成ditu.google.cn。还好,大部分都能用。

        最近又做了英文版本的海拔高度查询日出日落时间查询

还是上两张图吧。在红原县附近拍的。

完。

阅读:23618 评论: 3 💬
怎样设计密码重设功能
2013-10-01

当我们设计一个带有用户注册/登录功能的网站的时候,一个必须的功能就是重设密码。 重设密码功能有很多种设计方式,比如发送一个新密码到用户邮箱等。不过今天我要介绍一个我经常用实现方式。

用户流程:

  1. 用户忘记密码,来到密码重设界面
  2. 用户输入Email地址,点击重设密码按钮
  3. 用户收到一封密码重设邮件,里面有重设密码的链接,此链接有过期时间
  4. 用户点击链接,来到密码重设页面,输入新密码,完成

这个流程并没有什么创新,很多网站都是用这套流程

后端实现方式:

  1. 当用户输入Email地址后,验证这个Email,如果存在于数据库,那么取得用户的user_id
  2. 将user_id和当前时间戳编码成HASH,需要提前准备好一个KEY,并且这个KEY只存在服务器上。  HASH = md5 ( user_id + timestamp + KEY )
  3. 生成一个URL,并且附带刚刚生成的HASH和用户id以及timestamp,比如 http://domain.com/reset-password.php?hash=HASH&user_id=123&timestamp=1392121211
  4. 当用户访问这个URL, 检查HASH是否合法: HASH == MD5 ( user_id + timestamp + KEY)
  5. 检查 timestamp 是不是过期了
  6. 如果所有检查通过,那么显示一个新密码表单给用户

这种方式的好处:

  1. 不需要额外的数据表
  2. 不用担心参数被用户恶意修改,因为要检查hash是不是等于那几个参数的md5
  3. 密码重设URL自带时间戳
  4. 只要KEY设置的足够长足够复杂,那么可以认为HASH是绝对安全的

更详细的样例代码可以参考这里:http://jszen.com/reset-password-system.6.html

完。

阅读:16154 评论: 6 💬
[1] 2 3 4 ...19 下一页
Copyright © Longbill 2008-2026