凑别人的热闹:开封旅游

林一苇在开封开了一个童话博物馆,一直想去看看,一直也没去成,平时去就不能跟孩子一起过周末了,一直等到五一,带全家一起去,去之前群里还有朋友说,这是要吃穷林一苇啊。

计划既定,具体行程则是见机行事,4月30日下午公司突然宣布提前半天放假,约好了下午见客户,错过了中午出发的好时机,等到5点出发,赶上高峰,11点才到衡水,开车走了6个小时。

5月1日下午从衡水启程去开封,这段路很顺利,7点就到开封了,走了5个小时。最重要的发现是,论高速服务区,也许河北段的真的是最烂的了,之前是走山东安徽江浙一线,这次到河南都发现服务区明显更好,真是难为南方进京的人了。

去开封,主要还是见朋友,行程安排的不是那么紧张,朋友怎么接待就怎么来,在皇城边上走一趟,听上去不错的双龙巷转一转。好在对旅游的预期没有那么高,在湖边的拱桥上看一眼雨景就知足,何况还有朋友在湖边邀你喝茶,还是挺惬意的。

说到双龙巷,听起来跟户部巷、南锣鼓巷也差不多,只是新搞的,重修的房子确实格局要好一些,但是对于能填充进去什么东西,我一点期待也没有,除了林一苇这个三进的院子,因为有景老师在,我倒是很好奇会做成什么样子。

也因为思考这个三进院子,引出我对目前自动控制装置的兴趣,这一年多玩的东西也许又可以用上了。

电动汽车厂商倒闭了怎么办?

之前买过一个CAT110的智能插座,可以把家里的煤气报警器和烟雾报警器连接起来,通过app收到报警信息,也可以远程控制插座本身的继电器。

有一段时间,插座不能用了,连不上网,实际上是连不上服务器,找了半天,问到厂家,说正在迁移服务,又等了一阵子,试试好了,说明迁移成功,可是,如何迁移失败或者厂家倒闭了呢。至少这个智能插座是废了,传感器是通用的,还可以连到其他的智能网关上。

基于云的东西,如果厂家不把云上的东西让你自己部署一个私服,你就没办法摆脱它,我的智能门锁也是一样,虽然分发钥匙是app和门锁通过蓝牙连接同步数据,但是生成密码是要先登录app的,登录就要连服务器,如果门锁厂家没了,app无法登录,自然也就无法跟门锁通讯,而厂家也很难好心到在倒闭前把app释放一个不需要登录的版本出来。

如此分析,智能家居还需要私有化的方案才能放心使用,除非对买的东西有足够的信心,或者钱不多,上当了也无所谓。

但如果是电动汽车厂商挂了呢,花了多少万买的电动汽车里面有很大一笔钱是买所谓的智能功能,那个智能车机的运营方要是废了,谁能提供第三方车机?不好说,即使能提供改装,验车未必能过。

我觉得这类的应用至少应该像wordpress或者mastodon这样,除了提供saas服务,还应该提供私有化部署的方案。

或许我更愿意接受一个开源电动汽车,至少一部分功能应该分离出来,用开源来实现,而不是把所有东西都寄托(绑定)在一个厂商那里。

Laravel中Socialite和easywechat如何选用

Socialite主要针对登录,涵盖了微信的接口,但是不包括微信其他的接口,如支付等。而easywechat是针对微信的全场景方案。

所以在项目中,用easywechat来解决微信方面的需求,在users表之外,创建一个weixins表,来存储微信用户绑定到信息,如果有需要再用socialites表来存储非微信的用户绑定。

在各个平台的接口中,微信的接口是比较变态难调试的,尤其是支付接口,这里再次抱怨一下。

电动汽车,有最好的买家,却没有最好的产品

最近特斯拉在上海车展大放异彩,真心关注电动汽车的和看热闹的显现出很不一样的态度,这依然是信息不透明造成的问题,如果不是钱不够,估计都要买特斯拉了,而之所以有那么多特黑,多半是“打特办”旗下。

先不说是否真的有打特办,只说争议解决机制,就不太正常,有问题就解决问题,该怎么调查怎么调查,而一线媒体出来带节奏,这就不是科学办事,当然,真心买车的考虑的还是自己的钱包和怎么买一辆自己放心的车。

长安CS55的等等群里,大家把新能源车研究得很透彻了,这是除了水木社区之外唯一一个严肃讨论新能源话题的地方。

只是,大家研究的再好,造车的还是该怎么折腾怎么折腾。如今造成分成了两派,一派是真造车,一派是拿造车当幌子玩资本运作。

对我自己来说,研究新能源的这轮基本上要高一段落了,首先对换车的需求还没那么迫切,钱包也还需要继续填充,同时,可以继续等一等下一代产品,等一百度电池量产了,差不多就可以换了。

使用https://www.github.com/yeszao/dnmp搭建php8.0.3环境

基本的安装步骤请看官方文档,这里仅就php8说一下。之前7及以下版本直接按指示操作即可,没有遇到问题,如果遇到github等网络不通的情况,等一等再试,或者想办法出个国。

需要php8的,打开.env将php7下的版本号直接改为8.0.3,或者复制php7的配置新建一个php8。

#
# PHP7
#
# Available PHP_EXTENSIONS:
#
# pdo_mysql,zip,pcntl,mysqli,mbstring,exif,bcmath,calendar,
# sockets,gettext,shmop,sysvmsg,sysvsem,sysvshm,pdo_rebird,
# pdo_dblib,pdo_oci,pdo_odbc,pdo_pgsql,pgsql,oci8,odbc,dba,
# gd,intl,bz2,soap,xsl,xmlrpc,wddx,curl,readline,snmp,pspell,
# recode,tidy,gmp,imap,ldap,imagick,sqlsrv,mcrypt,opcache,
# redis,memcached,xdebug,swoole,pdo_sqlsrv,sodium,yaf,mysql,
# amqp,mongodb,event,rar,ast,yac,yaconf,msgpack,igbinary,
# seaslog,varnish,xhprof,xlswriter
#
# You can let it empty to avoid installing any extensions,
# or install multi plugins as:
# PHP_EXTENSIONS=pdo_mysql,mysqli,gd,curl,opcache
#
#PHP_VERSION=7.4.7
PHP_VERSION=8.0.3
PHP_PHP_CONF_FILE=./services/php/php.ini
PHP_FPM_CONF_FILE=./services/php/php-fpm.conf
PHP_LOG_DIR=./logs/php
PHP_EXTENSIONS=mysql,pdo_mysql,mysqli,mbstring,gd,curl,opcache,redis,xdebug,imap,mcrypt,zip

如上,用docker-compose build php然后docker-compose up php。

这个时候打开php项目,有可能会报could not find driver的错误。那就是mysql的扩展没装好。

可以用下面的办法来安装:

docker exec -it php /bin/sh

install-php-extensions pdo_mysql
同理,也可以安装redis扩展install-php-extensions redis
这时候打开phpinfo看看有没有pdo_mysql和redis。

如果需要在本地打开xdebug,还是用上面的办法install-php-extensions xdebug
这时候,还需要修改一下php.ini,因为xdebug最新是3的版本了,配置项改了。

把原来的xdebug配置改成下面的即可。
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
; Set to host.docker.internal on Mac and Windows, otherwise, set to host real ip
xdebug.remote_host = 192.168.100.100
; xdebug.remote_port = 9000
xdebug.remote_autostart=1
xdebug.remote_log = /var/log/php/xdebug.log


xdebug.mode=debug
xdebug.client_host=192.168.100.100
xdebug.start_with_request=yes
xdebug.log=/var/log/php/xdebug.log
如果用vscode调试的话,在.vscode下面创建launch.json并填入:
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9003,
            "pathMappings": {
                "/www/shang/openexhibitions/api": "${workspaceRoot}"
            }
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9003
        }
    ]
}

注意,端口号是9003,之前xdebug是9000

如何识别垃圾链接

微信群或者朋友圈经常遇到一些转发的内容,一般不能轻易打开,上当的机率太高,简单的可以从链接中的域名分析一下,但这往往不奏效,因为很多大平台的链接也越来越垃圾了。

比如,你打开腾讯家的新闻链接,还不只是不会直接显示完整的新闻,更是直接跳出他们家app的下载请求,一不小心就装上了。

从邮件时代就反垃圾这件事,到了移动时代,依然是一个大命题。

其实在电报等应用中,这似乎不是个难题,完全可以通过引入机器人来检验和标识这些链接,chrome浏览器通过插件也可以实现这样的功能,但像微信这种垃圾应用,打开个链接都是通过内建浏览器,确实就没多少好办法避免。

而像财新这样的付费新闻app,分享出来的新闻也是半截,为了推广app付费无可厚非,但假装成无付费的链接就不算厚道了,标题上打上个会员标志不挺好的嘛。

ID4试驾体验

这确实是一套完整的数字化的体验,大众接着新能源车的机会改变了整套的销售和运营体系,这对大众来说,比一辆车的改变意义更大。

当然,ID4试驾完之后,第一个感觉就是降低了我对ID6的预期。ID4车内没有什么值得称道的地方,屏幕太简约,过于保守了,至少应该给到长安CS55那样的屏幕吧。

试驾一圈会完的时候,突然想起销售提到的要加价5000才有的擡头显一直没有看到。于是让试驾员打开,结果他尝试了好几次都不行,停车以后尝试重启车机也不行,估计要给小电瓶断电才行了。我把这个建议给了他,他不好意思当面实施。

以ID4的核心配置,比如电池容量和电机功率来说,跟长安CS55相比贵了将近10万,也许这就是品牌溢价吧,这次是真的体会到了。

观察电动汽车之所想

观察电动汽车,是继房车研究之后的一个新话题,到目前为止,大致上对电动汽车有一个了解了,今天早上又听了一段商业史,某军在指点某辉时说看钱的格局和方向要对,于此,想到,做手机的纷纷也来做电动汽车了,尽管有能力做什么都行,但未必做什么都能做出好产品,尽管好产品未必有好销量。

一直跟进的长安的CS95电动版被放鸽子了,从上海车展亮相,延期到了年底,大概是说华为的自动驾驶技术不过关,水木上有网友说,华为的自动驾驶仅限于上海华为总部周边路段。

而id6的定价虽然还未明确,但跟唐EV的价位差不多,目前来看,id6已经占了上风了。

关于实习工资

2006年,我在江汉大学文理学院图书馆实习,只待了一个月,发了1800。那个图书馆只有10万本书,五个工作人员,算上我,当然,后来大部分人都走了,不过那段时间印象还是很深的,图书馆条件不好,很多东西都要自己弄。

网上看到一个信息,说医生实习没有工资,还有可能倒贴实习费,也有的说金融行业有的也没有实习补贴,纯倒贴,有的也就是50块钱饭补。一大堆名校学生扎堆投简历。

其实我知道的一个是在某出版社实习的法律专业学生,做资料审核的工作,给的钱也是路费,好在单位有食堂管饭,还有一个某企业信用信息公司,找学算法的硕士实习,也是不给钱,当然,这样的硕士也弄不出什么模型出来。

之前我一直引以为傲的是帮一位美国朋友出主意,让她找学生来帮她做研究,又不用付报酬,按她的概念,她的课题经费承担不起一个助理团队,而我提示她,可以给美国学者当助理本身的收获本身比挣点现金要来的好,只要在留学方面给他们一些指点就行,况且,一个很正规的研究项目也是一个很好的训练。

实习工资发多少并不是问题的关键,关键在于付出和回报是否对等,有的是拿体力换经验,有的是拿体力换证明。我也曾经在出版社用过不少实习生,但用的时候一定给人家介绍清楚,要做什么工作,能有什么收获,实习工资也尽量给他们多争取一些。

前晚,一位东北某大学的网友老师向我咨询孩子就业的问题,悉尼大学研究生毕业,2010年他跟我这位网友老师去武汉的时候才十来岁吧,我能提供什么信息呢,虽然换工作不少,但也是大家都知道的那点事儿。只能跟她相信孩子自己的选择吧。