Month: April 2021

  • 权游八还行吧

    权游八还行吧

    这篇吐槽写于2019-11-25,原发于qq空间,最近搬到此处作为记录。

    winter is coming!
    是的,冬天已经来了,各位注意保暖!好久没有写什么东西了,思想已经僵硬,今天我要暖暖脑子!

    得益于信息的高速传播,但是我躺在床上,已经被手机“一叶障目”了,最近发生着的一切,我都什么都不知道,真的是什么都不知道,我多么希望我能像权游里的布兰那样,躺着翻翻白眼,就能真实的知道世界上每个角落真实发生的故事了,唉!我在想peach!


    好了已经切入正题了,今天我就要来谈谈权游,谈谈我对权游的看法,我不是什么硬核权游粉丝,没有读过原著,没有画过权游里的人物关系图谱,没有记过权游里各大家族的图腾,基本上记不住权游里的角色名称,但是三傻,囧雪,龙妈,小恶魔等等等,这几个名字够用了,啊哈哈哈。
    我认为权游八是神结局,不接受任何反驳,不接受任何吐槽,我要我认为,我不要你认为,要是你还想把权游是烂尾剧的观点转入我的脑子,那除非你给我钱!!!哈哈哈,世界上最难的两件事情就是:

    1. 把自己的思想装进别人的脑子。

    2. 把别人的钱装进自己的口袋。


     这话是谁说的来着,不记得了,那就是鲁迅说的吧!如果你能做到其中一件,你就能两件都做到,所以马云是先把自己的思想装进了别人的脑子,还是先把别人的钱装进了自己的口袋,才把思想也装进了我们的脑子的呢?我是不知道了,反正我现在是发现都太难,我妹妹辍学的时候我希望把一些思想给她,让她看清一些现实,但是我做不到,现在工作了,我又发现挣钱好难,尤其是在新的团队里现阶段做的事产出太低,感觉很慌,唉!
    为什么权游八是神结局呢?
    首先我讲下我认为的权游的架构,其实所有宏大剧情的故事架构里,都符合权游这样的架构,其实不叫权游架构,应该叫冰与火的架构,当然不是哪吒之魔童降世里的那种正邪对立的冰与火,而是更宏大意义上的冰与火。
    对于一个文明而言,不再是正邪对立,而是内忧和外患的对立。内忧是人类自身的纷争,战乱,是战火蔓延整个大地,是人类不断发展的科技和不断升级的核平追求,文明的内忧到来时,火焰在灼烧这个文明。外患是人类外部的神秘恐惧,是病魔、是天灾、甚至是外来文明的入侵,是死寂的迷雾,是无尽的寒冷。外患到来之时,寒冰在侵蚀这个文明。
    对于这个设定,我在之前看BVS的时候就觉得格外的贴合,写过一个文章,看BVS有感。是的,我认为任何宏大史诗故事的设定,都是这个架构,冰与火架构。
    在权力的游戏里,冰是北境的异鬼入侵,异鬼是对整个文明的外患,火才是“权力的游戏”,是各种势力之间的战争,是权力的争夺。在权游里这个已经很明显了,但是权游八前三集就已经结束了“冰线”,把重头戏放在了火线上,是的,我理解编辑的这个做法,因为纵观整个人类文明,冰线对人类的威胁远不及火线的威胁,外星文明还没有攻打地球,什么病毒之类的来访,目前也会遇到像屠呦呦这样的FMVP搞定,人类基数这么大,就是为了制造一定的随机性,激发出这么几个能造原子弹的人,能发明计算机的人,能造芯片的人,历史是大众的历史,但是大众只是历史的吃瓜群众。好了,扯多了,权游八,前三集就把冰线结束了,后面才是具有现实意义的火线。
    权八在火线上处理的最好的两点就是:龙妈屠城和布兰成为摄政王。
    龙妈屠城一直是个很大的槽点,但是我觉得这个剧情点设定的很棒,我认为龙妈屠城主要说明两点:1. 统治者也是有情绪的人。2. 现代的战争方式极其残忍。
     龙妈的人设铺垫了多少,都无法把龙妈塑造成神,她始终是个人,有欲望和情绪的人,她睡得男人变成侄子,她骑得龙坠毁了两架,她的万能女翻译被砍了头,她的男人更得民心,唉!好惨一龙妈!然后她就走上了极端主义的不归路,屠个城什么的不是很正常吗?


    还有就是卓耿屠城这事,大家要是觉得太放大了卓耿的战斗力,我主要换个说法描述一下这个事实,你就觉得合情合理了。描述如下:
    时间:权游第八季地点:君临城人物:龙妈起因:龙妈被气得气急败坏经过:龙妈气急败坏地做了很多极端的决定高潮:龙妈用仅存的一架携带核弹“卓耿”的轰炸机屠城君临城
    是的,现代战争,手段极其残忍,掌握先机的一方往往就能给另一方造成毁灭性打击,屠城不是很正常吗?大概大家都害怕“卓耿”,所以才会决定量产“卓耿”,现在保守估计已经有9个国家拥有“卓耿”了,卓耿饲养者列表。巧的是权游里刚好有九大家族,emmm,今天的九大家族都养了“卓耿”,现代战争只要一爆发,不要太惨烈喔!

    好了,龙妈屠城也说的差不多了,结论:见电影《奇爱博士》、哪吒的导演早期作品《打,打个大西瓜》。


    最后说最牛逼的剧情,布兰成为摄政王。

    刚好,近日香港不是选举什么人来着嘛,也是搞什么投票,美国也在竞选总统嘛。嗨呀,每个投票的人心目中都有最好的权力拥有者,但是选来选去,好像都不尽如人意。看看人家小恶魔,他就很会选,想必在他看来,最好的统治者Ta要能做到以下几点:1. 知晓过去的历史,正所谓“以古为镜,可以知兴替”2. 知晓当下,知道当下发生着的一切,知民情也知国情3. 绝对的真正,绝对的理智,没有私欲地服务于整个集体
    差不多了,布兰能做到这三点已经够了,他确实是再好不过地摄政王了,什么?囧雪呢,他可拉倒吧,他要是能成为摄政王,龙妈之前统治地区的民众会服从他吗?还有就是完全看不到这货有什么政治野心,他估计就是金庸武侠看多了,他只会处处行侠仗义,拉拢人心,所做的决定完全就是按照自己价值观体系里的正义来,没有半点全局和远见。话说在龙母屠城前,好好和龙妈睡一个,这个城屠不屠还不好说。他最后又没死,编辑觉得这个剧是权力的游戏,不能拍成“神龙侠侣”,像杨过这样的大侠囧雪还是去北境外养养狼,“侠义”这套驯服那边的重情重义的野人比较靠谱。


    好了,布兰这摄政王也当上了,这事要是放在今天,还蛮有意思的,大概会是这样:
    地球上的九个老大哥为争做这个地球总统,争的死去活来,最后打北极来了群野鬼,九个大哥好不容易有所合作对抗野鬼,但是由于缺乏核心技术,一直不敌野鬼,终于在一台名为布兰的超级计算机不断翻白眼的推演下,推演出一套“引蛇出洞”算法,在经由无面者科技公司CTO二丫亲手操键盘把这个算法给花里胡哨地敲出来了,终于人类把野鬼消灭了。然后又是权力的纷争后大家都损失惨重。终于再次齐聚联合国总部决定以投票的方式来选一个地球总统,一顿争吵后,没有合适人选最终不得不选取超级计算机布兰担任地球总统,理由有下:1. 超级计算机布兰储存了人类历史的所有记录,Ta能通过对数据的分析和学习总结出一套最适合人类发展的模式。2. 超级计算机布兰连接了地球上所有的摄像头,Ta基本上能知晓当下发生的一切事件,他知道哪里的人民在挨饿,哪里的猪得了瘟疫,哪个公司恶意裁了员工等等。3. 超级计算机布兰Ta不用传宗接代,不需要把自己的孩子送到某个大国去抚养,不会去发展家族企业,不会。。。。此处略去一万条
    所以布兰适合当摄政王,所以权游八试图在人类文明发展的“火线”上给出自己认为的最好方向,所以布兰能够终结这场权力的游戏纷争吗?【BVS的配图】

    本文的主题是:计算机是人类文明中最伟大的发明,没有之一。人类永远是人类,生理上停止进化的一个生命物种,至于人类未来如何伟大,哪感觉还是得靠计算机来帮助人类伟大!

  • 无限孤独

    新版“暗淡蓝点”照片
    又岂止是二十亿光年
    浩瀚,浩浩瀚瀚
    
    可能有颗璀璨的恒星
    别有用心地向我投来一个目光
    不,是向地球
    也不对,是向银河系的第三旋臂
    投来一个目光
    就在地球出生那刻
    就投来一个目光
    
    直到我消亡
    直到地球消亡
    直到银河消亡
    我们也没能对上你的眸
    是光的速度太慢
    是时间的尺度太短
    是孤独主宰了宇宙
    
    夜空中
    那么多孤独的眼睛
    知道了,知道了
    知道您们在看我
    什么,哪有人给你们划分了星座
    你们不就是住在同一个方向的邻居吗
    喔,也多少隔着不知多少个光年是吧
    那大家聚在一个星座下,会不会热闹些
    什么,太远了只能眨眼通讯呀
    不说了不说了
    我这边雾霾大,信号不好
    
    看得到的星星们
    还有来不及看到的星星们
    我按照地球的礼仪
    在人类文明规定的时间参考系下
    问候你们晚安
    面对无限的孤独
    我们人类选择早点睡觉

     

  • wsl2 基本使用记录

    wsl2 基本使用记录

    WSL2使用记录

    windows平台上,使用wsl2我直呼过瘾!

    写在开头:

    1. wsl2较wsl1有什么改变,见此链接 Comparing WSL 1 and WSL 2
    2. wsl2的详细文档,见此链接 Dev on Windows with WSL
    3. 知乎这篇文章写得好面向开发者的 WSL2 安装指南,出于记录目的,我还是在此又bb了一篇
    4. 官方的安装使用文档在此:Windows Subsystem for Linux Installation Guide for Windows 10

    我选择wsl的理由

    1. 方便快捷
    2. 易于维护
    3. 体验优于远程服务器,体验优于vmware、virtualbox

    安装配置(针对wsl2)

    1. 确认Windows版本

    wsl版本 系统要求
    WSL1 win10版本 >= 1607
    WSL2 win10版本 == 1903(仅x64)、1909(仅x64)、2004、20H2、最新版本

    关于win10版本说明:Windows 版本运行状况
    国内的总结博客:win10系统版本说明
    wiki相关说明:Windows_10版本历史

    如何查看本地win10版本

    win+r => winver

    运行winver win10版本

    或者:win+i => 系统 => 关于

    2. 启动系统相关功能

    win+s => [启用或关闭windows功能]

    启用:

    • 适用于Linux的Windows子系统
    • Hyper-V

    或者使用Administrator执行PowerShell命令

    • 启用linux子系统:
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    • 启用虚拟机
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

    3. 安装Linux内核更新包

    msi格式安装程序下载链接,来源于官方:WSL2 Linux kernel update package for x64 machines,下载完成后直接安装。

    4. 选中WSL2版本,下载Linux发行版

    wsl --set-default-version 2

    win10应用商店下载linux发行版:
    应用商店的linux发行版

    5.安装完成,启动+设置默认用户

    发行版下载完成后,可以作为一个windows应用程序启动,初次启动需要等待一定的时间,启动进入后需要设置默认用户以及登录密码。

    初次登录

    6. 选择一个终端登录wsl

    已知的登录wsl的方式:

    1. 直接作为应用软件启动
    2. cmd 中输入wsl
    3. powershell中输入wsl

    win10官方推荐的一个终端接入工具Windows Terminal.Ctrl+Shift+P下快捷键一目了然,类似tmux的一些基本功能,窗口分隔之类的。

    Windows Terminal

    系统文件迁移

    我安装的linux子系统在哪里?我能否转移它?我能否从转移到别的windows系统?

    文件资源占用

    使用应用商店安装的wsl默认会有个位置:

    C:\Users\<User Name>\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\

    下面会有一个ext4文件:
    ext
    之后对于wsl的一切操作,在文件系统层级,都只与这个文件有关系。

    导出为tar

    关注wsl命令的这个参数:

    PS C:\Users\zzxun> wsl -h
        --export <分发版> <文件名>
            将分发导出到 tar 文件。
            对于标准输出,文件名可以是 -。
    
    # wsl -l 可以查看当前系统装有哪些linux分发版
    PS C:\Users\zzxun> wsl -l
    适用于 Linux 的 Windows 子系统分发版:
    Ubuntu-18.04 (默认)

    例如导出到E盘下,名称为wsl-ubuntu-18.04.tar

    wsl --export Ubuntu-18.04 E:/wsl-ubuntu-18.04.tar

    导出过程需要一定时间等待,过程中会占用一定的系统资源:

    导出成功后,可以看到生成一个tar文件在对应位置:

    注销老的wsl

    wsl --unregister Ubuntu-18.04

    经过前面几部操作后,原C盘wsl安装目录只占用几KB空间:

    从tar导入新的wsl

    关注wsl命令的这个参数:

    PS C:\Users\zzxun> wsl -h
        --import <分发版> <安装位置> <文件名> [选项]
            将指定的 tar 文件作为新分发进行导入。
            对于标准输入,文件名可以是 -。
    
            选项:
                --version <版本>
                    指定用于新分发的版本。

    例如从E:\wsl-ubuntu-18.04.tar导入,安装目录设为E:\WSL\Ubuntu-18.04

    wsl --import Ubuntu-18.04 E:\WSL\Ubuntu-18.04 E:\wsl-ubuntu-18.04.tar --version 2

    导入成功后可以看到对应目录有生成新的wsl系统文件:
    导入

    导入成功后,新的wsl可以正常使用了。

    开机启动

    我想在windows开机时,自动启动wsl里的一些软件,怎么实现?

    编写wsl上的sh脚本

    wsl下编写/etc/init.wsl脚本。
    例如:

    #!/bin/sh
    /etc/init.d/redis-server start
    /etc/init.d/mysql start
    /etc/init.d/ssh start

    编写windows下的vbs脚本

    linux-start.vbs

    Set ws = WScript.CreateObject("WScript.Shell")
    ws.run "wsl -d Ubuntu-18.04 -u root /etc/init.wsl"

    设置windows下的开机执行vbs脚本

    win+R 执行 shell:startup
    随后会打开win10下的启动文件夹,将上面编写的vbs脚本放置在此处。


    之后启动win10后就会执行此脚本,从而在wsl中运行/etc/init.wsl文件。

    基本使用

    文件访问互通

    win10访问wsl2的文件系统:

    explorer.exe \\wsl$\Ubuntu-18.04

    就直接在资源管理器下打开了wsl的文件系统。

    wsl2访问win10的文件系统:

    cd /mnt

    win10的磁盘都被挂载在wsl2的/mnt目录下。

    网络访问

    使用wsl后,本地会多出几个虚拟网卡,如下:Hyper-V相关的虚拟网卡。
    虚拟网卡

    在使用win10的wsl2子系统时,windows会通过虚拟交换机给win10本机与wsl2子系统各自会分配一个ip地址,当windows电脑重启并再次打开wsl2时,虚拟交换机会被重新创建,分配给它们的ip地址也会随着改变。

    wsl --shutdown关闭虚拟机之后,再wsl ifconfig可以看到每次wsl2的ip地址都在变化。
    贴出来的几个ip

    这很不方便,虽然可以通过localhost加端口来访问到wsl2,但是对于需要通过ip来直接访问的一些wsl2中的应用时,总是需要查看一次wsl2所分配到的ip,再进行连接,这很不方便。

    哪有没有什么可以给wsl2分配静态ip的方法?
    github上关于设置静态ip的issue
    其中有一个评论是这么说的:

    I give you a new idea: Instead of changing the IP, add a designated IP.
    In Windows 10, run CMD or Powershell with administrator privilege, and then execute the following two commands:
    :: Add an IP address in Ubuntu, 192.168.50.16, named eth0:1
    wsl -d Ubuntu -u root ip addr add 192.168.50.16/24 broadcast 192.168.50.255 dev eth0 label eth0:1
    :: Add an IP address in Win10, 192.168.50.88
    netsh interface ip add address "vEthernet (WSL)" 192.168.50.88 255.255.255.0

    In the future, you will use 192.168.50.16 when you access Ubuntu, and 192.168.50.88 when you access Win10.
    You can save the above two lines of commands as a .bat file, and then put it into the boot area, and let it execute automatically every time.

    当然也有通过在hosts里动态设置wsl2的ip和对于的访问域名来实现通过域名访问wsl2。
    项目地址:go-wsl2-host

    最简单的解决方案

    直接使用wsl来修改windows的hosts文件,注意,hosts文件没有权限直接修改,需要将其拷贝出来修改完成后再覆盖回去,具体代码如下:

    echo "设置hosts"
    cp /mnt/c/Windows/System32/drivers/etc/hosts /tmp
    sed -i '/wslhost/d' /tmp/hosts
    echo "$(hostname -I) wslhost" >> /tmp/hosts
    cp /tmp/hosts /mnt/c/Windows/System32/drivers/etc/
    echo "设置hosts完成"

    需要知道一个命令hostname -I可以直接获取到wsl子系统的IP地址。

    端口转发(搭配内网穿透)

    我本地win10连接的openwrt路由器上安装有FRP内网穿透工具,我希望通过内网穿透直接来访问本地的wsl2系统的特定软件端口,此时肯定是不能通过wsl2的IP来直接转发的,需要借助win10在openwrt上分配的ip来做一次转发,将访问到win10特定端口的请求,转发到wsl2的对应端口上。

    需要用到win10自带的命令行工具netsh

    1. 添加(更新)端口转发
      netsh interface portproxy add v4tov4 listenport=[本机端口号] listenaddress=[本机IP] connectport=[目标IP的端口号] connectaddress=[目标IP]
    2. 删除端口转发(如果添加错了,可以使用这个命令删除已添加的端口映射)
      netsh interface portproxy del v4tov4 listenport= [本机端口号] listenaddress= [本机IP]
    3. 查看已存在的端口映射
      netsh interface portproxy show v4tov4

    注意端口转发支持对域名进行转发,前面的IP访问设置中,有添加一个wslhost专门用户wsl系统访问,故可以直接为wslhost配置端口转发。

    最后,端口转发配置完成,别忘记配置win10的防火墙出入站策略。