2023年12月4日

Pico VR的高级玩法

 本文将以Pico Neo 3为例,介绍Pico VR一体机的高级玩法,包括但不限于:使用普通帐号播放爱奇艺电影、播放P站视频、玩节奏光剑歌曲、外接XOBX游戏主机、玩XGPU云游戏等。

1. 基本概念

目前市面上大部分的VR一体机是采用安卓系统的,Pico VR也是如此,而Neo 3最新的系统对应的Android版本号是10。

因此安卓设备(手机、平板、电视)上的应用理论上都可以安装到Pico VR上,只是并不一定100%兼容。

我们可以通过VR自带的浏览器去搜索、下载,然后用VR“文件管理”APP在“全部文件>Download”目录下找到下载的文件,然后进行安装。

VR自带的浏览器也非常强大,它自带3D VR视频的播放功能,如进入B站后,搜索“3D VR”就可以看到很多的VR视频,可以在线播放。

2. 观看爱奇艺、B站、P站视频

Pico VR支持“爱奇艺VR”APP,里面有大量的3D VR视频,但是需要开通VR专用会员,普通的爱奇艺会员是不支持的。

但实际上如果我们已经有爱奇艺会员,而且只是看普通2D电影的话,那么根本就不需要安装此VR版本的爱奇艺。

用浏览器进入爱奇艺网站,点击右上角的“客户端”,我们可以看到有移动端APP、PAD版APP、电视版APP(奇异果),这3个版本的APP都可以安装到Pico VR上,但是操作方式有所差异,对手柄的支持也不相同,我们可以把3个APP都安装尝试一下,然后找到最适合自己的那一个。

此外,我们还可以直接在VR自带的浏览器里登录爱奇艺网站,在线播放想看的电影。浏览器的地址栏有一个图标,点击可以在“电脑模式”和“手机模式”之间进行切换。

同样的道理,我们可以选择移动版、PAD版、电视版的B站APP。

我个人的最佳实践是用奇异果APP看爱奇艺电影、用移动版APP刷B站、用浏览器看B站的3D VR视频。

我们也可以用浏览器看P站的视频,P站有大量的4K VR视频,打开后选择VR模式,一般是180度、左右VR。但是需要科学上网工具,这里就不具体说明了。

3. 玩节奏光剑歌曲

节奏光剑是VR平台上最流行的应用,甚至可以说它支撑起了半个VR行业。

但是节奏光剑是Meta VR独占的。如果没有Meta VR设备,我们还可以通过PS VR玩,也可以通过电脑串流玩Steam版本,但是这样都需要额外的硬件和花费。

其实在Pico VR上有一个非常简单的办法玩到节奏光剑的歌曲。

首先我们购买“光之乐园”应用,它能够兼容节奏光剑的曲谱。

然后我们用浏览器打开这个网站:beatsaver.com,它是开源的节奏光剑曲谱共享网站,输入关键字搜索自己想要玩的歌曲,通常评分在80分以上的歌曲效果都是不错的,此网站还显示难度级别,还支持预览。点击下载图标,将歌曲下载到本地Download目录,但是文件格式是.zip的压缩包。

此时我们需要用ES文件浏览器APP将歌曲解包,从estrongs.com网站进行下载。

打开ES文件浏览器APP后,进入Download目录,选择歌曲文件>更多>解压到,将文件解压成一个文件夹,再将此文件夹复制或移动到节奏光剑的自定义曲谱目录,地址是:

Android>data>com.StarRiverVR.LightBand>file>CustomMusic,对应于节奏光剑里面的世界曲库>本地曲库>自定义这个位置。

4. 外接XBOX主机

经实测,我们可以将PC或XBOX的画面输出到Pico VR上,但是PS5不行,下面是具体的方法。

在京东上搜索“绿联HDMI转C”,购买HDMI转Type C数据线,HMDI口接主机,C口接VR充电口,连接后此线将被VR识别为视频输入采集设备。


然后我们在VR端通过浏览器搜索并安装“USB摄像头”APP,此APP通过采集主机通过HDMI传输的视、音频信号,支持1080P 30帧、720P 60帧,但略有延迟,经实测,玩FIFA23、RPG游戏非常流畅,但是玩FPS、赛车游戏延迟较明显。

由于此APP同时还采集音频信号,我们还可以将主机声音输出到蓝牙音箱。

5. 玩XGPU云游戏

我们也可以通过Pico VR浏览器直接玩XBOX XGPU云游戏,前提条件是:有XGPU帐号、有加速器会员。

具体方法如下。

首先我们下载XBOX GAME PASS APP,打开浏览器,进入B站,搜索“游戏早知道”用户,在其用户首页下搜索“game pass app下载”,在其动态下找到最新的XBOX GAME PASS APP下载地址,下载并安装此APP。

然后在UU.163.COM下载并安装UU加速器,安装后UU加速器将自动识别XBOX GAME PASS,手动将区服选择为“云游戏”,点击后加速器将自动定位到支持云游戏的区服,并进入 XBOX GAME PASS的首页及云游戏的分页。我们可以将XBOX手柄通过蓝牙连接到VR上,然后通过云游戏玩游戏。

经实测,玩FIFA23非常流畅,玩战地1也非常流畅,玩恐怖游戏如恶灵附身2也非常流畅,但是玩赛车游戏会有加载不及时的情况。

2023年4月25日

把REST API的JSON数据导入EXCEL

//Excel loads JSON data from REST API

//Data >> Get Data >> From Web >> Advanced Editor

let

    url = "yourAPIaddress",

    //Assemble Headers

headers = [

#"appKey"="yourAppKey",

#"Content-Type"="application/json",

#"Cache-Control"="no-cache",

#"x-thingworx-session"="true",

#"Accept"="application/json"

],

    //Assemble Input data

input1name = Excel.CurrentWorkbook(){[Name="Input1"]}[Content], //Input1 is the named range for parameter1

input1value = input1name{0}[Column1],

input2name = Excel.CurrentWorkbook(){[Name="Input2"]}[Content], //Input2 is the named range for parameter2

input2value = input2name{0}[Column1],

postData = Json.FromValue([dataType=input1value, durationFilter=input2value]),

//postData = Json.FromValue([input1="A", input2=123]),

//Post data

    response = Web.Contents( //post data

        url,

        [

            Headers = headers,

            Content = postData

        ]

    ),

    //Get result data

jsonResult = Json.Document(response),

//Get actual data list

QueryResult= Table.FromRecords({jsonResult}, {"rows"}),

//Expand rows

    ExpandRows = Table.ExpandListColumn(QueryResult, "rows"),

//Convert rows into flat Table

    QueryResultExpanded = Table.ExpandRecordColumn(ExpandRows, "rows", 

{"dateType", "duration", "createdon"}, 

{"dateType", "duration", "createdon"}),

    //Convert data type

#"Changed Type" = Table.TransformColumnTypes(QueryResultExpanded,{{"dateType", type text}, {"duration", type number}, {"createdon", Int64.Type}}),

    //Convert Datetime column

#"Added Custom" = Table.AddColumn(#"Changed Type", "createdon2", each #datetime(1970, 1, 1, 0, 0, 0) + #duration(0, 0, 0, [createdon]/1000))

in

    #"Added Custom"

2023年2月4日

《流浪地球2的中国味道-传承

今天二刷了流浪地球2,特意找的IMAX厅,找了个好位置,看到、听到了很多以前没有注意到的细节。

这里主要讲2点,一是MOSS这条暗线,二是中国味-传承。

现在我们都知道电影有3条明线1条暗线,明线分别是刘培强线、图恒宇线、周喆直线,暗线是MOSS线。在影片的结尾揭露了MOSS这条线,但其实这条暗线从头到尾都有贯穿,只不过MOSS线是通过画面和声音暗示的:每次MOSS要干涉人类的历史时,就会出现闪烁红色摄像头的镜头,就好像MOSS在呼吸,同时伴随着“咚...咚...”的背景音乐。这也是电影作为声光结合的艺术表现形式所特有的,剧情不白给,但是始终在提示、始终在推进。

另外在二刷时,我领会到电影特别有中国味道的原因之一:强调了传承这一特别有中国特色的文化。

中国人在讲文化时,特别强调传承,或者说薪火相传,这一点在3条线时都特别强调。

首先是刘培强线,他的故事体现了他与师傅的精神内核的传承,这一点让人想起第一部父子之间的传承。第一部讲述了儿子怎么理解父亲,最终传承了父亲的精神。而第二部则是师傅与徒弟之间的传承,或者说一代又一代人的传承。

而周喆直的线更加明显,是周与他的继任者赫晓晞之间的传承,强调领导人对责任的承担;此外,周的服装还让人想起周总理,暗示领导阶层从过去到未来的传承。

另外就是图恒宇与丫丫的传承,或者说实体人与数字人的传承。MOSS很早就有了自我意识,但是它始终以理性逻辑来思考一切;丫丫的接入让它对人性有了进一步的了解,但是丫丫毕竟还是一个孩子;而当图恒宇上传后,它对人性的理解更全面了。图恒宇为了孩子、为了人类甘愿牺牲自己,刘培强在选择地下城名额时把病重的老婆排在丈人的前面,周喆直在网络还没有完成恢复时决定点火,这些都是不符合理性的,但它们是合乎人性的抉择,正如希望从来不是理性的,但人类选择相信。所以MOSS说图恒宇是一个变量,在MOSS纯粹理性的分析时加入了一个人性的变量。图恒宇在上传后,做出了和实体人一样的抉择,这意味着从实体人到数字人的传承。


2023年2月2日

Thingworx Study of Thing Persistent & Logged

 

1      Study of Persistent

According to Thingworx help document:

(

Persist— If selected or set to true, each value change is persisted to the database. Persistent property database writes occur asynchronously to avoid deadlocks. While the property value is set immediately, the database write occurs asynchronously at a later point in time.

Updates and restarts do not affect queue processing.

)

The persistent data are stored in Table of property_vtq.

Each time the property value is changed, the related Database record will be Updated.

This Table only has 1 index of “id” & “name”, so Update operation will NOT require change of Index.

tallrain_0-1675304973242.png

 

 

As explained above, value change of persistent property triggers Update of property_vtq Table.

We need to check property feature before we set it.

For normal properties, it’s OK to enable it.

But for frequently changed properties(such as speed, temperature), it’s NOT recommended to enable it, otherwise there will be too many Update operations in Database, which will impact Database performance.

 

2      Study of Logged

According to Thingworx help document:

(

Log— If selected or set to true, the property value is automatically logged to a value stream when the data changes (based on the data change type).

)

And logged data are actually written into Thing’s linked Value Stream.

And for Value Stream:

(

ThingWorx value streams provide time series information about a Thing’s property values.

)

The data of Value Stream are stored in Table of value_stream, with Procedure of upsert_value_stream_entry.

Each time logged value changes, a new record will be Insert into value_stream Table.

The Table has 1 index of most columns, so the Delete operation will also trigger change of Index.

tallrain_1-1675304973251.png

 

 

The Value Stream is configured with a Persistence Provider during creation.

And for Persistence Provider:

(

In ThingWorx, value streams, streams, data tables, blogs, and wikis are data providers. Data providers are databases that store run time data. Run time data is data that is persisted once Things are composed and used by connected devices to store their data (such as temperature, humidity, or position). Model providers are used to store the metadata for the Things. Persistence providers are initially set to have one database for model providers and data providers, but administrators can separate them based on requirements.

)

Thingworx has Model Provider and Data Provider.

Model Provider is used to define models, it always use internal Database which is configured during installation.

Data Provider is used to store data, it can use internal Database, and it can also use external Database as second Data Provider.

tallrain_2-1675304973266.png

 

 

The Logged data are Inserted into value_stream Table.

The logging operation is very different than the other operations from perspective of Database.

In most cases, data are more Read(Select) and Less Write(Insert/Update/Delete).

But for value stream data, there’re more Write(Insert) and less Read(Select).

So it’s much better to setup 2nd Persistence Provider mapped to external Database, and use it to store Value Stream data.

PTC document link:

https://community.ptc.com/t5/IoT-Tips/How-to-set-up-a-second-Persistence-Provider/ta-p/820508 (How to set up a second Persistence Provider - PTC Community)

Any Database supports Thingworx installation can be used to build 2nd Persistence Provider.

Key note is that we must build all Thingworx build-in Database objects before we create new Persitence Provider inside Thingworx.

2023年2月1日

工业软件介绍系列之三:PLC与OPC

 PLC(Programmable Logic Controller,可编程逻辑控制器)是现代工业控制的核心。

下面简单介绍一下PLC的发展历程。
1968年,通用汽车公司招标新式设备,用于取代传统继电器,以提升产线调整、设备检修时的效率。1969年Modicon公司交付了其第一件PLC产品,并于1979年发布了Modbus通信协议。Modicon后来成为施耐德公司旗下PLC品牌。
此外,Allen-Bradley公司也参与了PLC的早期发展,其PLC后来成为罗克韦尔旗下AB PLC。
除了Modbus外,PLC流行的通信协议还有Profibus和Profinet。
Profibus在1987年由德国西门子等公司及机构所推动,Profinet继承自Profibus,并于2002年发布Profinet CBA标准。

接下面简单介绍一下OPC。
OPC是PLC与IT系统通信的桥梁,将PLC处理的数据转变成IT系统能够直接使用的变量。
OPC有两个发展阶段。
阶段1是OPC DA,OPC代指OLE for Process Control。
阶段2是OPC UA,OPC代指Open Platform Communications。
其中,OPC DA基于微软的OLE(对象链接与嵌入)、COM(组件)、DCOM(分布式组件)开发,于1996年发布最初版本。所以说,在工控领域,微软Windows是真正的生产力工具。
西门子等PLC大厂都有自己的OPC产品,但是现在最流行的是Kepware公司的通用OPC Server,其兼容大多数主流型号的PLC。Kepware于1995年成立,于2016年被PTC公司收购。

这篇短文又出现了施耐德、罗克韦尔、西门子、微软、PTC等行业大公司的身影,而且我们还看到,最适合中国工业软件厂商学习的PTC,也在通过收购Kepware来介入物理世界,以巩固自己的基础。

工业软件介绍系列之二:谈谈PLM

 PLM全称是Product Lifecycle Management,即产品生命周期管理。

为什么要专门定义一个系统来管理产品生命周期呢?
如果说CAD的基础是数学,有大量的算法,那么PLM主要是提供了一种工具,来实现精细化管理。

PLM的核心功能包括:
1. 产品的主数据,如名称、版本、类型、生效日期、失效日期。
2. 产品的状态或生命周期。
3. 产品的文档,如CAD模型、工艺文件。
4. 产品的相互关系即BOM。

在大型公司,不少产品面向多个地区销售,那么可能会执行不同的法律法规和质量标准,因此对应的零件会有差异,因而产品的BOM实际上是动态的结构。
产品的生命周期包括设计、验证、试生产、发布、失效等阶段,其对应的BOM也有差异。

在制造领域,就有EBOM、MBOM、PBOM、SBOM等。
EBOM是Engineering BOM,即工程BOM,体现了产品在工程上的结构。
MBOM是Manufacturing BOM,即制造BOM,体现了产品在制造上的需求,如区分制造件和采购件。
PBOM是Process BOM,即工艺BOM,将MBOM进一步细分到作业单元和设备,以及对应的工艺参数等,对应的系统有PTC Windchill MPMLink。
SBOM是Software BOM,即软件BOM,是需要在出厂前烧录入各控制单元的软件清单,对应的系统有PTC Integrity。

目前在国内汽车行业,应用最多的PLM系统是PTC Windchill和Siemans Teamcenter。
Windchill成立于美国,1998年被PTC收购并发布4.0版本,之后大约一两年发布一个大的版本。

而Teamcenter的故事大有不同。
Teamcenter的前身UGS,最初是United Computing公司的CAM产品,名为UNIAPT, 包含部分PLM功能,于1969年成立于美国加州。
1976年,麦道公司收购United Computing。
1991年,EDS公司收购麦道公司的系统集成组,包括United Computing,并将相关产品命名为Unigraphics Solutions。
2001年,EDS公司收购SDRC公司,组成Unigraphics PLM Solutions事业部。EDS的IMAN合并SDRC的Metaphase,更名为Teamcenter。
2007年,Siemens收购EDS,并将其PLM产品更名为Siemens PLM software。
之后,Siemens又陆续收购了Innotec、Vistagy、Elan、IBS等公司,以扩展其PLM产品线。

我们可以看到,Windchill是一个典型的美国软件公司的产品,而Teamcenter脱胎于CAM,是一系列各自发展的多个产品的组合,其面向不同行业有不同的解决方案。

游戏中的情感驱动

 听闻《神秘海域》电影版将上映时,我非常激动,因为它改编自电影《神秘海域4》,而此游戏给我带来了许多快乐的时光。

但是看过电影后就很失望,感觉就一纯粹的爆米花电影。
之后又玩了《失落的遗产》,也非常失望,和《神秘海域4》差距巨大。
后来我思考了一下,我想《神秘海域4》有贯穿始终的情感驱动,这才是它令人难忘的缘故。
游戏的大部分时间内,以兄弟两人的感情穿插其间,有起有伏,结尾又有夫妻同心合作,甜蜜温馨。
象《古墓丽影》的故事和《神秘海域》非常相似,但是就没有后者打动人。

我又想到玩《最后的生还者》的体验,在第一部中,乔尔和艾莉在旅途中渐渐生出了感情,不是家人胜似家人,给我留下了很深的印象。
而在每二部中,主角与其他几个NPC的感情就很浅,没有打动我的地方,仅仅是一个探险故事而已。

仔细想来,有很多记忆深刻的游戏都有两个共同点:有引人入胜的故事,有令人共鸣的情感。
比如《巫师3》的主线是救女儿,有大量和女儿、情人、基友的感情戏;《石之心》的爱与悔恨、《血与酒》的情与仇,这些才是感动玩家的基调。
又如《荒野大飙客2》中帮派内的关爱、与爱人爱而不得的遗憾,这些给西部荒野带来了人性的光芒。
又如《地铁离乡》中主角与安娜的相互关爱、丈人在关键时刻决然的主动牺牲,这些在末日时分更加彰显人性的光辉。
又如《往日不再》的兄弟情、夫妻情,《战神4》的父子情,《奇异人生2》的兄弟情,《瘟疫传说》的姐弟情,这些不仅让游戏吸引人,更是打动了玩家的心。

工业软件介绍系列之一:CATIA与CAD

 计划开始写《工业软件介绍》系列,第一篇是《CATIA与CAD》,之后有《Teamcenter与PLM》、《Kepware与IIoT》等。

写这个系列的初衷,是要解释工业软件与通用软件的区别、为什么开发工业软件这么难,同时顺带说明科学与技术的关系。


CATIA是法国达索系统(Dassault Systemes)开发的商业三维CAD设计软件,由于其出色的曲面设计能力,在航空和汽车工业界占据主流地位。

达索系统是达索航空(Dassault Aviation)的子公司,于1981年成立。

达索航空于1929年建立,主要产品有幻影系列战斗机和猎鹰系列商用机。

根据维基资料,1977年达索航空由15名工程师研发出新一代电脑辅助设计软件CATI,用于辅助飞机设计和制造。后来集团工程队伍发现公司内部财政不容许为此软件作进一步研发,于是集团开始研究成立新公司以及把软件外销的可能性。

1981年达索系统成立,当时成员共有25名工程师,出售更名后的CATIA系统。而IBM是他们第一名客户,之后IBM帮助达索把产品销售给航空、汽车工业的诸多客户。

达索航空在二战后一直为法国政府设计及制造主力战斗机,是航空界的重要玩家。

而CATIA最初是公司内部由工程师开发的生产力工具,是服务于内部研发部门的。之后才转型为商业工业软件,服务全球客户。

这也体现了工业软件的3个重要特点:先有业务后有软件,软件是工业经验的积累,早期业务部门深入参与软件开发。


下面简单介绍一下CAD(Computer-Aided Design计算机辅助设计)的早期历史。

1953年,受雷达操作中的交互式显示设备启发,麻省理工学院学者Douglas T. Ross形成了CAD的构想,并于1959年创造了计算机辅助设计这一词汇。

1963年,麻省理工学院Ivan Sutherland在博士论文过程中编写了计算机程序Sketchpad,并因此获得了1988年的图灵奖。Sketchpad被认为最早的CAD软件。

但是由于计算机硬件的限制,CAD软件一开始并没有得到快速发展。

下面是航空汽车工业一些重点CAD软件的原始版本发布时间:

1977年:CATIA。

1978年:Unigraphics(UGS前身)。

1982年:AUTOCAD。

1987年:Pro/ENGINEER(Creo前身)。

这4个软件现在依然是航空汽车工业的主流CAD软件,可谓历史悠久,与客户合作长远。


下面介绍下三维CAD曲面设计中一个重要的概念:贝塞尔曲线/曲面。在CAD软件中,我们用贝塞尔曲线/曲面来定义曲线/曲面,用曲率来定义线/面的弯曲程序,用控制点来改变其弯曲程序。

NURBS是非均匀有理B样条曲线(Non-Uniform Rational B-Splines)的缩写,1991年国际标准化组织(ISO)颁布的工业产品数据交换标准STEP中,把NURBS作为定义工业产品几何形状的唯一数学方法。

1946年,数学家开始研究样条形状,该形状通过分段的多项式公式推导出来,因为其和机械生产中的样条相类似,I. J. Schoenberg将其命名为样条曲线或样条函数。

之后,来自雷诺的工程师皮埃尔·贝塞尔(Pierre Bézier)和来自雪铁龙的工程师保尔·德·卡斯特里奥(Paul de Casteljau)进一步发展了样条曲线。

1959年,卡斯特里奥开发了以其命名的算法,用于评估曲线的弯曲程序。

几乎同时贝塞尔也实现了类似的算法,并进一步加入了控制点,以用于通过计算机软件来改变曲线/曲面的弯曲程序。由于贝塞尔发表了他的工作成果,因此人们将通过在曲线上的控制点表示的那类曲线称为贝塞尔曲线。

贝塞尔曲线是三维CAD曲面建模的基础,而它的发明者同样是业界的工程师。


达索、雷诺、雪铁龙都是来自法国的公司,当我们现在感慨于欧美发达国家通过知识产权收割全球财富时,也不要忘记这些知识产权是如何缓慢地积累的。

健身神器VR一体机

 最近沉迷VR健身,每天锻炼1小时,约消耗300千卡。

我的设备是Pico Neo3 VR一体机。
我主要玩3个健身APP: Eleven、HitStream、VR切方块。
Eleven(致胜11分)是乒乓球游戏,非常拟真,手感非常好,就是右手横拍需要一段时间适应,我练了一段时间,现在水平普通难度,一般每天打5局。
HitStream是模拟拳击动作的健身操,音乐非常适合练习,我一般每次练习8首歌,20-30分钟。
目前我练得最多的还是VR切方块。其实这是《节奏方块》的兼容版,可以自己复制《节奏方块》的歌曲进去。我一般在BeatSaver.com网站下载中文歌,象最近流行的周杰伦的健身操歌曲。强度从简单慢慢练习到普通、困难、专家。象BeatSaver.com网站的周杰伦歌曲大多是专家难度,可以在APP中启用“练习模式”,这样错误5次以后不会停止。一般而言,歌曲难度最大,则锻炼效果越好。我主要是练习困难和专家模式,一般每分钟约消耗5千卡。

VR使用心得

买了Pico Neo3 VR,聊聊一下使用心得。

买VR主要是为了锻炼、看电影,还有轻度游戏。

买国产品牌主要是怕麻烦,不想折腾。


首先是锻炼。

我购买了2个应用,Eleven和HitStream。

Eleven是乒乓球游戏,非常拟真,甚至可以削球,沉浸感还是非常强的,也很有娱乐性,此外还支持联网对战,适合天天练。

HitStream是健身游戏,主要是做拳击和深蹲的动作,音乐也非常合适,一般锻炼20分钟可以消耗100千卡。


再来看游戏。

我买了2个游戏,《VR切方块》和《零口径:重装上阵》。

《VR切方块》是音游,操作方式和《节奏光剑》差不多,兼容《节奏光剑》的自导入曲库,也支持自导入MP3,比较休闲。

《零口径:重装上阵》是FPS射击游戏,但是移动时会感觉头晕,这也是目前VR游戏的最大缺点,也许VR万向跑步机便宜了之后可以解决这个问题。


最后看电影。

VR提供了IMAX巨幕,声音连接到蓝牙音箱后,非常接近IMAX影院的体验。

因为我有爱奇异和BILIBILI的会员,所以谈谈VR上看这两个站点的方法。

BILIBILI有专用VR APP,也非常好用,有巨幕模式,可调节距离,但是不能调节头显角度,此外调节进度、声音、亮度也不够方面。

所以有时我也会直接手机打开BILIBILI,然后投屏到VR,用PICO视频进行播放。

爱奇异的影视库非常全,也有专用VR APP,但是要购买VR会员。

所以我直接安装奇异果电视APP,会员支持4K,非常不错。

中年程序员的健康管理

 人到中年,各种健康问题不期而遇。

此文中,我将尝试从饮食和锻炼两个角度,谈谈中年程序员的健康管理。


首先谈谈饮食。

身体的亚健康状态,以及许多慢性病,其余和我们的日常饮食息息相关。

以四高(高血压、高血糖、高血脂、高尿酸)为例。

许多人的原发性高血压,可能是因为过高的盐摄入引起的,因为过高的钠离子浓度会造成高血压。建议清淡饮食,采用低钠盐烹饪。

高血糖是因为过高的糖摄入量,特别是水果。和宣传的不同,果糖和果汁也会造成高血糖。建议食用适量新鲜水果。

高血脂是因为脂肪摄入过多。许多人不知道的是,主食摄入过多也会造成甘油三酯升高,进而血脂升高。一些人为了减肥采用素食,因此为了饱腹会吃更多的主食,而主食会转变成糖,并进一步转变为脂肪储存。因此不宜过多食用主食,且主食应多吃杂粮粗粮。

高尿酸是因为摄入过多的高膘吟食物,如海鲜、动物内脏、啤酒。一些调味汁可能用海鲜提鲜,也不宜过多食用。

此外,过量食用蛋白质肉类可能会造成肌酐升高。

因此,日常饮食应采用合理的饮食结构,主食、蔬菜、水果、肉类应保持适当的比例。


其次谈谈锻炼。

强烈推荐BBC记录片《锻炼的真相》,讲了大量的锻炼知识,如每天一万步并不科学,肌肉锻炼是必要的。

作为一个宅属性程序员,这里我推荐一些在家锻炼的装备和游戏。

综合锻炼方面,小房间推荐可折叠走步机或跑步机,大房间推荐椭圆机或划船机。

肌肉锻炼方面,上身用哑铃,下身用沙袋。

程序员往往有肩颈方面的毛病,建议睡前练习肩颈拉伸瑜伽,有很好的放松效果,同时有助于睡眠。

游戏方面,推荐任天堂Switch的舞力全开、健身环、有氧拳击。三者娱乐效果从大到小,健身效果从小到大。

此外,用VR一体机进行锻炼实测效果不错。我买了Pico Neo3,用Eleven和HitStream进行日常锻炼,前者是乒乓球游戏,非常拟真,甚至可以削球。后者是一个综合锻炼游戏,能够做出拳击动作和深蹲,背景很美,音乐节奏很强,每天锻炼30分钟可以轻松消耗150-200千卡。

工业软件和非工业软件有什么不同?

 软件有这样一个定义: 软件=数据结构+算法。

但是对于工业软件而言,这两者并不是最重要的,重要的是客户和数据。

许多工业软件基于公开的算法,许多算法在几十年前就发表在公开的杂志上。

为什么说客户重要,因为工业软件的供应商往往是特定领域的重要玩家,长期和客户一起成长。

下面举两个例子。

EDA电子设计自动化,我们知道EDA软件会不断升级,会从客户的生产线上导入最新工艺参数。当客户的工艺升级了,会要求EDA的模块进行升级,否则会不兼容。

CAD电子辅助设计,如达索公司的CATIA软件诞生于80年代,最早是用于设计飞机,达索公司自己就制造飞机,是航空领域的重要玩家,其地位确立之后才向汽车设计领域扩展。

所以进入工业软件领域最有效的方法是收购,因为在收购产品的同时,也得到了客户。

再来看数据。

数据结构和算法是公有的,通常以论文的形式发表在杂志上。

而工业数据是私有的,是需要付出很大的代价才能生成的。

如蒂森克虏伯提供专业的发动机测试软件,能够在生产线上测试一些重要参数,而它的算法就基于企业长年积累的数据。

再如ABB提供机器人维修预测,德马吉提供机床维修预测,其技术原理是基于机器学习训练模型,理论上并不复杂,重要的是它们从客户现场采集的大量、真实的生产数据,有了这些数据才能训练出可靠的模型。

从高速公路看浙江

 近些年来,因为工作的关系,我开车经过了浙江大部分地区,也在全国很多地方出差、旅行,深深地感到浙江高速公路的发达,以及浙江高速的一些独特之处。


首先是:浙江高速上没有广告牌。

我注意到同在包邮区的上海、江苏高速上还是有广告牌的,但是浙江没有。这首先是由浙江的道路特点决定的,浙江号称七山二水一分田,山区很多,道路的变化很多,因此取消广告牌能够让司机开车时更专注,这也说明浙江政府愿意为了民众安全放弃这部分的收益。


第二是,大家开车不占用应急车道。

浙江曾经花了大量的精力整治占用应急车道的行为,通过FM93曝光违法行为,节假日利用无人机在繁忙路段执法,经过几年的宣传和治理,现在大众普遍守法。

浙江另一知名的文明行为是杭州的车让人,这同样是政府和民众合力的结果。


第三是,浙江的服务区建得真好。

在浙江的服务区,大概率会有五芳斋的粽子,此外都会有当地的特产供应。近两年来,因为消费升级,很多服务区提供了肯德基、麦当劳、星巴克。

慈溪的服务区漂亮得象个景区,浙江宜兴服务区的餐厅可以眺望太湖,一些服务区还有热水洗浴。

另外,如果某个景区新建了一家网红美食点,通常会有不少人上去咨询加盟事宜。


第四是,FM93的覆盖和影响力。

FM93是覆盖全浙江的交通电台,影响力非常大,我在外省开车时也经常通过网络APP听它。

FM93提供了全省重要城市和路段的交通信息,特别在节假日时参考价值非常大。

FM93还和全省各地区旅游部门合作,每周推荐一个地区的旅游项目。

FM93的主播普遍年轻有活力,为独自驾车的听众提供不错的陪伴,也非常解乏。

XBOX游戏推荐

 

第一部分,脑洞大开的游戏。

黑色起源(Genesis Noir),游戏版的《集异璧》,一会儿人文,一会儿艺术,一会儿量子力学,无所不包。

脑航员1、2(Psychonauts 1/2),游戏版的《头脑特工队》,异想天开,但偏幼龄。

AI梦境档案(AI: The Somnium Files),通过梦境去探案,构思巧妙,语言风趣。

奇妙逃亡(Artful Escape),以异星为背景的音游。

再见狂野之心(Sayonara Wild Hearts),好玩有趣的音游。


第二部分,故事有趣的游戏。

巫师2、3(Witcher 2/3),以著名魔幻小说《猎魔人》为框架编写的小说,故事非常有张力,可谓成人童话。

瘟疫传说之无罪(A Plague Tale: Innocence),一对姐弟在发生鼠疫的中世纪艰难求生的感人故事。

地铁之离乡(Metro Exodus),末世故事,有俄罗斯文学的独特情怀。

奇异人生2(Life Is Strange 2),兄弟情深。


第三部分,可称为“第九艺术”的游戏。

巫师3(Witcher 3),游戏性、故事、画面、音乐的完美集合,特别是画中世界、童话世界另人印象深刻。

生化奇兵3(Boishock: Infinity),故事匪夷所思却又精巧无比,AI同伴伊丽莎白栩栩如生。

艾迪芬奇的记忆(What Remains of Edith Finch),实现了游戏各元素与故事主题的完美结合,就连字幕也是游戏画面的一部分。

荒野大飙客之救赎(Red Dead: Redemption),一曲西部世界的挽歌。


第四部分,画面表现力完美的游戏。

崛起:罗马之子(Ryse: Son of Rome),近乎10年前的游戏,画面依然超过如今的大多数游戏。

战争机器5(Gears 5),微软亲儿子,榨干了XBOX的机能。

地铁之离乡(Metro Exodus),PC版引发了显卡危机。


第五部分,玩起来特别爽的游戏。

使命召唤之现代战争1、2(Call of Duty: Modern Warfare 1/2),电影大片的沉浸感受,特别是现代战争1中的刺杀任务和现代战争2中致敬《黑鹰坠落》的章节。

泰坦陨落2(Titanfall 2),使命召唤的手感,时空穿梭的完美创意及呈现。

极限竞速:地平线4(Forza Horizon 4),最完美的赛车游戏。

巫师3(Witcher 3),我二周目玩支线任务玩了4个月。

赛博朋克2077(Cyberpunk 2077),故事吸引人,我玩了2个月。

刺客信条之起源(Assassin's Creed: Origins),法老王的死后世界太赞了。

古墓丽影重启三部曲(Tomb Raider),从头打到尾,特别是后两作有中文配音。


第六部分,养老游戏。

猎人之荒野的召唤(Hunter: Call of Wild),步行、狩猎、拍照模拟器。

微软模拟飞行(MS Flight Simulator),可以开飞机飞越世界各地著名景观点,甚至自己家的屋顶。

农场模拟器(Farm simulator),种粮、收割。