分类 电脑 下的文章

初试 GPT-3.5 Poe 助手

约在一年前,王亮建议我多了解一下当时热门的 ChatGPT ,因为他觉得好玩,且较多人有这方面的需求。我不以为然,因为当时我觉得用谷歌搜索就够了,不必额外打开另一个页面或软件来做同一件事。

过年时,有个客户要求在阿里云的虚拟机上安装 FreeBSD 9.3 系统。FreeBSD 9.3 系统版本较老,是约在十年前发布的,阿里云官方提供的 FreeBSD 9.3 系统模板中,最低版本是 FreeBSD 11。我在年初一,尝试用常规的方法来安装 FreeBSD 9.3,但遇到了“拦路虎”—— FreeBSD 9.3 里自带的 VirtIO 驱动无法识别到阿里云新版本的虚拟机硬盘。经翻查资料,知道阿里云官方是提供了适合 FreeBSD 11 和 12 系统使用的 VirtIO 补丁,但没有旧版本 FreeBSD 9.3 的。

我要解决的问题,是如何修改阿里云的补丁,让它能在 FreeBSD 9.3 系统里使用。会读,会改程序代码,这是程序员必备的技能,但我仅是个“民工”,如同在电脑城里组装电脑的“师傅”,是装装 Windows 系统的菜鸟而已。哪怕是只有几行,几十个英文单词的代码,我都看不懂,不知道那是干什么用的。因为不知道怎么入手,很难用谷歌搜索关键字来查找到解决方法。我迫切地希望有个“老师”来给我讲解程序的代码。我想起 Poe 的“助手” ,抱着试试看的心态,一个问题接一个地向它提问,它解答了,且效果令我惊奇。我以前买过如《计算机C语音入门》之类的书,但根本没看懂,没学到一点儿的C语言编程知识,更没有实践紡程过,但现在“助手”它能即时讲解,内容简要并有指引性,我觉得它很实用,且3.5版本的 GPT 现在是免费的。

在这两个月的时间里,我先后两次通过工单请求阿里云客服让工程师花点时间为 FreeBSD 9.3 写个补丁,但他们拒绝了,说那是个很老的系统,新的虚拟化环境不支持,要用就得用老的虚拟机。阿里云官方不愿意写补丁,我又不好意思去 FreeBSD 官方社区里问,因为那儿写了,“结束支持的系统版本最好不要提问”。我只好每天,或隔几天,或在睡觉前,又或者在五、六点早醒时,断续着,在“助手”的帮助下,不断地尝试办法,推进测试的进度。例如,先从 FreeBSD 9.3 内核中的重编译过程中,剥离掉 VirtIO 模块,这样可以减少测试时编译所花的时间,仅重点测试 VirtIO 模块的编译和加载结果。然后又在不同的 FreeBSD 版本和不同的主机商虚拟环境中,测试 VirtIO 官方补丁的结果。最后,不断地在 VirtIO 补丁的程序代码中添加上 printf 的打印输出信息,看看驱动程序在加载过程中的逻辑和结果。得益于“助手”和谷歌搜索,滚泥水般反复测试,在约两个月后,我在阿里云实机测试,终于能成功运行 FreeBSD 9.3 系统。

在这件事情里,我没有写出程序代码,但在 GPT 助手的讲解和引导下,经过很多次的实机测试,再以测试结果中的关键词不断地在谷歌里搜索,最后查找到网友的解决方案。我对 GPT 助手的“博学多才”很惊讶,更难得的是,它“诲人不倦”啊,能一步步地为我讲解程序代码里的逻辑和函数(作用)。我是个“小白”,我对计算机编程是零基础的,但“助手”它能在我的普通提问中,让我了解了“中断”、“向量”等名词。如果这是在现实中,估计老师会对我的提问感到厌烦甚至是动怒,因为有时我是傻瓜般来回地提问。

GPT “助手”能给普通人在学习和了解知识上带来明显的效果。我希望以后能使用到它的场合越来越多,希望它能给社会带来普遍性的好处。

inbucket - apache - 反向代理 websocket 设置 - RequestHeader unset Origin

问题:如果想通过域名来访问 inbucket 的页面,在 apache 里设置反向代理后,inbucket 的 monitor 页显示 disconnected 。

尝试:Monitor 页的信息是调用 WebSocket 信息显示的,需要在 apache 的反向代理设置内容中,有相应的内容,如:

RequestHeader unset Origin  

RewriteEngine On
RewriteCond %{HTTP:Connection} Upgrade [NC]
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteRule /(.*) ws://127.0.0.1:9000/$1 [P,L]

ProxyRequests Off
SSLProxyEngine on
ProxyPass / http://127.0.0.1:9000/
ProxyPassReverse / http://127.0.0.1:9000/

参考:

xampp - incorrect file format 'db' - repair table db use_frm

现象:xampp 中的 mysql 服务不能成功启动。日志中有如:Fatal error: Can't open and lock privilege tables: incorrect file format 'db' 的错误。

尝试:

  1. mysqld --skip-grant-tables # 手工启动,且跳过权限表
  2. repair table db use_frm; # 连接到 mysql 命令台,对 mysql 库的 db 表进行修复

如果返回修复成功的提示信息,再关闭 mysql 服务。重新正常启动。

参考:

主机服务商列表

  1. FiberState - 不限流量实惠物理机 - E3-1240v5 32GB 内存 - 35美元/月起
  2. RackNerd年付美国VPS不到18美元 - 没有主动过滤 TCP 25 端口
  3. Vultr 可按小时计费的主机商 - 适合建国外站
  4. netcup - 德国 VPS 商家,年付 10.84 欧元起 - 内存虽小,但跑小项目,挺合用的。访问 https://www.netcup.com/de/checkout/warenkorb,输入优惠券号:36nc17439207820 或 36nc17439207821 可兑换 5 欧元优惠券,适用于非特价、非域名产品

Rock-Solid VPS

roundcube 菜单定制 禁用功能

https://local2.anqun.org/mail/?_task=settings&_action=plugin.password

// don't allow these settings to be overridden by the user
$config['dont_override'] = [];

// List of disabled UI elements/actions
$config['disabled_actions'] = [];

https://local2.anqun.org/mail/?_task=settings&_action=plugin.password
https://local2.anqun.org/mail/?_task=addressbook&_source=1

'mail.delete', 'mail.copy', 'mail.move', 'mail.mark', 'mail.send', 'mail.sendmdn', 'mail.import',

./program/js/app.js:1942
['show', 'reply', 'reply-all', 'reply-list', 'move', 'copy', 'delete', 'open', 'mark', 'edit', 'viewsource', 'bounce', 'print', 'load-attachment', 'download-attachment', 'show-headers', 'hide-headers', 'download', 'forward', 'forward-inline', 'forward-attachment', 'change-format']

class="about" innerClass="inner" onclick="UI.about_dialog(this)" />
<roundcube:button command="compose" type="link" class="compose"

config.dark_mode_support: false
https://github.com/roundcube/roundcubemail/blob/master/skins/elastic/meta.json
"dark_mode_support": true,

POST /mail/?_task=mail&_action=expunge HTTP/2.0" 
POST /mail/ HTTP/2.0" 200 651 "https://local2.anqun.org/mail/?_task=settings&_action=add-folder&
'settings.add-folder', 'settings.preferences','settings.identities','settings.responses',

192.168.1.7 - - [15/Jul/2023:16:17:59 +0800] "GET /mail/?_task=mail&_action=getunread&_page=1&_remote=1&_unlock=0&_=1689409079167 HTTP/2.0" 200 99 "https://local2.anqun.org/mail/?_task=mail&_mbox=Trash
?_task=mail&_mbox=Trash"  folder can not be found

mail._mbox=Trash

dovecot
https://forum.vestacp.com/viewtopic.php?t=11948

<!-- folders list -->
<div id="layout-sidebar" class="listbox" role="navigation" aria-labelledby="aria-label-folderlist">
        <div class="header">
                <a class="button icon back-list-button" href="#back"><span class="inner"><roundcube:label name="back" /></span></a>
                <span class="header-title username"><roundcube:object name="username" /></span>
                <roundcube:button name="folderactions" type="link" title="folderactions" label="actions"
                        class="button icon sidebar-menu" innerclass="inner" data-popup="mailboxoptions-menu" />

1. templates/mail.html
2. /templates/includes/mail-menu.html:2:<div id="mailtoolbar" class="toolbar menu" role="toolbar">
./templates/includes/mail-menu.html:28: <roundcube:container name="toolbar" id="mailtoolbar" />
3. vi /opt/www/roundcubemail/config/config.inc.php
// PLUGINS
// $config['plugins'] = array('managesieve', 'password', 'zipdownload');

// List of disabled UI elements/actions
$config['disabled_actions'] = ['settings', 'addressbook','mail.compose', 'mail.delete', 'mail.copy', 'mail.move', 'mail.mark', 'mail.send', 'mail.sendmdn', 'mail.import','mail.reply', 'mail.reply-all', 'mail.reply-list', 'mail.flagged', 'mail.reply', 'mail.reply-all', 'mail.reply-list', 'mail.move', 'mail.copy', 'mail.delete', 'mail.open', 'mail.mark', 'mail.edit', 'mail.viewsource', 'mail.bounce', 'mail.print', 'mail.load-attachment', 'mail.forward', 'mail.forward-inline', 'mail.forward-attachment', 'about', 'mail.expunge', 'mail.purge', 'mail.folders', 'settings.add-folder','settings.folders','settings.preferences','settings.identities','settings.responses','settings.compose','mail.import-messages'];

// automatically create the above listed default folders on user login
$config['create_default_folders'] = false;

// protect the default folders from renames, deletes, and subscription changes
$config['protect_default_folders'] = false;

https://github.com/roundcube/roundcubemail/blob/3b6c06f697eca916d5756795461a8eea4e397cd2/config/defaults.inc.php