Sucha's Blog ~ Welcome

22年11月29日 周二 23:40

上线 mooncake 主页 https://moocscript.fun

周末忙着将 mooncake 的主页 https://moocscript.fun 上线了。

蛮早就知道了 browser 上直接能跑的 Lua VM https://fengari.io,而 mooncake 是一个纯 Lua 的 transpiler,除了可以通过 fengari 在浏览器里直接运行,还能直接操作 javascript 对象。

当然 fengari 也有一些限制,比如没有 io 库。而在 mooncake 这边,则需要将分开的工程文件 parser、compiler、core、class、utils 集成到一起,主要是在 HTML 加载一次就行了,分开的库耗费时间。

另外一方面,项目本身在不断的发展,因此这个集成需要做成自动化的,既然自动集成的步骤少不了,不如就都合在一起算了。还有,除了需要翻译到 fengari 能识别的 Lua,还需要加上 fengari 环境特别的变量,以及 loader 使用到的接口,才能最终支持 HTML 语法的脚本接口,比如:

<script src="/path/to/hello-word.mooc" type="application/mooc"></script>

<script type="application/mooc">
import Core from "moocscript.core"
print("hello, world ! from " .. Core.version())
</script>

所以,也看了不少 fengari 上面的 javascript 代码,基本上也就是标准的 Lua 上 require 函数的 searcher / loader 的实现了。

这些 fengari 环境上的特别的变量,以及 loader 接口,算是粘合整个支撑环境的胶水代码,代码不多,但花了不少时间探索。

上面说的这些工作,当然不会是一个周末就搞定,当然也不可能每个周末都搞。

而上周末的工作,仅仅只是 HTML 页面的搭建,比如 UI,比如创建 browser 上面直接可以运行的例子,将 onclick 事件绑定到暴露到 window 的各种 moocscript 函数,还有比如 window.alert 之类的 Lua/mooncake 跟 browser javascript 的 fengari-interop 例子。

还加上了日间/夜间模式,之前在本主页尝试过的哈哈哈。

有了这个网站后,非 io 库相关的例子代码,其实都能直接在浏览器上面跑了,玩这个脚本语言,也不需要再下载一个 Lua 解释器,以及 mooncake 的支持库。

由于不需要后端 API 接口,简单的静态页面就够了,所以直接使用了 github pages 托管的 project repo,反正这些代码也是需要上传到 github 上的。还有,域名国内买的,主要是便宜。

项目主页 https://moocscript.fun 顶级域名后缀表达了要义,have fun ~

22年11月26日 周六 09:48

笑傲江湖

我记得大学时候就看过,在当时功能机上面那么小的屏幕、那么小的字、那么长的小说居然看完了。

不过具体故事情节到现在已经忘了,所以才有这么个又看一次。笑傲江湖电视剧我不记得有没有看过,林青霞的电影我倒是看过的,前几个月还重温了一下。

故事虽然从福州的福威镖局开始,但主线始围绕华山派大弟子令狐冲展开。练武之人,始终逃不过一个武林盟主、武功最强,为此江湖可谓是血雨腥风。多少人为了武功最强舍弃一切,最后的《葵花宝典》跟前面的《辟邪剑谱》算是首尾呼应。

反而是中心人物令狐冲,看似任性妄为、桀骜不驯、处处留情,倒是最看重道义两字,有情有义。

在故事后面,任我行没能跟令狐冲来一场打斗,我觉得有些遗憾,也许是作者不想在后面喧宾夺主了,毕竟有一个最大的反转坏蛋岳不群作为对立面就够了吧。

22年10月30日 周日 12:15

达里奥“债务周期”理论

不记得在微博上看了哪位博主的介绍,开始看达里奥的债务周期理论。

先说一下背景,这个理论是达里奥总结经济规律后得出来的经济周期模型,这个模型着眼于经济周期,但出发点是个人、国家,我个人理解这里的债务也可以理解为个人、国家的货币(现金流),跟社会生产率的关系。

交易

模型从最简单的开始,人们需要交换所需,因而产生交易,这里的交易是一锤子买卖,一个人的所有消费,是另外一个人的所有收入,因为大家都交易换取所需,没有剩余的现金。

市场上流通的现金,刚刚好够所有人交易,也就没有通货膨胀。

信用

信用是加上了一个时间延期的交易,借钱的人增加了负债,放钱的人增加了资产,只有当借钱的还钱了,整个交易才完成。

市场中的一个环节,比如某个人因为其信用,增加了负债,在市场上凭空多出来了钱,一个人的所有消费是另外一个人的所有收入,借钱这个人环节后面的人都多了这笔钱,所以市场上凭空多出来了这笔钱。

借钱的人因为还钱而有了信用,也更容易借到钱,成了优质借贷人,放贷人就更乐意借钱给他,等于是鼓励借钱。

短债务周期

有了信用,市场上可以凭空多出来钱后,跟最开始的朴素交易不一样了,市场上有了债务(信用),也就有了周期。

刚开始放钱的人有利可图,借钱的人借钱容易,一切都很顺利,交易市场上会凭空多出来钱。本质上来说,这些钱是未来的现金流,但是却通过信用在当前使用。这些来自未来的钱,也让整个市场更繁荣了,繁荣的市场环境下,因为可预见的未来,人们倾向于借更多的钱,市场上的钱越来越多。

因为短期内社会生产率没有明显的提高,这些多出来的钱,会缓慢抬高所有社会商品的价格,这就是通货膨胀。

社会商品的价格是所有人承担的,而因信用在流通环节多出来的钱不是社会每个人均享的,这容易造成社会问题,因为信贷的部分过热,也容易影响金融的稳定。

货币管理者此时会选择回收一部分货币,其手段就是提高利率,利率提高后,放钱的会发现放钱还不如储蓄,一部分钱会从市场上回流,市场上钱少了,商品价格也会慢慢回落,钱会慢慢回到更需要它的地方,因为低利率额外出现的生产、交易会减少。

这个其实就是经济衰退,会从过热,回到正常的情况。

货币管理者其实还可以降低利率,大家都不存钱了,而是选择放贷,市场上的钱多了起来,也盘活了经济。

长债务周期

在短债务周期中,社会生产率也在提升,短债务周期的螺旋上升,如果社会整体的还债能力,没有超过收入能力,也就是生产率还是正的话,对社会整体还是有利的,整个社会还是向着繁荣发展。

但是这个螺旋循环上升的情况不是一直不变的。

在这个螺旋循环上升的过程中,社会的债务其实一致在不断的缓慢积累,但是也总有到头。当社会的总体债务增长速度超过了其还债增长速度的时候,会发生其中一部分人无法还债的情况,一点都还不了了。

而整个社会因为短周期的债务已经完全结成一体,一个人的所有支出,就是另外一个人的所有收入,当有人完全不还钱时,会导致债务链条一环扣着一环,这个时候就是信用坍塌,经济萧条的情况。

如果当前社会面情况很差,会导致放钱的人根本不想放钱(有钱也不放,毕竟大概率还不了),而那些可能因为一点点钱就能度过眼前难关的人,在市场上借不到钱。

如果货币管理者这个时候选择提高利率也没有用,因为市场上是缺钱;而货币管理者降低利率也没用,有能力放贷的人也不会借钱,因为市场上需要借钱的人,还不了钱。

这些因为信贷产生的钱,最终影响了社会所有方面,债务增长速度超过了还债能力,导致生产率为负。

去杠杆

打破这个循环,在达里奥的描述中,就是去杠杆,有下面四个步骤

这几步需要徐徐缓慢成立,既要削减支出,也要发行货币、制造信用,总之就是财富重新分配,削减那些生产率提升慢、消耗资源多的行业、公司,盘活生产率提升快、社会影响面大的行业、公司,让社会的现金流,信贷重新起来。

--

短债务周期、长债务周期对我来说,还是有点难理解,慢慢来吧。

22年10月18日 周二 23:01

站点支持夜间模式

在 Win 10 本上玩老旧游戏,之后用 FireFox 查了一下暗黑模式插件,找到了 darkreader 扩展,其实也支持作为 Chrome 扩展,于是试用了一下,感觉完成度很高,阔以。

但是更没想到的是,因为是开源软件,github 介绍页上还包含了一个 darkreader.min.js 可以用在网站上,使用起来也比较简单,所以,很快,半小时不到,本站就支持夜间模式了。

方法是点击右边的 Function 下面的 theme ➟,就可以切换日间、夜间模式了。

跟用 FireFox/Chrome 插件效果一样的。

22年10月15日 周六 23:17

使用 Pagefind 支持静态网页站内搜索

在微博上看到了人家介绍 Pagefind,一个静态网站搜索工具,试用了一下,感觉很不错,部署也很方便。

这个工具的可以在每次 html 静态内容生成之后,对 html 网页进行分析,可以指定语言等,生成的是一个个独立的 zip 文件, 以及 css 和 js,全部生成在某个目录下,不需要其他的打包工具了。

打包的命令行比如,最后加的 --serve 参数可以拉起一个本地的 http 服务器,可以浏览器直接预览。

$ pagefind --bundle-dir ./pagefind --source ./publish --verbose --serve

运行的时候,先拉起一个 html,指定一个 id 内容节点,然后运行 js 提供的类进行 UI 渲染,它会监听 input 的输入, 然后动态更新节点下面搜索到的内容。

比如 HTML 页面先加载依赖的资源。

	<link href="pagefind/pagefind-ui.css" rel="stylesheet">
	<script src="pagefind/pagefind-ui.js" type="text/javascript"></script>

然后下面这样跑 js 就可以了。

<div id="pagefind"></div>
<script>
   	window.addEventListener('DOMContentLoaded', (event) => {
       	new PagefindUI({
			element: "#pagefind",
			showImages: false
		});
   	});
</script>

很好操作,UI 就不放上来了,工具是 Rust 搞的,要赞一个。

22年10月05日 周三 17:47

sshfs-win 配置记录

文章提供了一种 Windows 通过 sshfs-win 挂载 Linux 文件系统并访问内容的方案。

​​Windows 与 Linux 文件系统交互的可选方式

Windows 跟 Linux 文件系统交互数据的方式有好多种,我了解到的有

SSHFS 介绍

SSHFS 是一个使用 SSH File Transfer Protocol (SFTP)协议访问 SSHD 服务端,将远端文件系统,挂载到本地的用户层文件系统(FUSE)。

而 sshfs-win 则是一个 Windows 的实现方案,最终会将 Linux 文件系统挂载到本地的一个虚拟磁盘上。

sshfs-win 安装

我自己的情况是 WIN 7 SP1,Linux 是 VMware 虚拟机的 Ubuntu 18.04,看项目介绍 WIN 7 及之后的都能支持。

(新换了 WIN10 系统,也是这个方式安装使用)

有 sshfs-win-manager 这个界面管理器提供方便的操作,项目 README 有提供安装流程,我这里简单翻译一下

第一步

安装 winfsp 项目下的 releases 页面找到的最新稳定版本,目前是 winfsp-1.10.22006.msi

安装 sshfs-win 项目下的 releases 页面找到最新的稳定版本,目前是 sshfs-win-3.5.20357-x64.msi,这个是 64 位的

第二步

安装 ssh-win-manager 项目下的 releases 页面找到的最新稳定版本,目前是 sshfs-win-manager-setup-v1.3.1.exe

以上两步就安装完了。

sshfs-win 配置

开始菜单打开 SSHFS-Win Manager 后,点击右侧的 Add Connect 来增加需要访问的 Linux 文件系统地址就好

SSHFS-Win Manager

增加一个配置图片

Add Connection

如果 ssh 过去的用户无权限的话,在 Windows 这边会显示

Window 侧权限访问
22年10月03日 周一 22:42

MNet / Cincau 支持 Win 10

国庆放假没想好去哪里,再加上深圳这边几乎天天都有疫情,零星爆发,特别是罗湖、福田,连宝安也有一处,就更不敢走远了。

然后这个国庆的前几天,是为 MNet、Cincau 加入了 Win 10 的支持,虽然说之前有做过 Win 7 的,但在那之后都只验证了 Mac 和 Linux 下的场景,毕竟我自己没怎么使用 Windows 嘛。

其实有这个想法也很自然,因为 9 月底的时候,把家里的 T450 拿到了深圳,还升级了几个主要的硬件,多了这一台玩具后,就有了上面的想法,然后实践了一把。

用的工具链是 mingw64,安装包这里有 http://www.winlibs.com/

有一些工程本来就考虑 Windows 环境的,用 mingw32-make 替换 make 很多东西都能直接编译过,比如 LuaJIT。

mnet 的部分还好,都是我自己的代码,我是单独搞了一个独立于项目之外的 win 目录,放置一个 shell 文件,编译参数都配置好了,而且加上了 OpenSSL 的支持,来自 https://slproweb.com/products/Win32OpenSSL.html

这个 OpenSSL 可以选择是 msi 安装包的,安装好后,将头文件以及二进制库放到刚提到的 win 目录下相应位置就好。

跑了一下基于 openssl 的 reconnect 以及 rwdata 点对点测试,没毛病,跑得很好。

mnet 测试 OK 后,想着是不是 cincau 也可以呀,但是 cincau 的依赖项比较多,在 Mac 以及 Linux 下,依赖了 LuaRocks 来管理。但是在 Win 下,我死活用不了这个 LuaRocks,不知道怎么用,不管是 Git Bash、Windows Terminal 还是 cmd.exe,都没法用,也许是我使用的方式不对吧,这个就不晓得了。

不过没关系,用不了 LuaRocks,我就一个一个编译好了,好几个是不需要单独编译的,比如 MoonCake,纯 Lua 的库,但也遇到了问题,没法用 shebang 的方式拉起一个 lua 源代码了,只能删除 shebang 行,用一个单独的 bat 文件模拟了。

另外一个比较难的是 luasql.sqlite3,我搞了好久,大概有 3 个小时左右,在 lua 侧 require 老是出现找不到库的问题,运行起来后,库函数定位不到。

这个时候其实 cincau demo 工程里面,基本的 HTTP 已经通了,但是在 playground 页面里的 sqlite3 数据库读写还是失败的。

这里的原因,是因为 sqlite3.dll 预编译包和 lua.sqlite3 最终生成的 sqlite3.dll 文件名冲突了,导致加载失败。

使用了工具链的 nm 查看,发现 luaopen_luasql_sliqte3 确实没找到,怪不得失败,搞了半个晚上呀,没成功,只能先睡觉去了。

第二天一想,不对呀,我其实可以将 sqlite3.c 和 sqlite3.h 跟 luas.qlite3 放到一起编译的,这样就少了一层 dll 加载,只留了一个 sqilte3.dll 放到 luasql 目录下。这样在 lua 源文件层,之前怎么 require lua.sqlite3,现在还是一样。

此次变更后,demo 工程 playground 页面下的几个测试项都通过了,可喜可贺。

之后将这个 win 目录放到了单独的分支中,毕竟编译麻烦,不像 mnet,后面如果没有 C 层的改动,这个目录其实可以继续用下去了。

22年9月29日 周四 23:55

Win 10 下 AHK 模拟 Mac 快捷键

Win 10 是买的 512G 固态预装的,我安上后解压就行了,软件安装配置大概 2 ~ 3 个小时,但是为了适应自己的需要,各种捣腾。比如我的电脑界面隐藏顶部的几个文件夹,觉得太突兀了,没啥用,再说左边不是有快捷键吗。然后是暗黑模式,配置也快,其实到这一步就差不多了。

但是软件配置这块其实优化是没有底的,比如就突然觉得 Win 10 的快捷键很难受,所以用了 AHK,然后就浪费了 2 天时间在这个上面。

先说一下 Win 10 系统虽然提供了快捷键,但是没有提供相应的更改按键映射的能力,不像 Mac,系统就提供了各种按键映射,这点要给 Mac 点赞。

AHK 脚本语言粗看是很简单的,但是里面要考虑很多已有的 Win 下按键的处理,有的是按下就响应的,有的是弹起来才响应,还有自测的过程中,按键断触也是有的,突然间有的按键就怎么都不响应了,没办法,只能重启了。

贴一个今晚上搞好,觉得还能用一阵子的配置吧:

;;
;; Public Domain
;;
;; Win 10 下 AHK 模拟 MacOSX 快捷键(MacOSX shortcuts with AHK under Win 10)
;;
;; 参考文档:https://wyagd001.github.io/(Documentation)
;;

;;
;; Alt 按键相关
;;

; LAlt+q,关闭应用,替换 LAlt+F4
<!q::
    Send {LAlt Down}{F4}
    Send {LAlt Up}
return

; LAlt+a,全选,替换 LCtrl+a
<!a::
    Send {RCtrl Down}{a}
    Send {RCtrl Up}
return

; LAlt+c,拷贝,替换 LCtrl+c
<!c::
    Send {RCtrl Down}{c}
    Send {RCtrl Up}
return

; LAlt+v,粘贴,替换 LCtrl+v
<!v::
    Send {RCtrl Down}{v}
    Send {RCtrl Up}
return

; LAlt+x,剪切,替换 LCtrl+x
<!x::
    Send {RCtrl Down}{x}
    Send {RCtrl Up}
return

; LAlt+s,保存,替换 LCtrl+s
<!s::
    Send {RCtrl Down}{s}
    Send {RCtrl Up}
return

;;
;; Ctrl 按键相关
;;

; LCtrl+s,搜索,替换 Ctrl+f
<^~s::
    ; 忽略 Emacs 按键的 C-x C-s
    if (A_PriorKey not in x) {
        Send {RCtrl Down}{f}
        Send {RCtrl Up}
    }
return

; LCtrl+a,光标行首
<^a::
    Send {Home}
return

; LCtrl+e,光标行尾
<^e::
    Send {End}
return

; LCtrl+f,前进一个字符
<^f::
    Send {Right}
return

; LCtrl+b,后退一个字符
<^b::
    Send {Left}
return

; LCtrl+p,上一行
<^p::
    Send {Up}
return

; LCtrl+n,下一行
<^n::
    Send {Down}
return

; LCtrl+d,删除前一个字符
<^d::
    Send {Delete}
return

; LCtrl+k,删除一行
<^k::
    Send {Home}
    Send {LShift Down}{End}
    Send {LShift Up}{Delete}
return

;;
;; Win 按键相关
;;

; LWin+f 替换 LCtrl+f
<#f::
    Send {RCtrl Down}{f}
    Send {RCtrl Up}
return

; LWin+s 替换系统搜索打开 Wox
<#s::
    Send {LAlt Down}{Delete}
    Send {LAlt Up}
return

; LWin+w 替换 LWin+Tab
<#w::>#Tab

; LWin+Tab 访问右边桌面空间,一直点按 Tab 一直往右移
; LWin+Shift+Tab 访问左边桌面空间,一直点按 Tab 一直往左移
; 以上命令类似 Alt+Tab 和 Alt+Shift+Tab
LWin & Tab::
    LWinTabMenu := true
    if GetKeyState("Shift","P") {
        Send {LCtrl Down}{LWin Down}{Left}
    } else {
        Send {LCtrl Down}{LWin Down}{Right}
    }
return

#If (LWinTabMenu)
    ~*Tab Up::
        Send {LCtrl Up}{LWin Up}
        LWinTabMenu := false
    return
#If

上面都写好了注释,就不多做介绍了,感觉最有用的是桌面空间切换这个,跟我在 Mac 上是一致得了。

另外其他的一些,基本上能用吧,大概就是这样,如果以后感觉到有冲突的话,在修修改改,或者删删减减吧,太折腾人了,感觉不大值得。

22年9月26日 周一 23:50

WIN 10 手记

买的笔记本 512G 固态到了,之前叫店家装的 WIN 10,本来是想看下跟 WIN 7 有什么不同的,但是上了系统后,就一股脑把依赖的软件、配置,全给装好了,接着把 Win7 的盘给格式化了。

回不了头了,上手了才几个小时呀。

总的来说,我觉得 WIN 10 相比 WIN 7 还是有优势的,首先系统占用其实是差不多的,但是 WIN 10 本身就能提供暗夜模式,这个加分。还有扁平的 UI 系统,相比之前精细化的拟物的 UI,也算一个优势。

默认提供的 Edge 浏览器,要比拖后腿的 IE 好了一万倍,这个值得拎出来说。

以及系统提供了多桌面,虽然多桌面的切换还不能自定义快捷键,但这个也要比 WIN 7 先进很多了。

另外,搜索其实算是一个进步,不过我还得慢慢适应它。

也有原地踏步的 UI,比如控制面板,感觉就是 WIN 7 的翻版,哈哈。

--

不过现在遇到了使用 vscode 在 markdown 中写文本,输入文字最后输入符号,符号会将最后一个文字覆盖,之前 WIN 7 就不会,蛋疼呀。

确认上述的问题是一个 vscode 的插件导致的,这个插件模拟了 Emacs 的按键,换了另外一个 Emacs 插件就好了,也是挺无语的。

22年9月25日 周日 21:33

T450 翻新记

来历及背景

这台 T450 还是在大厂时候的存货,之前的老人有说过,笔记本用了 3 年后就归自己了,所以我就将这台 T450 带回了家,成了家里人炒股的第二屏幕。

先说一下配置吧,i5-5300U、8G LDDR3 1600、256G 固态,家里人其实也不大用,因为大屏 21 寸已经够了,而我不想用的原因是,我毕竟是 Apple 全家桶的开发,再说这台机器的问题是屏幕太烂,颜色泛白看着就不爽。

不过这台笔记本,在前几天中秋居家期间,帮我恰了 2 天工,算是有功,再说有了这个经历,我就很想搞一台笔记本。

优选想过 M1 Air,16G 内存 不到 8000,是 PDD 渠道的教育版本,我是不想花那么多钱,因为上一台 Macbook Pro 13.3 2017,感觉就没怎么用过,然后就坏了。现在台式机的配置是 i7-12700F + 64G 的黑苹果,价格上到 7000 的笔记本我如果只拿来当备用机,太浪费了,但是跟台式机相比,当备用机又不冤,毕竟台式机还有 27 寸的屏幕,不要太爽。

次选考虑了最近挺火的机械革命 Code01 16 寸,R7 6800H,系统是 Win 11,这也还好。这几年 AMD YES,性价比很能打,16G + 512G SSD 5300 左右。但清华同方的渠道牌子,感觉现在质量还没稳定下来。屏幕我是很羡慕的,其他部分看了一些 B 站的视频,觉得还是有欠缺。跟第一条一样,这个价格的配置对我来说有点浪费,我只要能稍微能用的就行了。

再说我也刚了解到,可以花比较小的代价,给 T450 换一块能打的屏幕,所以最后是让家里人将 T450 寄了过来,还被抱怨怎么前两天不自己带过来。

硬件部分

然后 TB 上搜了一下 T450 能用的屏幕,1920 x 1080 100% NTSC 色域,原装的 TN 屏是 40% NTSC 色域,亮度两者也有差别,还有,这块屏幕的价格也很在线, 240 块。

于是马上下单,第二天跟着笔记本一前一后到了。B 站有 T450 换屏的拆装流程,其实挺简单的。屏幕从外到里分为装饰条、屏幕框架、屏幕总成三层,装饰条是双面胶固定的,框架通过 4 个螺丝固定了屏幕总成,屏幕总成通过卡扣排线接收笔记本显示数据。再说 T450 有英文版的操作手册,上面有详细的操作描述。不过我觉得看视频就够了,挺简单的,第一次换屏下来,前后不超过 30 分钟。

不得不说,换高清屏后观感上有质的提升,这块屏换得值呀,早知道我就换了,何必等到现在。

鲁大师看了一下内存,原装是单条 8G LDDR3 1600,JD 100 左右加了一条,开发要同时开的软件比较多,特别是 Chrome 开网页占的内存。还有,原装的 256G SSD 让我纠结了半天,最后还是没忍住,180 块搞了便宜的 512G。这个接口我是拆机后确定的,也给客服看过了,叫 M2 NGFF,机器内很小的一块板子。店家还能帮忙装系统,我就选了 win 10,不过后来想想,如果真的用 win 10,T450 的那些驱动我得重新装,就够我受的了。所以估计硬盘过来后,会被我直接格式化为 NTFS 吧。

最后,在 PDD 上买了笔记本支架,高销售量的几乎都是同一个样式,十几块,买吧。

软件部分

ThinkPad 之前支持快捷键调节屏幕亮度,换屏幕后就不支持了,只能找其他软件代劳,还好找到了一个国产软件,能够绑定快捷键,体验上跟原来差不多,只是启动后那么一段时间,仍然是最高亮度的,这个算是没办法,总要等屏幕调节软件启动后才能接管配置吧。

名义上系统是 Win 7 SP1,但是我那些 side project,都还是 Mac/Linux 下面的软件,所以还是得通过虚拟机跑起来,这也是我不大想换 Win 10 的一个点,因为 Win 10 有 WSL1 和 WSL2 吧,都还不是很顺,到时会让我纠结,最后又得花时间选来选去。

感觉 VSCode + 插件跟 Mac 下面没啥差别,反正我只需要那几个插件就够了。

另外,虚拟机跟 HOST 之间的文件共享,我之前使用的是 VMWare Tools,也用过 rsync、scp 和 samba,现在找到了另外一个方案,win-sshfs。

Linux 这边通过 SSHD 暴露安全认证端口,client 端通过 libfuse + ssh 在本地模拟一个文件系统挂载树,而 win-sshfs 则是上述的一个 win 实现,将 server 端 ssh 的一个访问点,挂载到 windows 本地的一个磁盘上,另外还有 SSHFS-WIN Manager 这样一个 GUI 管理器,方便的很。

结语

一通操作下来,感觉除了屏幕小一些,字体小一些,以及对比 noppoo 机械硬盘,ThinkPad 的键盘按键要重一些之外,整个流程还是挺顺利、也还算方便的。

硬件部分,最值得的部分是换屏幕,其他就算是小幅升级,毕竟之前只是用来炒股,现在用做开发机了,同开的软件也多了起来,要求也会高一些,加点硬件提升一下木桶短板吧。

22年9月18日 周日 10:22

Android 开机时长

我就说手头的这台一加 7 Pro,为啥开个微信小程序,都有可能导致微信崩溃,另外就是偶尔有些莫名其妙的小问题,也许是待机时长超过 3 年的 855 有些老迈了吧。