OneBlog2改三栏主题

OneBlog2改
OneBlog二改版本,改成3栏了
演示
在线预览

OneBlog二改版本,改成3栏了
在线预览
周五的时候,娃不小心把电话手表弄丢了。到了周一上午八点多,我打开小天才 APP,发现手表还剩最后一格电,赶紧试着给手表拨了电话,电话很快接通了,是一位女老师接的。她告诉我手表在她那里,我连忙跟老师说明情况,讲清孩子所在班级以及孩子的名字,并且向她表达了感谢。
挂了电话后,我立刻给孩子的班主任发去消息说明此事,可班主任过了半个小时回复,说并没有人将手表交到她那里。我赶紧趁着手表还没彻底没电关机再次拨打电话,一方面询问接电话的老师是哪个部门的,另一方面也拜托班主任帮忙去取回手表。
这次接通后,对方老师告诉我她是德育处的。我马上把这个信息发给了娃班主任,没过多久,班主任就发来消息说已经把手表取到了。这下可算松了口气,相当于省了五百块钱,要是手表真找不回来,就只能花钱重新买一块了。
昨天早上一醒来,我就发现孩子浑身发烫,看来今天没法去学校了。不过孩子倒是难掩喜悦,因为终于能名正言顺地在家休息了。
上午孩子妈妈带他去卫生院做了检查,医生开了些之前没吃过的药。孩子肠胃特别敏感,感冒时吃东西快了就会立刻呕吐,所以从昨天中午开始,我只给他熬白米粥,每次喂小半碗,饿了再添小半碗,没敢给他吃任何带油或带菜的食物,怕他再吐。
这样喂下来,孩子昨天没再吐过。可今天早上他忘了叮嘱,一口气喝了一大杯水,结果马上就吐了。我刚才又跟他强调了一遍,在完全好之前,不管吃东西还是喝水,都要小口慢咽。这会儿已经给他盛了一小碗粥,让他慢慢吃着。

一个基于Bootstrap的主题。支持卡片模式以及列表模式,列表模式主题是双栏。
在线预览





一款简洁优雅的 Typecho 主题,作为计算机术语时,VOID 的意思是「无类型」。
在线预览
开源地址:https://github.com/AlanDecode/Typecho-Theme-VOID
PJAX 无刷新体验AJAX 评论PJAX)Mac 风格代码块(可开启或关闭)MathJax 公式
又一个Typecho极简主题,HEXO同名主题移植 https://github.com/gary-Shen/hexo-theme-bear
加了个文章置顶功能,做了些许调整优化和适配🤗
在线预览

简洁至极的typecho主题
在线预览
为了更好地使用头部 请设置以下页面
linksAboutarch然后支持伪静态的请把链接分别设置为 links.html about.html arch.html 不支持的请到header.php修改相应路径 然后就可以愉快地玩耍啦

Dear,主题复刻于 Bear Blog 示例主题,并在原基础上进行改造及中文优化。既然是复刻“b”ear,那本主题就姑且叫 “d”ear 吧,亲爱的。
Dear 是一款 WordPress & Typecho 纯文本极极简主题,样式复刻于 Bear Blog 示例主题。主题支持自定义背景、自定义菜单、自定义首页内容,支持黑暗模式和自适应;内置文章归档和搜索模板;已作中文字体优化,内置3种字体方案可选。主题无 JS、图片文件引用。
主题类型:极简 / 纯文本 / 单栏 / 博客 / 自适应 / 暗黑模式 / 免费
在线预览
原版无评论功能,站长已为其追加评论功能
style.css 文件,根据提示对第31行进行修改。funcitons.php 文件,按提示修改第4行“文章数设置”的数量。首页显示的文章数太多/太少怎么办?
使用代码编辑器修改主题内 funcitons.php 文件,按提示修改第4行“文章数设置”的数量。
精神食粮系列 声音的觉醒(三) “高位置”的误区与科学解读 无敌的个人博客 tangwudi
1 走进‘高位置’:一个被神化的高音概念 说到“高位置”,相信很多学习唱歌、看过无数教学视频的朋友一定不陌生。B站上一搜,“高位置”三个字出来就是满屏的教程,标题个个都是“解锁高音秘诀”、“轻松唱高音”的画风,仿佛只要掌握了“高位置”,所有困难高音都迎刃而解了: 但现实是,你听懂了“高位置”的理论,甚至照着视频试过各种方法,可能依然唱不上去,或者唱上去了也没有想象中那种“轻松自如”的感觉。于是你开始疑惑:到底这个“高位置”是什么?它真的能帮助我唱高音吗?还是只是一个被过度神化的概念? 在我看来,“高位置”是真实存在的,但它绝不是一个万能按钮。如果我们把它简单理解为“把声音往头顶放”、“把腔体抬高”、“声音在眉心震动”之类的空泛指导,那么它既无法被准确操作,也无法真正帮你解决高音难题。相反,当我们从科学与身体结构的角度来重新理解这个概念,或许会得到一种更实际、更具操作性的认识。 所以,这篇文 […]
<p>The post 精神食粮系列 声音的觉醒(三) “高位置”的误区与科学解读 first appeared on 无敌的个人博客.</p>
家庭数据中心系列 为什么 WordPress 在入门级 VPS 上更容易出现”建立数据库连接时出错”?从数据库到架构的系统性分析 无敌的个人博客 tangwudi
1 前言 我使用 Racknerd 芝加哥数据中心的入门级VPS(39美金/年) 来搭建我的博客双活架构中的 “只读节点”,已经差不多有大半年的时间了。这大半年下来,VPS 的整体稳定性其实还不错,至少到目前为止还没有出现过整机宕机或者服务完全不可用的情况(对Racknerd的入门级VPS感兴趣的朋友可以参考如下链接:无敌推荐)。 不过,唯一有点闹心的是:VPS 上基于 WordPress 搭建的博客,会偶尔出现 “Error establishing a database connection” 的报错,如下图: 或者”建立数据库连接时出错”的报错,如下图: 更关键的是,这个问题出现时,重启WordPress和MariaDB的docker,甚至重启VPS都未必有效,可能还需要修复数据库或者重新导入数据库备份的sql文件才能恢复正常。 不过,本文的重点不在于怎么临时 […]
<p>The post 家庭数据中心系列 为什么 WordPress 在入门级 VPS 上更容易出现”建立数据库连接时出错”?从数据库到架构的系统性分析 first appeared on 无敌的个人博客.</p>
10月中,在二手东订购了小牛FX风速版。当月底提车,骑行一个月,浅水几句,聊作记录。

广州算是国内禁摩持续时间比较长的区域。本人身居广州郊区,属于此政策受害者。因为摩托车是中短途出行的最经济方式,特别在郊区这种公共交通线路尚不完善的区域。虽然属于禁摩区域,是因为郊区原因,交管部门也没有太充足的资源去执行禁止相对庞大的出行需求。这里的郊区还是很多外地摩托车或者其他不太合规的摩托车在道路上形式。
虽然管理上没有太严格,但是由于禁摩衍生出来的一条奇葩规定让我比较麻烦:禁摩区域内的加油站不得给摩托车加油。这规定的杀伤力比禁摩本身还强。目前只能通过技术性手段在个别管理比较通融的油站进行加油。我原来有一辆GY6鬼火摩托车(RSZ祖国版),油箱大概5L。化油器版本本来就比较耗油,油箱容积又比较少,因此加油便成了难题。
结合家里2年前购置的深远电动车使用情况,决定将上面的GY6替换成电动车。
价格定得精准,GY6在海鲜市场一放便被秒😄。
家里已经有一辆电动自行车,因此选择电动摩托车会是一个相对更优的选择。时下热门的电动车品牌主要是那几家。逐家试驾了一下,驾驶感受最好的是极核,可能是因为春风旗下的产品,有一定的摩托车制造基底。智能做得好的是九号。相对于前面两家,小牛这波可能广告做得不错。其实选择小牛的主要原因是:极核做得太像摩托车,但我还有一辆踏板摩托车,实际驾驶质感比电动的好很多;九号智能化做得好,也是我很喜欢的,但是车架看上去很单薄,我体重直逼90KG,骑起来好像胖子骑狗的既视感。小牛相对平庸一点,但各种参数看上去比较适合我,因此就选择了它。
原车自带的是铅酸电瓶,对于3kw电机无法胜任。后来结合自身使用需求,在店家的推荐下,上了72V80A的三元电瓶。以1A跑2KM的能耗估算,电瓶正常跑100KM出头的续航里程是比较经济的选择。可以使用我前段时间手搓的充电器,充满大概10小时。充电效率慢了点,后来又挫了一个20A的充电器,充电时间可以缩短1半。
前后骑行了1个月时间,主要是附近溜达。公路上弹射模式速度能到80KM/H左右。日常主要是以舒适挡位模式行驶(速度约40KM/H),完全能满足短途个人出行需求。
大踏板有比较强的载货能力,也是这个原因被定义为外卖车。这个载货能力是我比较满意的。
在附近的非铺装路面骑行,减震和动力尚能接受,但驾驶质感相对于150龙骨踏板还是差很远,感觉不是同一类产品。
因为我预订的时候尚无带ABS版,在一次拐弯急刹过程中,后轮出现打滑情况,因为车速本身不快,结果也没有出状况。如果在雨天,骑行时可能要关注因为无ABS辅助刹车功能引起的适用性状况。
第一次买电摩,相对于传统摩托,还有很大的提升空间。
自从 NAS 上线以来,家庭服务器上保存的数据越来越多,服务器安全变得越来越重要。 跟普通服务器一样,我的设备对公网开放访问。不免有好事之徒光临,或尝试暴力登录 SSH, 或尝试扫描系统漏洞。虽然基本都以失败告终,但还是需要找一个比较完备的解决方案。正 所谓「不怕贼偷,就怕贼惦记」。我得想办法给这些人发出明确的信号,该服务器有基本的 安全措施,还是去别处搞事吧。研究再三,发现也就 Fail2Ban 可堪此重任。本文向 大家分享我的实践经验。
哈哈哈哈,其实并没有搬家,还是放在这个玩客云上。之所以说搬家,还得从那次无意打开玩客云后台说起。
在一个明媚的午后,我想找一个做笔记的程序,翻到了很久没有用的Trilium Notes(没错就是最早的我用来做主题文档的那个程序),发现更新了好多,也出了docker版本,想着是不是要装个看看,结果发现后台空间占用了94%了。我问gpt清理了半天半天,什么中间层一大堆,结果还是94%。因为要去本溪玩,就抛之脑后了。回来时打开一看,占用98%了,不得不开始清理了。

本来正在和Vinking聊天,Vinking说他的玩客云刷了1panel,用着还不错,让我可以考虑换个。我原本是刷的openwrt用来做软路由,实现家里设备集体翻墙,还有AdGuard Home去广告的,但是无论哪个都很鸡肋,也就没用得上。
我就又问一次gpt,他说让我执行命令进行清理,我问他靠谱么,他说靠谱,不会对现在的容器有任何影响。我说行,反正我也看不懂,没有影响我就清理了。结果清理之后,空间变成了92%。本来欣喜若狂(并没有,理论应该变成60%左右),但是突然发现,容器启动不起来了。我就将报错信息给gpt,结果gpt说我容器炸了,让我重建,给我整个大无语。他说那条命令很危险,并不是他让我执行的。我就将全文贴他脸上,他才承认是他的错,但是又说不完全是他的问题,qnmb。
反正也炸了,装个1panel看看吧。本来我对于docker什么的不是很爱用,1panel也是,但是装了1panel之后看来,占用确实很低。开始还原备份,装穿透,设置自动备份,以及设置共享文件夹。但是突然我发现,1panel没有samba。
我在想要不装一个CasaOS,纠结再三装上了,但是内存占用到了72%,就很炸裂了。然后又决定删掉,想其他的办法。最后在我一再逼问GPT的状况下,终于决定使用docker化的samba外加目录映射的方法实现了目录共享。

早上起来一看,备份系统也在夜里正常工作,现在成功搬家结束!至于开头说的那什么笔记程序,现在也不感冒了。
ps:其实看了1panel也没啥用,要是有个再精简一下的图形化docker管理器也更好了,但是毕竟1panel用的人多,出问题可以查查,就这样了ω

一款简单的双栏Typecho主题,简洁的设计配合优秀且高效的Typecho博客平台,定将功能带来非凡的 博客 写作体验。
在线预览
最近我的 FreshRSS 阅读器出了一个怪现象:用来实现智能刷新订阅源的 AutoTTL 扩展在这个月初突然“罢工”了。具体表现为,我手动点击刷新后,它能按调整后的 TTL 时间更一次,之后就彻底“躺平”。所有订阅源的「下次更新时间」都卡在 pending,关掉 AutoTTL 反而能恢复正常自动刷新。
这问题有点意思,像是某个环节的状态机卡住了。作为一个喜欢刨根问底的人,我花了点时间深入排查,最终发现问题的根源竟是一个看似不相关的数据库警告。记录一下这次排查的全过程,给遇到类似问题的博友一个排故参考。


问题的核心矛盾点很明确:
actualize_script.php 和网络连接本身没问题。最讨厌这种“时灵时不灵”的问题,因为手动刷新后,AutoTTL 扩展居然还能正常工作一次(其实并不是正常工作,只是当时我没发现而已。其实这次会在更新到一半时卡住,但因为会更新一部分订阅源所以我当时一直以为订源被全部更新了)
首先重新拉取一次镜像,并检查AutoTTL 扩展的实际版本,确保他们都是最新版,以防这个 bug 其实早就被修复了,只是我没更新,或者是两者某一方更新后,另一方没更新导致的兼容性问题。
经过检查,确认目前,FreshRSS、PostgreSQL、AutoTTL都是他们各自的最新版本了。
看眼日志里都有点啥问题,是不是某个订阅源有问题,导致卡死在它上边了
虽然日志中有很多类似报错
cURL error 28: Operation timed out
HTTP 503 Service Unavailable!
HTML+XPath Web scraping failed for
Error fetching content: HTTP code 0: Could not resolve host:
但这基本都是订阅源本身的问题,比如触发了源的抓取频率限制,源站服务器卡了。并没有发现会引起订阅源无法更新的故障。于是这时我感觉肯定是扩展的锅,于是就跑去 github 给 AutoTTL 发了个 issues。
扩展作者mgnsk的回复提醒了我“How often does your cron run? A pending status means that the time for updating the feed has arrived but cron has not run yet.(cron 每隔多久运行一次?挂起状态意味着更新 feed 的时间已到,但 cron 尚未运行。)”
FreshRSS 的自动更新依赖于容器内的 Cron 服务定时执行任务,既然自动更新卡住,那就先检查 cron 是不是正常工作。
FreshRSS本体容器名:freshrss-app
PostgreSQL数据库容器名:freshrss-db
PostgreSQL数据库用户名:freshrss
PostgreSQL数据库密码:freshrss
docker exec -it freshrss-app /bin/bash
service cron status,结果显示 cron is running.。嗯,系统级的 cron 在正常走,没问题。
查看定时任务:看看具体定时任务是什么
执行 crontab -l,看到了关键配置:
*/21 * * * * . /var/www/FreshRSS/Docker/env.txt; su www-data -s /bin/sh -c 'php /var/www/FreshRSS/app/actualize_script.php' 2>> /proc/1/fd/2 > /tmp/FreshRSS.log
这个配置设计得很周到:先加载环境变量文件,然后切换到 www-data 用户执行更新脚本,还把日志重定向了。
php /var/www/FreshRSS/app/actualize_script.php :结果直接罢工了,好吧看来环境变量是必须的。. /var/www/FreshRSS/Docker/env.txt; su www-data -s /bin/sh -c 'php /var/www/FreshRSS/app/actualize_script.php' 结果订阅源正确刷新了! 这说明Docker内,cron设置的更新命令本身和权限设置都是正确的,所以如果不使用 AutoTTL 时能正常更新是理所应当的。AutoTTL 的工作原理,其实就是
1. 先根据每个订阅源历史上的平均更新间隔,最短更新间隔,计算出每个不同的订阅源,最合适的刷新间隔。
2. 拦截系统的cron,让他不是刷新所有订阅源,而是改为触发 AutoTTL,由 AutoTTL 去判断本次 cron 应该去刷新哪些订阅源。
3. 就在这时,我注意到了一个事情:AutoTTL 会往数据库里写数据并计算排序他们 既然刚才手动执行系统级 Cron 任务能成功,为什么自动运行时 AutoTTL 就不行呢?差别就在于“手动”和“自动”之间的环境差异。我意识到,刚才的输出信息我还没仔细看。
再次手动执行 Cron 任务,但这次我紧紧盯着终端输出。果然,在一堆刷新成功的提示信息之间,发现了一条 WARNING:
WARNING: database "freshrss" has a collation version mismatch
DETAIL: The database was created using collation version 2.36, but the operating system provides version 2.41.
HINT: Rebuild all objects in this database that use the default collation and run ALTER DATABASE freshrss REFRESH COLLATION VERSION, or build PostgreSQL with the right library version.
这个警告来自于 PostgreSQL 数据库。大意是:数据库的排序规则版本和操作系统提供的版本不匹配。通常是因为系统底层库升级了,但数据库对象还用的是旧规则。
我想起来,月初时服务器宕机了一次,被我顺势维护了一番,当属将所有能更新的 docker 都手动更新了一次,而日常docker 的自动更新是由 Watchtower 做的,为了稳定性,我并不允许 Watchtower 去更新 docker 中的数据库版本,这次我看 PostgreSQL 只是一个小版本升级( 15.14 → 15.15 )更新日志中没改啥东西,就顺手也给升级了。
根据警告信息的提示,我们需要对 PostgreSQL 数据库进行操作。
# 进入 PostgreSQL 的容器,使用 psql 客户端连接
docker exec -it freshrss-db psql -U freshrss -d freshrss
REINDEX DATABASE freshrss;
这个过程可能会花费一些时间,取决于你数据库大小。
刷新数据库的排序规则版本:
重建完成后,重建完成后,执行 WARNING 提示中的命令,更新数据库的系统目录版本:
ALTER DATABASE freshrss REFRESH COLLATION VERSION;
我推测是这样的机制
pending。希望这篇记录能帮到遇到类似问题的朋友。如果你的 FreshRSS 或者其他使用了 PostgreSQL 的Docker 也出现了什么灵异现象,不妨先去检查一下数据库日志,说不定会有惊喜(或者说惊吓)。
具体这次 Docker 官方在 PostgreSQL 升级时做了什么,可以参考这篇文章《原地报废:不要在生产环境用Docker跑PostgreSQL!》
The post FreshRSS 自动更新订阅源失效排查:AutoTTL 扩展失效竟是 Docker 官方埋下的坑 appeared first on 秋风于渭水.
现在AI已经融入到各行各业中,编码的时候都借助AI来辅助编程。那么,在写博客文章的时候,遇到语句不够流畅或表达不够专业的时候,能不能快速的借助AI帮我们对语句做一些润色呢?
为此,我开发了一个Typecho插件,该插件运用AI技术,能够对用户选定的文本进行智能化的润色与优化。不过使用前需要调用一些AI服务,所以先准备好了再说😃
插件目前开启售卖,价格定为 10 元,收入款全部捐给韩红基金会,并在文章底部公布捐款情况,购买请移步到文末,购买后请把订单截图通过邮件发送到我邮件 hi@wangdaodao.com,我会在当天处理邮件,把插件及捐款情况回复在邮件中。购买前如果有疑问,也可以发邮件与我沟通,避免引起误会。
如要阅读全文,点击标题跳转。每个月的 5 号是我约定还京东白条的日子。前天还款之前,我瞟了一眼总计待还金额,一看总共一万六千多,着实惊了一下,考虑到可能有在京东买过大件东西,所以没有特别惊讶,但也想细看一下待还详单的明细。不看不打紧,一看果然发现了问题。


昨天早上,我就是 7 点从梦里猛然惊醒的,慌慌张张间忘了给孩子带手表。晚上他放学回家,说手表丢了,据他讲是放在口袋里,下午第二节课时就发现不见了,找了半天也没找到。我看手表定位显示在学校,打过去却没人接听。今天上午我按着定位,把他在学校去过的地方都翻找了一遍,即便挂失后把铃声调到最大,也听不到半点声响。这小天才手表的定位范围实在太模糊了,我估摸着应该是被谁捡到后,放到了老师办公室或宿舍里。学校一位阿姨还劝我,让我明天再看看,说之前也有不少学生丢了手表,被学生捡到交给老师后,最后都物归原主了,但愿这次也能如此。
娃平时总爱跑到老远的地方玩,有手表的话,我既能看定位,又能打电话喊他回家吃饭。没了手表,不仅特别不方便,我也实在不放心他往远处跑,他去玩的地方又多又杂,真要是找起来,根本无从下手。只能等后天孩子上学后再看看,希望能把手表找回来。