解决 Mac 上 Chrome CPU 占用率高的问题

TL;DR: 如果硬盘快满了,删除硬盘上的一些文件,使其有一定空余空间

最近电脑风扇狂转,发现 Chrome CPU 占用率非常高,使用 Chrome 内任务管理器发现“浏览器”一项占用很高。

经过一次浏览器重置后,占用率有所下降,但是使用一段时间后,占用率又保持非常高的状态,尤其是在看视频的时候,这现象更为严重。

使用 Safari 后,有所缓解,但是由于缺少许多插件,使用起来比较难受,故又换回 Chrome。

经过一些搜索,删除硬盘上一些文件,让硬盘有一定空闲空间后,占用率下降了许多,问题解决。

Ref

解决 Proxmox VE 无法安装到 eMMC 上的问题

最近在折腾锐角云…

看到商家的介绍,8g 内存 64g 存储只要 200 多?!赶紧剁手下单,结果到手后才发现,内存和存储都是焊接到主板上的…不禁感叹,买的还是没有卖的精啊。

这个设备原装是两个存储设备,一个板载 64G 的 eMMC 另外一个是采用 mSATA 口的 SSD ,到手的时候这台机器只剩下板载的存储了,那个 SSD 已经不翼而飞了,为这设备再添购一个 SSD 实在是不划算,同时为了最大化利用这个硬件,我在这台设备上折腾了一下,尝试使用 PVE,结果安装的过程中提示 unable to get device for partition 1 on device /dev/mmcblk1

解决

经过一天的尝试,通过以下方式可以绕开官方的限制,在 eMMC 上安装 Proxmox VE 6.3:

⚠️警告:PVE 并未针对这种设备优化,eMMC 也并非针对这种使用设计。PVE 每天要往存储设备中写入一定量的日志信息,USE AT YOUR OWN RISK!

  1. 启动 PVE 安装程序,进入安装初始界面
  2. 启动后点击 Install Proxmox VE (Debug mode)
  3. 在第一次提示你可以输入命令的时候输入 Ctrl-D ,继续安装过程
  4. 在第二次提示你可以输入命令的时候输入 vi /usr/bin/proxinstall 编辑文件(或者使用其他文字编辑器如 nano)
  5. 输入 /unable to get device 定位到对应位置
  6. 你可以看到类似下方的内容:
    ...
        } elsif ($dev =~ m|^/dev/[^/]+/hd[a-z]$|) {
            return "${dev}$partnum";
        } elsif ($dev =~ m|^/dev/nvme\d+n\d+$|) {
            return "${dev}p$partnum";
        } else {
            die "unable to get device for partition $partnum on device $dev\n";
        }
    ...
    
    将其修改(添加)为:
    ...
        } elsif ($dev =~ m|^/dev/[^/]+/hd[a-z]$|) {
            return "${dev}$partnum";
        } elsif ($dev =~ m|^/dev/nvme\d+n\d+$|) {
            return "${dev}p$partnum";
        } elsif ($dev =~ m|^/dev/mmcblk\d+$|) {
            return "${dev}p$partnum";
        } else {
            die "unable to get device for partition $partnum on device $dev\n";
        }
    ...
    
  7. 然后输入 Ctrl-D ,继续安装过程
  8. 此时应该进入了正常的安装程序,硬盘选择的时候选择 /dev/mmcblk1 (没有 bootX 后缀)(建议关闭 swap)
  9. 最后安装完成后输入 Ctrl-D ,重启系统

另外,也可以使用官方提供的方式,先安装 Debian 再安装 PVE,只不过那样安装很慢,而且网卡和分区并没有提前配置好,需要自己手动配置。具体参见:Install Proxmox VE on Debian Buster – Proxmox VE

网上还有使用 bin 等类似 ghost 的方法直接 dd 进 eMMC,或者先安装到另外一个硬盘上再使用 DiskGenius 乾坤大挪移到 eMMC 等方法在此不再做过多叙述,可以参见下方文章:

原理

Install Proxmox VE (Debug mode) 提供了在安装过程中各个阶段执行脚本的能力。

修改的文件是为安装程序提供 MMC 设备检测支持。

没有直接修改 ISO 主要是由于,一是该文件在 pve-installer.squashfs 中,由安装程序在运行的时候加载,修改需要解包后重新打包,二是这样更透明,避免使用一个来源不是很明确的二进制文件。

安装过程中,配置信息那里使用了 Linux 的图形界面,类似于 Ubuntu 的使用,按下 Ctrl+Alt+F1/F2 为相应的日志信息,按下 Ctrl+Alt+F3 可以切换出命令行,按下 Ctrl+Alt+F4 可以切换回图形界面。

Ref

人,讨厌的不是强权,而是自己没有得到强权。

高考成绩下来了,与我而言可能并不能去自己非常想去的学校,于是抱怨社会,为什么大家都认同985/211,而不认同双非?

其实说自己在翻找去年的学校录取分数表时,尝试“捡漏”,这何尝不是一种歧视呢?

拿着重点学校的名字,哈,我多么强大,去看不起对方的时候,有曾想过自己也会成为“被看不起的”那一方呢?

所以啊,人,要学会遇到强者,能安然面对,面对弱者,能保持敬畏之心。

这也算是这次高考给我带来的一个深刻的教训吧。

人文社科类学科其实是蛮重要的,不仅仅体现在成绩,而且体现在人的文化修养上。

每次想到一些头疼的事情,总是想,如果多读一点书,是不是现在心态就会稍微好一点呢?

CDN是一种多播

之前在接触到多播这个概念的时候一直在想这么美好的东西为什么不在互联网上使用,后来想了想,现在一直在说的 CDN 不就是做到这一点了嘛,减少骨干网络上重复数据的传输,在近用户端复制成多份分发。

今天看到腾讯云的这个演讲,同时也印证了这个观点:腾讯云PCDN:从P2P到万物互联框架

另外,P2P真的是一个很有趣的东西,与人斗,其乐无穷~

永远不要对他人的不幸落井下石,因为你无法确保你自己不会遇到类似情况。

什么是 Web 2.0 ?

Web 本质就是一个传递信息的工具,Web 有着用于传递信息的方法 HTTP,Web 有着用于表示信息的方法 HTML,那 Web 2.0 到底特殊在哪里?

我的理解, Web 2.0 将如何传递信息以及如何表达信息与用户的使用做了隔离,也就是说,在Web 2.0 时代,用户没有必要去考虑如何做出一个美观的网页,如何将自己的信息一直放在网上,如何用flash嵌入自己的视频作品,他只需要去做的是写一段文字,或者上传一些视频,其余的内容由计算机城区去帮忙处理。

Web 2.0 使得互联网的分工进行了细化,界面的美观设计有专业的设计师去处理,信息的保存有专门的运维去处理,解决各种疑难问题有程序员去做等等。

Web 2.0 其实就是应用程序这个概念的互联网延伸。

Web 2.0 的特性导致为了完成上述事宜,以及某些决策人员恬不知耻的产品“护城墙”战略,导致了互联网的中心化,从互联网变成了互联树,让用户的信息成为了一些公司的摇钱树,以及让控制信息的传播成为了[censered]。

将程序与数据分开吧!去掉那些本来就没有必要存在的中心化节点吧!还网络一个自由、开放的世界吧!

#拥抱IPFS ~~hashtag…~~

什么是邮件列表(Mailing List)?

这是一个对知乎问题的回答,什么是邮件列表(mailing list)?

简单的来说就是一组接收者的集合,他可以表示为一个邮箱地址,你向这个地址发送邮件,这个地址会帮你转发给其他用户。本质上就是一对多发信。

相对于抄送、秘抄需要将每个收信者写到邮件头中,这个列表是可以动态变化的,新的接收者可以通过网页或者其他方式告诉邮件列表自己愿意接收向这个邮件列表发送的邮件,同理也可以退出。

请区别各大邮件商提供的服务,如QQ的群邮件以及所谓订阅列表,邮件列表是平台无关的,邮件列表服务商不一定必须与发送者接收者同在一个服务商下,而且邮件列表应该使用的是通用的邮箱地址标识符(如me@example.com),不应该用QQ号什么的作为标识。

邮件列表可以用来做消息订阅,也可以用来做社区。具体例子就是你收到的各种推广信息从一种程度上可以认为是一种邮件列表。另外国外的较大型开源社区一般使用邮件列表作为其沟通的工具。

邮件列表相对于bbs等网上论坛,发信较为麻烦,实时性不高(分钟级,相比于IM即时通讯的秒级),学习成本比较高,又因为其去中心化的特点(每个人都可以作为邮件列表),较难审查(不是不行,邮件列表不是审查安全的信息交流工具),在国内一直没有推广开来(国内的公共邮件列表服务商少的可怜啊)。

其实邮件列表还是蛮有价值的,他不绑定任何一个平台,这意味着,你只要有一个有一定信誉的邮件服务商账户,你可以向世界上任何地方任何服务商的人们构建一个群组。不像微信,你不可以跟QQ用户组群。而且正因为邮件发送有一定门槛,人们一般会倾向于使用正式文体,讨论文体的效率会稍微高那么一丢丢。

OpenWrt 使用自带的 Dnsmasq 屏蔽网站(设置解析)

有些时候,我们可能希望屏蔽一个网站(例如:屏蔽小米广告),或者为特定的网站设置一个解析(例如:自己网站发布前在本地进行测试)。OpenWrt 提供了一个比本地 Host 强大许多的解析工具 Dnsmasq ,相比于本地 Host,他支持通配,并且可以解析特殊类型的记录。

网上有教程,需要安装 adblock 什么的,但其实就是一行(准确的来说是三行)命令的事情(luci 上没有提供修改的位置,所以不能在网页上解决)。

# 设置 example.com 域名 a 类型记录为 192.168.0.1
uci add_list dhcp.@dnsmasq[0].address="/example.com/192.168.0.1"
# 屏蔽 ad.mi.com 域名的 a 类型解析
# uci add_list dhcp.@dnsmasq[0].address="/ad.mi.com/"
# 生效配置(写入到 /etc/config/dhcp )
uci commit dhcp
# 重启服务
service dnsmasq restart

Ref

Mojang在发布bedrock_server的同时附带上了pdb调试符号文件。

重点是这文件还蛮大的。整个端是100MB,这个调试文件60MB。

不过感觉Mojang这么做大概是故意的,Minecraft是一个商业软件,发不了源代码,但是Minecraft需要社区要做插件,Mojang又懒得做API。

那我给你们调试文件,你们自己反编译去吧。

计划通!