认知与收益

美国国会山暴乱已经过去几天了。随着更多新闻报道、自媒体评论出现,我发觉又一件历史事件,发生在我生活的时代。

1月6日是周三,在公司健身房的椭圆机上,我通过手机观看了美国国会的暴乱直播。说实话,当我看到人群在聚集,开始和警察推搡,根本没有意识到这是伟大的时刻,甚至在抗议者扛着佩洛西的讲席,某位红脖子得意洋洋坐在她的办公椅上,也丝毫没有感觉历史时刻的到来。

此时此刻,在公司食堂用毕免费早餐,我对这一事件内涵的理解,要么来自apple podcast,例如NPR news、W post,或者微信公号,国内媒体对事实的描述少得可怜,但是分析和结论丰富的惊人。

我开始想,是我自己对于外部世界的感知如此迟钝,还是媒体人过于敏感,抑或根源是认知问题。一个人的语音能力、思考能力、信息获取能力,直接决定了他认知的层次。而认知则决定你采取什么样的行动。

换句话说,如果你在股票市场,认知就决定了你的收益,立即的、残酷的通过收益指标来证明你是否愚蠢。

我觉得,买卖股票,也是一种修行。

AI产品-克隆人战争

从度假乐园到生产车间,从入口迎宾到轨迹还原,我接触到的AI产品,虽然标榜赋能不同行业,应用不同场景,都有种似曾相似的感觉,说不清楚是什么原因。

晚上参加一场跨产品线交流会,突然有个答案冒出来:因为都是技术驱动的产品,不管来自四小龙,或来自BAT,大家的技术都是如此相似,看一样的论文,用一样的算法,所以产出才那么千篇一律啊。

做产品的人,喜欢用一个大头朝上的漏斗,来说明从需求到产品的全流程。这个逻辑是没有错的,因为产品的设计过程,就是尽量多的满足相类似的需求,也就是产品经理常说的“通用需求”,然后有下层的产品来承接。但是这个思路一定是需求牵引,而不能让产品做牵引,去勉强适配不同的行业、不同的场景。

Ubuntu完全卸载nginx服务器

方法1

使用‘sudo apt-get –purge remove nginx’彻底删除

# sudo service nginx stop
# sudo apt-get --purge remove nginx
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  fontconfig-config fonts-dejavu-core libfontconfig1 libgd3 libjbig0 libjpeg-turbo8 libjpeg8
  libnginx-mod-http-image-filter libnginx-mod-http-xslt-filter libnginx-mod-mail
  libnginx-mod-stream libtiff5 libwebp6 libxpm4 libxslt1.1 nginx-common nginx-core
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  nginx*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 45.1 kB disk space will be freed.
Do you want to continue? [Y/n] y
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LC_CTYPE = "UTF-8",
        LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
(Reading database ... 117708 files and directories currently installed.)
Removing nginx (1.18.0-0ubuntu1) ...

方法2

自动移除全部不使用的软件包

sudo apt-get autoremove

列出与nginx相关的软件,并依次删除显示的软件,这个方法更加通用,我照猫画虎使用在php上面,也非常靠谱(php8.0-fpm)

dpkg --get-selections|grep nginx
sudo apt-get --purge remove nginx
sudo apt-get --purge remove nginx-common
sudo apt-get --purge remove nginx-cor

使用ps命令查看相关进程,-A显示有限信息,-l显示详细信息 -e显示所有进程,aux显示系统所有进程

ps -le | grep nginx

参考材料如下
https://blog.csdn.net/adley_app/article/details/79223221

ps命令
http://c.biancheng.net/view/1062.html

删除apache2
https://blog.csdn.net/dazhi_100/article/details/43121179

Ubuntu20.04.1 LTS安装PHP8.0.1

这是目前全网最新的安装指南了。

首先,20.04.1版本的Ubuntu没有包括8.0.1PHP,所以需要安装第三方的PPA库来进行安装,下面的命令增加第三方PPT到Ubuntu

sudo apt update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo add-apt-repository ppa:ondrej/nginx

与Apache不同,Nginx没有对php文件的内建支持,因此使用php-fpm(fastCGI process manager)来处理PHP文件。

目前最新的php版本是8.0.1,但是aliyun没法自动安装这个源,手动安装太麻烦,因此我只有先用8.0来试试。

和Apache2不同,Nginx自己没有自建队php的处理支持,所以需要分别安装Nginx和PHP

#sudo apt update
#sudo apt install nginx php8.0-fpm

重新启动Nginx和PHP-FRM

sudo systemctl restart nginx
sudo systemctl restart php8.0-fpm

检查服务状态如下

systemctl status php8.0-fpm.service

现在你可以编辑服务器配置,方便Nginx处理PHP文件。

由于Nginx没有内建PHP支持,所以需求手工编辑server部分来支撑PHP,如下

sudo nano /etc/nginx/sites-available/default

编辑下文粗体部分

   # Add index.php to the list if you are using PHP
        index index.php index.html index.htm index.nginx-debian.html;
        # pass PHP scripts to FastCGI server
        #
        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
        #
        #       # With php-fpm (or other unix sockets):
                fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
        #       # With php-cgi (or other tcp sockets):
        #       fastcgi_pass 127.0.0.1:9000;
        }
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one

然后reload两个服务

sudo systemctl reload nginx
sudo systemctl reload php8.0-fpm

参考文档如下
https://websiteforstudents.com/install-php-8-0-on-ubuntu-20-04-18-04/

安装MariaDB

通过mysql进入数据库

MariaDB [(none)]> create database wordpress;
Query OK, 1 row affected (0.002 sec)
MariaDB [(none)]> create user 'user'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.002 sec)
MariaDB [(none)]> grant all privileges on wordpress.* to 'user'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.000 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.000 sec)

参考文档如下
https://developer.aliyun.com/article/761741

ubuntu升级软件和安装Nginx

首先看下有没有需要升级的软件

# apt list --upgradable
Listing... Done
linux-generic/focal-updates 5.4.0.60.63 amd64 [upgradable from: 5.4.0.54.57]
linux-headers-generic/focal-updates 5.4.0.60.63 amd64 [upgradable from: 5.4.0.54.57]
linux-image-generic/focal-updates 5.4.0.60.63 amd64 [upgradable from: 5.4.0.54.57]

还好,刚才已经把软件包升级过了,现在只要升级系统就可以。

升级软件包命令

sudo apt-get update 更新源
sudo apt-get upgrade 更新已安装的包

升级系统命令如下

sudo apt-get dist-upgrade 升级系统

然后在看下,都是最新的了。

#apt list --upgradable
Listing... Done
root@MDaliyun ~ # sudo apt update
Hit:1 http://mirrors.cloud.aliyuncs.com/ubuntu focal InRelease
Hit:2 http://mirrors.cloud.aliyuncs.com/ubuntu focal-updates InRelease
Hit:3 http://mirrors.cloud.aliyuncs.com/ubuntu focal-security InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.

下来安装Nginx

安装Nginx

sudo apt install nginx

查看Nginx状态

 sudo systemctl status nginx

root@MDaliyun / # vi /etc/nginx/nginx.conf

编辑 nginx.conf 文件。
找到 server{…},并将 server 大括号中相应的配置信息替换为如下内容。用于取消对 IPv6 地址的监听,同时配置 Nginx,实现与 PHP 的联动。

server {
 listen       80;
 root   /usr/share/nginx/html;
 server_name  localhost;
 #charset koi8-r;
 #access_log  /var/log/nginx/log/host.access.log  main;
 #
 location / {
       index index.php index.html index.htm;
 }
 #error_page  404              /404.html;
 #redirect server error pages to the static page /50x.html
 #
 error_page   500 502 503 504  /50x.html;
 location = /50x.html {
   root   /usr/share/nginx/html;
 }
 #pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
 #
 location ~ .php$ {
   fastcgi_pass   127.0.0.1:9000;
   fastcgi_index  index.php;
   fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
   include        fastcgi_params;
 }
}

参考文档如下
https://www.myfreax.com/how-to-install-nginx-on-ubuntu-18-04/

Ubuntu安装oh-my-zsh

1 直接安装zsh

#sudo apt update
#sudo apt install zsh

显示版本

# zsh --version
zsh 5.8 (x86_64-ubuntu-linux-gnu)

设置ZSH为默认shell

# chsh -s /bin/zsh

修改vps上的hosts

#whereis hosts
hosts: /etc/hosts.allow /etc/hosts.deny /etc/hosts /usr/share/man/man5/hosts.5.gz
# vi /etc/hosts

添加如下内容

127.0.0.1       localhost
# GitHub Start
52.74.223.119 github.com
192.30.253.119 gist.github.com
54.169.195.247 api.github.com
185.199.111.153 assets-cdn.github.com
#151.101.76.133 raw.githubusercontent.com
151.101.108.133 raw.githubusercontent.com
151.101.108.133 user-images.githubusercontent.com
151.101.76.133 gist.githubusercontent.com
151.101.76.133 cloud.githubusercontent.com
151.101.76.133 camo.githubusercontent.com
151.101.76.133 avatars0.githubusercontent.com
151.101.76.133 avatars1.githubusercontent.com
151.101.76.133 avatars2.githubusercontent.com
151.101.76.133 avatars3.githubusercontent.com
151.101.76.133 avatars4.githubusercontent.com
151.101.76.133 avatars5.githubusercontent.com
151.101.76.133 avatars6.githubusercontent.com
151.101.76.133 avatars7.githubusercontent.com
151.101.76.133 avatars8.githubusercontent.com
# GitHub End

安装oh-my-zsh(下面是官网命令)

Method  Command
curl    sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
wget    sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
fetch   sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

最终因为“墙”的问题,总是出现下面的问题

Failed to connect to raw.githubusercontent.com port 443: Connection refused

安装了openssl,安装git,安装wget,修改了上面的hosts,都无济于事。我就不打算折腾了,直接玩zsh也罢。
不玩不知道,zsh更方便。

2 新建一个zshrc配置文件如下

vi ~/.zshrc

文件内容如下

autoload -U compinit promptinit
compinit
promptini

执行命令 source ~/.zshrc 来生效修改的配置,而不需要重新登录,然后使用命令

# prompt -p

哈哈,显示如下缤纷灿烂的提示符,我选择prompt adam1,每次登录会恢复到原始状态,根据心情,选择一个就好。

配置Zsh可参考下文
https://wiki.archlinux.org/index.php/Zsh_(简体中文)