分类归档 研究

通过孟繁永

大造谣者和大辟谣者们已经开启了第三次世界大战

工业革命的成果改变了战争的形态和范围,促成了第一次和第二次师姐世界大战。

信息化的发展让大人物以为获得了新的战力,并将以此作为战争角力的核心。

以造谣和辟谣为基本战争形态的“第三次世界大战”已经开始。

战争只是一种激烈的促销方式,一战和二战卖的是生存,三战卖的主要是幸福。人类还是在向更高阶发展。

通过孟繁永

搭便车的小谣言

  搭便车理论首先由美国经济学家曼柯·奥尔逊于1965年发表的《集体行动的逻辑公共利益和团体理论》(The Logic of Collective Action Public Goods and the Theory of Groups)一书中提出的。其基本含义是不付成本而坐享他人之利。

  搭便车问题是一种发生在公共财产上的问题。是指经济中某个体消费的资源超出他的公允份额,或承担的生产成本少于他应承担的公允份额。指一些人需要某种公共财产,但事先宣称自己并无需要,在别人付出代价去取得后,他们就可不劳而获的享受成果。是常指宏观经济学中的公共品的消费问题。

来源:https://wiki.mbalib.com/wiki/%E6%90%AD%E4%BE%BF%E8%BD%A6%E9%97%AE%E9%A2%98

当大谣言像一个大洪水创造了激流,小谣言就像漂在水里的烂木头,搭上了大谣言的便车。

有了大谣言,就会激发很多的小谣言制造者来搭便车。

那么小谣言减损了大谣言吗?大概是的,小谣言为市场激活了更多的小辟谣者,小辟谣者逐渐成长,就对大谣言动了心思,加入大辟谣者的行列。

通过孟繁永

制造谣言的成本未必比辟谣更低

之前的舆情研究中,总是会得出一个结论,一个谣言往往传播很广,从数据上来看,辟谣的消息反而弱势,似乎辟谣比造谣更难。

这个难要得出一个确切的结论,就要比较造谣和辟谣的成本,而不是简单地忽视造谣的成本。

谣言和辟谣都是一种信息,信息在传播时是不是可以归纳出一种叫做信息传播动力学的理论出来。我查了一下,还真有这个理论,似乎已经到了可以建模的水平了。

那么造谣和辟谣就都包括创制信息和传播信息两个阶段的成本,当然两种行为之间可能也会产生交叉迭代的影响,咱就不展开了。

造谣和辟谣除了都有成本,还应该都有效益。减除成本,还可以算出净利润。当然,这都是相对两种行为的主动行使者而言。

按说,造谣和辟谣的净效益应该是动态平衡的,有人靠造谣吃饭,有人靠辟谣吃饭,但总的来说,大家都有饭吃,只是吃的饭档次不同。

造谣和辟谣假定也符合市场规律,稀缺的净利润高,那么当谣言相对较少的时候,造谣者就可以获得更多净利润,谣言多了,当辟谣稀缺的时候,辟谣者就可以获得更多净利润。

当辟谣越来越多,谣言相对少了,造谣者就可以获得较高净利润。

造谣和辟谣都是一门生意,消费者是大众,生产者是精英。

花自己的钱造谣/辟谣的是平民,花大众的钱造谣/辟谣的是领袖。

通过孟繁永

宽带垄断,依然难破

最近办公室的网挂了,挂的很彻底,一个搞不请到底是电信通还是联通几级代理的提供商和下级之间打了起来,互相掐网。

我为了能让联通接入进来,依据一个文件的指示,开始投诉。

这个文件并不是这几年第一个,搞不清楚是第几次了。文件本身质量并不高,虽然描述了各个部门的职责,但真不知道该从哪里下手。

文件原文看这里:http://www.gov.cn/zhengce/zhengceku/2020-10/06/content_5549492.htm

工业和信息化部 公安部 住房和城乡建设部 国务院国有资产监督管理委员会 国家市场监督管理总局

关于开展商务楼宇宽带接入市场联合整治行动的通告

工信部联通信函〔2020〕211号

为进一步规范商务楼宇、办公建筑、园区等场所(以下统称商务楼宇)宽带接入市场,打通提速降费梗阻,保障宽带用户合法权益,不断优化中小企业发展环境,工业和信息化部、公安部、住房和城乡建设部、国务院国有资产监督管理委员会、国家市场监督管理总局决定自2020年10月至2021年6月组织开展商务楼宇宽带接入市场联合整治行动。现将有关事项通告如下:

一、电信运营企业及其业务代理,商务楼宇产权人及其委托的管理人、物业服务企业不得签订任何形式排他性质的宽带接入协议或约定,不得强制商务楼宇承租人接受指定服务并收费,不得阻止电信运营企业根据用户需求进入商务楼宇提供公共电信服务,不得约束限制电信运营企业公平接入和使用商务楼宇内通信配套设施。

二、电信运营企业及其业务代理应在商务楼宇内醒目位置公布服务项目、服务内容、收费标准、服务监督电话和市场监管投诉举报电话等。商务楼宇产权人及其委托的管理人、物业服务企业应向各电信运营企业及其业务代理平等开放商务楼宇内通信配套设施,应在商务楼宇内提供专门醒目位置,为电信运营企业及其业务代理公布宽带接入服务信息提供便利。

三、电信运营企业及其业务代理为用户提供通信服务时,除按照其已公示的电信资费标准收费外,不得另行收取其他费用。商务楼宇产权人及其委托的管理人、物业服务企业在配合提供通信接入服务时,不得向电信运营企业及其业务代理收取公示的收费项目之外的费用。

四、2017年4月1日后新建商务楼宇的建设单位应严格执行《综合布线系统工程设计规范》(GB50311)及相关标准,将楼内通信配套设施纳入建设项目的设计文件,所需投资应纳入建设项目概算,并随建设项目同步设计、同步施工、同步验收,不得由第三方公司作为单独工程项目进行投资建设并经营获利;设计单位、施工图审查机构应严格按照国家标准要求进行设计和审查;新建商务楼宇的通信配套设施未按要求竣工验收或验收不合格的,电信运营企业不得将其接入公共电信网。

五、各省(自治区、直辖市)通信管理局、公安、工业和信息化、住房和城乡建设、市场监管部门要加强对商务楼宇宽带接入市场违法行为的监管和处罚。

通信管理局会同住房和城乡建设部门对电信运营企业或其代理商与商务楼宇产权人及其委托的管理人、物业服务企业达成排他性协议或约定,以及限制平等接入等行为进行查处。通信管理局依法对无证经营、超范围经营电信业务等违规行为进行查处。住房和城乡建设部门、通信管理局依照职责加强对商务楼宇建设单位、设计单位、施工图审查机构的监督管理。市场监管部门依法对相关市场主体存在的商业贿赂不正当竞争、价格违法等行为进行查处,涉嫌构成垄断行为的,严格依法处理。对以暴力、威胁手段,强迫他人接受指定电信业务服务,或者强迫电信运营企业及其业务代理退出电信业务服务,情节严重,涉嫌强迫交易罪或者其他犯罪的,由公安机关依法严厉打击。

特此通告。

工业和信息化部

公安部

住房和城乡建设部

国务院国有资产监督管理委员会

国家市场监督管理总局

2020年9月30日

首先想到的是找通信管理局投诉,于是找到http://bjca.miit.gov.cn/n817064/n817255/n1096242/index.html这个地址,提交投诉,一直没消息。这个页面做得也很应付事儿,完全没有必要强制限制用户阅读条款,等待那么长时间才能点确认投诉,而且我提交了之后查询结果还要再等一遍。

后来,找到了工信部的投诉,在首页http://www.nsae.miit.gov.cn/点“电信申诉”跳到这里https://yhssglxt.miit.gov.cn/web/,下面有个各省局,选北京之后又回到了北京通信管理局。

其实,点顶部导航的“用户投诉”就对了,填写到投诉对象的时候,我发现我找不到现在的运营商,于是转念一想,既然我想接入联通,就投诉联通吧。

没想到,工信部这个响应挺快,联通很快就来电话了,最终指派到了附近的营业厅来处理。

接下来的进展后面再写。

通过孟繁永

为什么不应该庆祝gitee比github更快

有搞开发的同事庆幸gitee速度很快,但也有同事提醒github打包下载代码更快。

找有用的新的项目肯定还是github优先,当github被限速越来越严重的时候,获取好项目的机会就越来越低,何况,自己的网连阿里云都会很慢,这样的办公条件有什么好庆幸的呢?

尽管我也不怎么在github上贡献代码,至少还点个真实的star,我不想在一个充斥者虚假的商业开源代码的gitee上浪费太多时间。

通过孟繁永

前后端分离的微信开放平台网站应用实现微信登录的本地调试

前面那一篇说了基于laravel+vue的实现方式和不要踩的坑,这一篇记录一下如何实现本地调试和线上部署。

当然,线上就按上一篇就好了,在vue-wxlogin里面配置appid(微信开放平台里面的网站应用的appid,需要先申请),laravel里需要配置appid和secret。

现在主要说一下如何在本地调试。vue-wxlogin显示二维码的时候需要appid和回调地址一致,如果把线上域名反向隧道到本地,那么线上就用不了,如果用本地的hosts来解析,那么就无法同时访问线上的版本。所以比较好的办法是专门申请一个测试用的网站应用,比如portal.local.futuremeng.com,通过vi /etc/hosts添加127.0.0.1 portal.local.futuremeng.com来将这个域名解析到本地环境。

然后在本地的nginx中添加一个站点,配置文件如下:

server {
     listen 80;
     server_name portal.local.futuremeng.com;
     charset utf8;
     location / {
        proxy_pass http://192.168.2.180:6060/;
        add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval'; object-src 'self'; style-src 'self' 'unsafe-inline';";
        proxy_set_header Host            $host;
        proxy_set_header X-Real-IP       $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    }
}

其中,IP换成你自己的电脑的IP,如果是docker跑的nginx,需要指定为本机的局域网IP,也就是docker的宿主机IP,否则,如果设置成127.0.0.1是访问不到后面在vscode中建立的服务的。

最后打开vscode,打开vue项目,设置一下devServer的port,我用6060是为了同时npm run serve起多个前端项目,而这一个专用这个端口,以便nginx这里能够保持可用。

通过孟繁永

从商业成品房车到DIY自改房车

房车按价位和使用率来看,绝对是有钱有闲阶层的小众产品,但随着对房车改装技术的不断了解,除了商业成品房车,还有很多车友在用箱式车直接改装。

当然,国内在法规方面有很多限制,让自改房车有了很多障碍,但依然挡不住用面包车之类的轻改车友,到验车的时候再改回去就行了,但这对想拿轻客改B型车的来说,风险太大了。

所以目前如果想自己改,一个是不能买一般的二手车,而是要买一手的旅居车底盘或者二手房车来改,二是改完要去某个改装厂买一个公告。相当于两个公告要买,这是政策上的成本。

剩下的就可以自己发挥了,当然,改装也要符合规范,国外很多车友自改都是采用实木结构,材料简单,工艺也容易把控,国内的商业成品房车虽然可以定制,但基本上还是采用现成套件为主,布局方面选择空间很小。

如果拿活动范围来说,事实上,像台湾那样拿得力卡这样的车来改是比较实用的。不过放在北京,就还要在上面两个公告上多加一个北京车牌和底盘北京公告,算下来一共四道政策成本。

相比起改造和买底盘的费用,这些政策成本加起来就太高了,几乎达到1:1的比例。

通过孟繁永

如何看待滨湖国际业主们的投诉维权

衡水滨湖国际业主们拉了一个业主群,集体通过各种官方渠道投诉维权,希望开发商好好盖房,一通投诉之后,开发商被罚款10万元,以目前的环境,这点罚款顶多是象征性的警告,背后也不排除还有别的资金去搞定这件事情,算算账,这些开销都是要业主们来付出的,如果拿不到新的钱,恐怕就是在盖楼的时候省出来。这也是一种悖论。就像有业主说的,如果真的罚十几个亿,还有钱盖房子吗?

所以有两个问题需要注意,一个是开发商不要跑路,一个是开发商要好好盖楼。但这些本来都是谁应该做的?又应该是谁去监督谁做好?这是一笔烂账。

搞到今天,业主们连应该投诉谁都没搞清楚,当然,也搞不清楚。

十年前离开武汉的时候,我跟关照过自己的老社长说,生逢乱世,当作好人。能否做好人不好说,尽量吧,上面这种事情其实很无奈,随波逐流而已。

通过孟繁永

前后端分离的微信开放平台网站应用实现微信登录

先说下项目结构:前端vue,后端laravel。

其中前端用vue-wxlogin这个组件来显示微信登录的二维码。

这个组件中的appid填写微信开放平台中的网站应用的appid,redirect_uri填写微信开放平台中的网站应用登记的授权回调域。

这个授权回调域可以和网站应用的应用官网相同,也可以不同。

只要appid和redirect_uri与网站应用中的一致,二维码就可以显示。

为了调试方便,我在本地调试时把网站应用登记的授权回调域临时修改为另一个域名(该域名做了反向隧道,不知道是否必要)。

当二维码能正常显示时说明前端没有问题了。微信扫码确认后前端页面会跳转到redirect_uri(网址赋值需要用encodeURIComponent来编码一下,否则path可能会出错,比如hash模式时path跑到问号后面去了),跳转后的url会带上code参数。

接下来我们需要用这个code来换取openid和access_token。那么这就涉及到redirect_uri应该用前端域名还是后端域名呢?

我设置的是前端域名,也就是前端的login页显示二维码,然后扫码后跳转到weixin页,读取code并向后端接口发起获取openid的请求。这样,一则前端跳转时是本域跳转,不用重新加载页面,二则,也比较符合前后端分离的模式设计。

后端在code获取openid和access_token这里,我陷入了极大的困惑。后端我引入的是overtrue/laravel-wechat,其中有open_platform的接口,我以为可以像公众号和小程序的接口那样直接调用,比如

$this->app->handleAuthorize($input['code']);

就可以搞定了,但就在这一个方法上,我浪费了一个下午的时间。

具体不展开说了,可以参考https://blog.csdn.net/qq_39859060/article/details/83512563,但其实就算有这篇文章,我还是没搞清楚到底怎么回事,这个component_verify_ticket到底有什么用呢?

最后,是按https://learnku.com/laravel/t/36118#reply164754里面提到的第一种方法实现的。简单的一个file_get_contents就搞定了。

$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" . config('wechat.open_platform.default.app_id') .
            "&secret=" . config('wechat.open_platform.default.secret') . "&code=" . $input['code'] . "&grant_type=authorization_code";
 $jsonResult = file_get_contents($url);
 $data = json_decode($jsonResult, true);

再次吐槽微信难道从上到下都是跟张小龙一样的狗屎脑子吗?起名字和写文档都一样乱。

通过孟繁永

以前的博客

以前的博客很多评论,写博客没有评论就是纯粹为了发泄了,现在就是这样。

有了所谓新媒体之后,交流就越来越少,越来越浅,人们更多的为了一句话根本解释不清的简单论断而争论。坐在咖啡馆或者茶馆里面对面的深谈也越来越成为一种奢侈。

我的博客最近的一条评论来自台湾,这让我感到很幸福。

另一种类似的体验是我在gmail收到来自周老师的来信的时候,这是我些年来收到的唯一一个私人的来信。尽管有些观点我并不赞同,有些内容也不是我关心的,

昨天在校友育儿群里提议组织一个育儿市集,在北京选四个公园,每个月的四个周轮流在这些公园举办育儿市集,为的是增加一下孩子们的公共活动空间,否则到公园里玩,也是各跑各的,跟陌生人没有交流。这让我感到孤独,我担心这种孤独已经延伸到孩子身上了。