項目常見問題

一、SaaS 和無代碼開發模式的價值

就紅十字這一個部門來講,SaaS 和無代碼開發的價值在於和應用場景結合做出業務系統,為業務系統賦能,實現低成本複製、定製。單拎出來並無價值。

二、如何防止大廠入場

這不用防,相較於這樣一個價格承受能力非常低的部門來講,不如將資源投入智慧農業、智慧社區、智慧交通、工業互聯網上帶來的回報和想象空間大,且我們走無代碼的路線低價鋪量,最後會形成價格壁壘,後入者必須在價格和質量都呈優勢的情況下才有可能形成威脅,就大廠數倍、數十倍於我們的研發成本,以及市場較小的規模來看,這不可能。他們最佳的涉足這個市場的方式是作為我們的投資商和渠道商,而不是直接下場競爭。

三、為什麼不做高端定製而要走平價路線

高端定製也就是外包,註定只能服務於一小部分有強大付費能力的客户羣。只有實現規模化、流程化、平台化並壓低成本,才能顧及全部的客户羣體,這樣才具有大量應用,以形成壟斷、壁壘的可能性,積累的經驗/平台/方法論才具有複製到其他領域的可能性,這些有效的積累會賦予我們發展的後勁,而不僅僅是賺一筆快錢。

四、技術架構是怎樣的

對於系統的橫向擴展,走去中心化的多租户 SaaS 系統路線,每個具體應用是獨立部署的,開 1 個和開 1 萬個的區別就是加服務器。對於業務層面的層級聯動,每個應用系統都是一致的、平等的,應用間通過 ID 建立單向聯繫,實現自下向上逐級彙總流通數據。最終達成基層-區縣-地市-省-部,各單位的系統分別部署分別可定製,但五位一體的體系。

五、市場需求是否存在

按目前調研情況看,紅十字信息化系統在區縣一級幾乎空白,市一級部分建成,省一級大部分建成,但受限於資金、技術投入不到位,已有的系統多是處於“湊合能用”的水準上,呈現形式多為簡單的表單填報。總會亦有信息化系統,但由各下級部門分別建設,例如救護員培訓平台、中華骨髓庫、救災備災系統等均是各自獨立的系統,各系統間用户體驗不一、數據互不流通,用户體驗的割裂感嚴重。反觀其他黨政口單位大都已實現一網通辦效果。我們做的事情就是建設紅十字會業務的一網通辦系統,並引入 SaaS、無代碼的理念為其賦能以降低複製、定製、維護成本,使一套完備的信息化系統的總體成本可被接受。

六、盈利模式和盈利能力

首先這個項目的盈利模式和盈利能力在現階段對於所有參與其中的人來講並不重要。對於團隊內部來講,我們追求的是在年輕的時候以最快的速度站到最高的平台上,賺取最多的名望、經驗,積累最多的資源;對於政府側的領導們來講,他們在意的是分別在各自所處層級利用該項目率先實現信息化所帶來的政績、亮點;對於項目孵化階段的投資商來講,他們在意的是基礎技術的知識產權共享。就目前來看,項目以最快的速度在全國鋪開才最符合所有人的利益,具體的盈利模式可在路上逐步細化完善,按一般規律來講,為一個領域的一系列問題給出瞭解決辦法,形成了完整的落地方案,且通過模式創新將成本壓到極低而目標客户羣體又有基本付費能力的情況下盈利是不會存在問題的。

推動紅十字會信息化轉型的新思路

【該文章是替區紅會撰寫的稿子,所以並不是以我個人的視角寫的】

沾化區紅十字會在 2022 年主導開發了“會員管理系統”和“大病救助系統”兩個信息化系統,用以與總會已有的信息化系統結合,並通過微信公眾號作為總入口,最終形成較為完整的區縣級紅會信息化解決方案以利於本單位工作。

雖然取得了不錯的應用成績,經驗做法也得到了各上級紅會的報道和認可,但當我們進一步思考,嘗試回答“如何以此為契機推動全國紅十字系統向信息化轉型”的問題時卻又發現了一些難以解決的現實問題。其中主要問題歸類為使用體驗不佳和經驗推廣困難兩大塊。

1. 使用體驗不佳

這裏主要指各系統間無法形成完整的體系,而是各自為政的單個模塊,用户體驗的割裂感很嚴重。就比如説羣眾想同時參與救護員培訓和志願服務,就需要在兩個毫不相干的平台分別註冊兩個賬號,並熟悉它們各自的交互邏輯。反觀其他黨政口的單位則大多實現了“一網通辦”的效果——羣眾只需在一個平台就可辦完所有業務。

2. 經驗推廣困難

這個問題主要是資金缺乏導致的,即便是市面上已有的信息化系統,其一次性採購+有限的個性化定製+第一年運維的成本也普遍超過 3 萬元,地方紅會,尤其是區縣級紅會難以負擔。同時這種系統也缺乏靈活性,當有了新的需求時只能簽署二期合同,委託開發商進行新一輪開發。

基於以上兩個問題,我們希望為紅十字會業務構建“一網通辦”的信息化系統,並引入“無代碼開發”的理念幫助降低產品複製、定製成本,為經驗推廣掃清障礙。所謂“無代碼開發”指的是讓無技術背景的用户也能在開發平台上通過預置的各種組件和用於規劃業務邏輯的一套工具,自由的組裝成所需的各種業務系統。這種開發方式規避了軟件公司的研發費用,使一套信息化系統的成本降低到每年幾千元。

研發一套無代碼開發平台並基於其建設“一網通辦”的紅會業務系統的綜合成本極高,根據“輕流”等市面上比較成熟的平台的經驗看,這通常需要上千萬的啓動資金,再考慮到後續涉及的推廣和應用成本,整件事情需要撬動相當大的資源量級才有可能做到。

為了籌備資源,我們從兩個方向努力,一個方向是引入社會風險投資以獲得建設資金和技術支撐,另一個方向是爭取上級領導支持以獲得推廣和應用機會。核心想法是將整件事情切割為無數個節點,每次籌集的資源剛好夠完成一個節點即可,通過高質量完成每個節點的方式不斷給予人們信心,並持續宣傳自己的理念和想法,結合歷史成績和已有的資源撬動新的資源、連接新的平台,最終形成合力促成想法的實現以及全國紅十字系統的信息化轉型。

截至發稿已籌備建設資金200餘萬元,並從國外引進了無代碼開發平台整體建設方案幫助降低研發成本。目前平台的基礎功能已初具形態,實現了界面的可視化拖拽,表單的自助製作以及工作流程的自助規劃。在世界獻血日之際,我們基於平台以無代碼方式構建的“造血幹細胞捐獻登記系統”改變了以往需電話、郵件預約的繁瑣流程。

下一步我們除了繼續推進平台的建設和業務系統的各應用場景開發外,還規劃與市級紅會聯動,在本市範圍內開展試點應用工作,實地調研需求,瞭解基層工作人員和志願者在實際工作中遇到的痛點和難點,並研究使用信息化的手段予以解決。

我們希望能自沾化區向上逐級試點、逐級推廣、逐步完善,最終構建縣、市、省、部四位一體的完整體系,各個層級的每個紅會都有專屬於自己的信息化系統,自己可以隨意定製做出地方特色、打造地方品牌,而各個系統又基於相同技術標準建造,數據天然互通,所謂形散而神聚。

如果你也對紅十字會的信息化工作感興趣可以通過沾化區紅十字會微信公眾號與我們聯繫,非常期待可以一起深入探討合作的機會以及交換各自對這件事的思考。

隨筆二:關於對待“失敗”的態度

應該意識到“失敗”是個常態化的東西,它伴隨了做事和個人發展的整個過程,應該以淡然的心態允許失敗和不及預期的事情發生,做好備案確保失敗的代價可接受,以及認真覆盤分析原因,再尋找其他的路徑,繞開導致失敗的那一個點,繼續向目標前進。

隨筆一:關於做事和發展

對於一個事情,只要看到有理論上搞出很大動靜的可能性,那麼就值得去做。
不是為了通過一件事就飛黃騰達,而是通過一個事情可以鏈接其他資源,可以帶來新的機會,可以讓自己站在更高的維度上去觀察這個世界……
先做出有價值的事情,解決困擾人羣的實際問題,機遇和發展應該是隨着這個過程,自然而然就會有的。

如何待人

現在想做點事真的不是一個人就能辦的,下到一個產品的實現,涉及到很多方面,一個人即便可以全辦了也做不到如專才般精湛,上到渠道和資源的積累更不是一個白手起家的窮人就可以掌握的。

於是必須與其他人合作,這就涉及到如何待人、如何與人相處的問題了。

目前看,有效人脈的必要基礎條件是雙方互相需要,在各自發展方向上能形成互補,離開這個基礎的交情都是酒肉交情。

對於酒肉交情可以完全隨心情而定,開心就好,不做討論。

有效人脈分兩塊,一塊是處於我上位的長者,他們位高權重,擁有資源、權力、地位,一塊是處於我下位和我一起創業的大哥和大姐們,他們都是某一方面的專才,有獨到的技能。

對於位高權重的長者,與其交往的基本條件是自身有一個足夠出彩的優勢點,可以被對方利用上。否則就是點頭之交,構不成人脈。

其次要在交往中做到慷慨、真誠以及急人所難,絕不能撒謊、推卸責任以及閃爍其詞,尤其是對待長者,畢竟混到那個位置的就沒有人是傻子,全都是人精中的人精,但凡有一點小九九都會被看穿,然後被打上一個“不靠譜”的標籤。

最後要肯定長者的優勢,並將其掛在嘴邊不能吝嗇讚美之詞,但讚美必須基於事實的前提下真心的誇讚,不能胡編亂造,那樣會顯得很虛偽。説白了也就是“舔”。但“舔”只能算潤滑關係,讓自己顯得聽話、懂事、臣服以及滿足長者的虛榮心,絕不可能只靠“舔”來維繫一段關係,最終還是要靠自身的優勢點。

對於和我一起創業的大哥大姐們,他們在意的是一份希望、一份事業以及一份不錯的收入。

我需要將未來前進的道路全部理清楚,規劃好,並結合過去取得的成果一起讓大哥大姐們看到咱們正在沿着道路前進,雖然不知道最終目的地在哪,但進度肉眼可見。

在這個前提下對待他們必須像對待親人一樣,他們的事情就是我的事情,所有的錢也都分給他們,尤其是起步階段資金不充裕的情況下能至少讓他們的現金收入不輸給在公司坐班。

我需要讓大哥大姐們相信,我時刻想着他們,護着他們,我的東西就是他們的東西,他們的痛苦就是我的痛苦,我不會欺騙他們、不會辜負他們更不會忘記他們的功勞。

只有真心實意的待他們並讓慷慨大方成為自己的習慣,他們才會真心待我,也才會相信我真的是和他們一起做一份事業,而不是靠畫餅忽悠他們衝上去,最後到了分蛋糕的時候再都踢了。

一個團隊遇到事情,每個人各懷鬼胎的互相甩鍋求自保和大家無所顧慮的只考慮事情的出路,其效果一定是不一樣的。

一個穩定的、忠誠的、可靠的以及有能力做出優秀產品的團隊一定是一切故事的起點。

最後的最後,商場如戰場,對待同行及有競爭關係的人,勢必會有勢力範圍的爭奪以及背後的運作,也勢必會得罪一批人。我不能因為想做個老好人就放棄眼前的機會,更不能執着於愛恨之念就優柔寡斷,所以在這種情況下,即便會損害他人的利益並承受可能的報復我也還是會果斷的去做。最後雙方只能是在“我知道你知道我知道”的前提下,不撕破臉,留一線日後好相見了。

使用 devstack 部署 openstack zed

前言

最近我老師投資了一個教育平台的項目,我需要負責具體的實施,其中包含了線上實訓模塊,簡單來説就是為每個學生開設一台雲電腦來完成實訓任務並收集成果來評分。這就要求平台具有開設“雲電腦”的能力,也就是説需要有一個雲計算集羣作為支撐。考慮到這個項目後續大概率會封裝成可私有化部署的產品賣給各個學校,所以這個雲計算集羣也得能本地化部署才行,不能依賴阿里雲這樣的公有云服務,於是我只能悶頭研究下和我的專業相差略遠的 openstack 了。

老實説,像 devstack 這種一鍵安裝腳本是不需要專門寫一篇文章來記錄如何使用的,但奈何天朝的網絡環境各種的牆,導致這個腳本我跑了好幾天,那種每走一步就碰見一個報錯的痛苦可能沒人會懂。

硬件準備

一台空的 PC、一台 x86 服務器或者一台 VMware 虛擬機都可以。

如果是VMware虛擬機的話記得開啓虛擬機處理器的“虛擬化Intel VT-x/EPT 或 AMD-V/RVI(V)”功能。

操作系統

我使用的是 Ubuntu 22.04,這也是截至目前 zed 版官方推薦的操作系統。

添加 opentsack 用户

需要創建一個專門的賬號來安裝和運行 openstak 服務

sudo useradd -s /bin/bash -d /opt/stack -m stack
sudo chmod +x /opt/stack
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
sudo -u stack -i # 切換到剛創建的用户身份上以執行後續操作Code language: PHP (php)

前期準備

網上一些教程會讓換掉 Ubuntu 的軟件源和 Python 的 PIP 源,但是我並不建議這麼搞。第一是官方源目前在國內訪問速度非常不錯,第二是第三方源會出現各種莫名其妙的錯誤,比如説之前用華為的 PIP 源就會報各種依賴錯誤。

需要真正解決的網絡訪問問題主要集中在以下兩塊:

  1. 從 GitHub 拉取倉庫
  2. 使用 wget 下載 GitHub 及其他被牆資源

我嘗試過很多解決方案,這裏就不羅列了,只説一下最根本的方案:為 git 和 wget 分別配置代理。

我採用的是在 PC 機上先使用 ShadowsocksR 配置 SSR 代理(這一塊不會配的就百度搜吧),然後在 ShadowsocksR 的“選項設置”中勾選“允許來自局域網的連接”。

之後在服務器上執行以下四條命令讓 git 和 wget 命令可以使用 pc 機上配置的代理服務:

git config --global http.proxy 'socks5://192.168.0.197:1080' 
git config --global https.proxy 'socks5//192.168.0.197:1080'
export http_proxy=http://192.168.0.197:1080
export https_proxy=http://192.168.0.197:1080Code language: JavaScript (javascript)

之後分別進行測試:

wget https://google.com
git clone https://github.com/litepress/wp-china-yesCode language: PHP (php)

這兩條命令必須都成功執行才行,否則 devstack 的執行 100% 會報錯的,所以説如果測試不通過就回去研究為什麼出錯吧。

運行 devstack

解決網絡問題後事情就很簡單了,這裏我直接把 openstack 官方的文檔大段貼上來。

下載 devstack

git clone https://opendev.org/openstack/devstack
cd devstack
git checkout stable/zed  # 切換為 zed 版Code language: PHP (php)

創建配置文件

在 devstack 目錄中創建名為 local.conf 的文件,內容為:

[[local|localrc]]
ADMIN_PASSWORD=管理頁面的 admin 密碼
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD

# 這裏使將來 openstack 的虛擬路由器橋接服務器物理網卡,這樣安裝後雲服務器就可以上網了,並且只需要物理機有一個網卡即可。
PUBLIC_INTERFACE=ens6f0 # 要橋接到的物理機網卡
HOST_IP=192.168.0.242 # 物理的 IP
FLOATING_RANGE=192.168.0.0/24 # 物理機網卡的網段
PUBLIC_NETWORK_GATEWAY=192.168.0.254 # 物理機網卡的網關
Q_FLOATING_ALLOCATION_POOL=start=192.168.0.100,end=192.168.0.200 # 要為雲主機分配的地址範圍(之所以不全分配是因為網絡裏還會存在其他設備,為了防止衝突才專門規劃出一部分給雲主機用)
Code language: PHP (php)

開始安裝

./stack.sh

安裝完成

安裝腳本應當一次性執行成功,成功後會在終端輸出類似如下內容:

This is your host IP address: 192.168.0.242
This is your host IPv6 address: ::1
Horizon is now available at http://192.168.0.242/dashboard
Keystone is serving at http://192.168.0.242/identity/
The default users are: admin and demo
The password: 你設置的管理頁面的 admin 密碼

Services are running under systemd unit files.
For more information see: 
https://docs.openstack.org/devstack/latest/systemd.html

DevStack Version: zed
Change: 211cc4c036b6cb13598b87e6e3bbc3c74538a902 Pin tox<4.0.0 for <=stable/zed branch testing 2022-12-09 02:54:44 +0000
OS Version: Ubuntu 22.04 jammy

2022-12-20 20:28:27.268 | stack.sh completed in 1738 seconds.
Code language: JavaScript (javascript)

切換存儲盤

很多服務器系統盤是和磁盤陣列在操作系統內是兩塊設備,openstack 默認會將系統盤作為存儲盤。

想切換存儲盤首先需要在新磁盤上創建 LVM 卷組,參見:CentOS 6中創建及管理LVM邏輯卷 – 壞蛋的博客 (ibadboy.net)

之後編輯文件:/etc/cinder/cinder.conf 文件(openstack 卷服務的配置文件)。

將存儲後端 lvmdriver-1(默認存儲後端)的卷組修改為剛創建的新卷組即可。修改完類似如下:

[lvmdriver-1]
image_volume_cache_enabled = True
volume_clear = zero
lvm_type = auto
target_prefix = iqn.2010-10.org.openstack:
target_port = 3260
target_protocol = iscsi
target_helper = lioadm
volume_group = data # data 就是新創建的卷組,只需要改這一行即可。
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_backend_name = lvmdriver-1

Code language: PHP (php)

之後重啓服務器即可生效。

常見問題

物理機重啓後無法創建雲服務器,一直顯示“正在調度中”

該問題是由於 nova(openstack 中負責計算的組件)的部分服務沒設置開機自啓動導致的。執行以下命令即可:

sudo systemctl start devstack@n-sch.service
sudo systemctl start devstack@n-cpu.service
sudo systemctl enable devstack@n-sch.service
sudo systemctl enable devstack@n-cpu.serviceCode language: CSS (css)

物理機重啓後無法連接網絡(僅能 ping 通自己,無法 ping 通網關)

這是由於 devstack 在安裝時會創建一個橋接網卡 br-ex,但該網卡的 IP 配置信息並未寫到網卡配置文件中,所以重啓後 IP 丟失,自然網就不通了。

這裏以 ubuntu 22.04 為例,編輯文件:/etc/netplan/00-installer-config.yaml,最後效果如下:

# This is the network config written by 'subiquity'
network:
  ethernets:
    eno1:
      dhcp4: false
    eno2:
      dhcp4: false
    ens6f0: # 被橋接的物理網卡,一定要在配置文件中寫出來,否則會被禁用。
      dhcp4: false
    ens6f1:
      dhcp4: false
    br-ex:  # 這裏是 devstack 創建的橋接網卡,按正常網卡那樣配置地址信息即可。
      addresses:
      - 192.168.0.242/24
      routes:
      - to: default
        via: 192.168.0.254
      nameservers:
        addresses:
        - 114.114.114.114
        search: []
    
  version: 2
Code language: PHP (php)

應用網絡更改:

sudo netplan apply

現在可以上網了。

中國承受不起俄羅斯戰敗的代價

最近發現網上有很多的漢奸、走狗、間諜以及各路50萬在那宣傳諸如”支持烏克蘭抵抗侵略者”、”烏克蘭在捍衞國家主權”、”俄羅斯侵略者必敗”、”我們需要和平”等等的言論,更有甚者把沙俄侵佔中國領土的舊賬翻出來,勸説人們要謹記俄國不是好東西——它在歐洲擴張完下一個就是中國。

在我看來,所有這些言論都在試圖掩蓋真正的矛盾。

我認為最底層的矛盾在於中國和俄羅斯崛起的現實需求與美國的霸主地位相沖突,而美國為了遏制中俄發展所採取的手段才是現如今一切問題的根源。

北約東擴事實上的壓縮了俄羅斯的生存空間,俄羅斯開戰也只是出於自衞,就好像中國的抗美援朝一樣.倘若聽之任之,則今日割五城,明日割十城,然後得一夕安寢。起視四境,而秦兵又至矣。

一旦俄羅斯戰敗,伴隨着經濟制裁和疫情帶來的動盪,俄羅斯國內反對普京的勢力以及西方的滲透勢力會一起作祟,其結果必然是俄羅斯政權顛覆甚至解體。

屆時,中國不但要獨面北約,甚至有領土被四面合圍的風險。

此時,中華民族的復興從何談起?

所以説,中國承擔不起俄羅斯戰敗的代價。

既然開戰,就必須要贏。任何支持烏克蘭、強調主權獨立以及要求俄羅斯撤軍的言論都是漢奸走狗的言論——自己民族生死存亡之際,還要去關心他國的主權獨立?

況且,就像前面講的,戰爭的責任真的完全在俄羅斯嗎?難道不是北約把刀子頂在俄羅斯腦門上在先嗎?這樣逼着別人反擊再把侵略的髒水潑過去的手法不可謂不噁心,既當婊子又立牌坊。可以説當今的所有問題根源都在於美國的霸權主義,如果美國不搞北約軍事集團,不擠壓其他國家的生存空間,老老實實和平發展,不去耍這些流氓手段,還會有這些問題嗎?

至於細數沙俄罪行的那些言論就更加不值得反駁了。難道忘了江東吳狗背刺關羽的事情了嗎?和今天你們的劇本豈不是一模一樣?

雖然中國政府一再聲明不結盟政策,但如果俄羅斯不能速敗烏克蘭,我估計政府還是會對其進行援助,無論是經濟還是軍事。而如果戰事曠日持久,以致北約下場,三戰一定會開啓,我們也會捲入其中。

有時候沒得選,畢竟匹夫無罪懷璧其罪,歷史走到了今天這一步,唯有勝利才是出路,任何的”忍一時風平浪靜”都是在慢性自殺。

而如果俄羅斯勝了呢?它將在未來的幾十年裏繼續在歐洲幫我們吸引火力,此時我們才能説去搞經濟建設、去賺小錢錢。

不知不覺間,到了決定民族命運的歷史時刻,真沒想到會在我有生之年碰上。

補充一下,今天又看見一羣人在那滿口仁義道德、普世價值。讓我想起來狼人殺這款遊戲,一開始跟你稱兄道弟分化你和你隊友,最後等你隊友都死光了再呲出來一句:對不起,我是狼人。

精明者充其量只能是暴發户煤老闆

時常想起小時候長輩以及那些早熟的同伴所告訴我的:長大了就要帶上面具,要變得世故,要學會皮笑肉不笑。

以及過年回家時夥伴眉飛色舞地跟我描述他在學校裏如何城府又如何與學生會“打關係”。

現在回想起來,這些可真是來自一個小市民的精明啊。

我認定的是,如果想有哪怕一丁點作為,最基本的要求就是:“急人所難,誠以待人”。

若是搞的跟半仙一樣的神乎其神,或是執着於玩“言語上的藝術”,相信不會有人願意與之接觸。

人與人相處畢竟是長期的過程,騙得了一時,騙得了一世?

又或者,一個剛出社會,有樣學樣,毛都沒長齊的小屁孩,學人家去“世故”,在那些飽經世故的長者眼裏,怕不也是個笑話。

這些長者手裏握住了大部分的社會資源,想要得到照顧,在自身對其有利用價值的基礎上,最基本就得做到真誠,我實在無法想象會有人願意把資源分享給學生會里耍慣了官威又學的油嘴滑舌的各個部長們。

如果將來我有孩子了,我想我會從小教他要正直、善良、勇敢,雖然短期看也許會吃虧,但一個人的品行養成是長期的過程——如果習慣了做一個精明的市井之人,那麼也就不可能在短時間內變得大方且“糊塗”。

時常想到,在我成年的這個時代裏,改革開放的紅利已經消耗殆盡,此時想從底層白手起家爬上去,就只能實打實的去拼綜合實力。類似我爸爸所信奉的“機會改變命運論”我是從來不看好的。

我不相信有一次兩次的機會被抓住或錯失了就足以改變我的人生軌跡,我相信的是每個人的成長應該是一個綜合的體系化的工程,應該全方位積累並步步為營,在打下一個基本盤的同時爬上下一個台階,每個基本盤打下了也就不會掉下去,錯失一兩個機會也不會影響我,因為既然選擇了全面積累、穩紮穩打的道路,也就意味着我的戰略迂迴空間足夠的大,並不會被一兩次失敗打倒,就好像羅永浩造個錘子沒造出來,他去睡天橋了嗎?

如果要全面積累,那麼個人品行無疑是其中很重要的一環。我能忍受多大的屈辱、我能“糊塗”成什麼樣,以及我能多大程度上的去“急人所難”,都最終與其他因素一起決定了我此生能走出去多遠。

一輩子很短,我絕不要做一個蠅營狗苟的精明者,我要成事,成大事!

一切應當是可預測的

我覺得現實世界的一切都是可預測的。而造成不可預測的根本原因是信息偏差。

下面舉一個極端的例子。

人們潛意識裏覺得“我就是我”,認為自己的意識由自己支配。但本質上講人的思維和意識是大腦中的一系列複雜的生物化學反應產生的結果,也就是説意識取決於產生反應的物質。而物質是可預測的,我們可以知道哪種元素和哪種元素之間融合會產生何種反應。

也就是説,“我”並不是“我”。我的想法,只是化學反應罷了,這些化學反應,受到此時此刻的變量影響必然會產生,而不由我主。

綜上可知,人類當前的每一次進步都是物理化學反應在主導,是反應導致人們做出一個決定,而決定產生了後果,當我們掌握了期間所有演算公式時,我們將可以在知道初始變量的情況下通過計算得出事件的結果,這將會是一個邏輯關係。

由此向前聯想:人類當今所獲得的一切成就都可以推到當年第一個走出非洲的猿人的大腦中產生的某些反應,是這個反應致使它做出了這個決定,而它的決定則產生了後續的一系列後果。

再向前推:第一個生命是如何產生的?組成第一個生物的分子團是如何聚集的?他們或許來自四面八方,也可能來自外星,但我們可以肯定的是,這些分子一定都有他們各自的來源而不是憑空產生的,他們之所以會聚集於此也是受了“因”的影響。如果我們能準確的復刻這個“因”,那麼我們就可以重複觸發這一演變過程。

再向前推到極點:宇宙大爆炸時。如果我們知道了宇宙大爆炸的所有初始變量,以及每一種物質的所有化學物理反應所產生變化的機制,那麼我們就可以通過不斷的演算來推導出所有的一切了。

之所以我們現在做不到,就是因為前面説的“信息偏差”。我們既不知道宇宙大爆炸時的所有變量信息,也不知道其中所有物質的變化機理,所以我們無法完美預測這一切。

這就好像玩類似《鋼鐵雄心》這類即時戰略遊戲,即便是一個普通的大學生都可以從容自若的掌控一個虛擬的國家,但現實世界中掌控一個國家並不容易。

我覺得根本原因除了遊戲對現實來講縮略了很多東西外,更重要的是遊戲中把所有類似穩定度、財政、軍隊這類的信息都具象化為了直觀的數字,1就是1,2就是2。而現實中的國家則比這複雜得多,就比如二戰時國軍廣為詬病的吃空餉問題,老蔣根本不知道他手裏究竟有多少兵,因為虛報太多。這些虛假的數據最終影響了決策,從而導致現實中對事物的預測經常發生偏差。

人的一生軌跡從一開始便已註定。只不過因為我們還不能掌握所有信息以至於對此進行精準計算,於是這留給了我們希望以及無限的遐想空間。

正確的廢話

有時候發現能正常交流的人實在是不好找,大部分人探討事情是不會聯絡上下文和外部環境的,於是就會説一些在短期內或理論上無比正確,但聯繫到所面臨的實際處境卻又接近於廢話的話。

舉個例子,就是關於二戰史的一系列探討。

有人説:德國對猶太人和斯拉夫人滅絕的政策是樹敵的行為,甚至連一開始親德的烏克蘭都給逼成親蘇了。德國應該善待猶太人和斯拉夫人,這樣道義上沒有瑕疵又可以獲得大量人力。

還有人説:德國應該先整合佔領區資源再進攻蘇聯,這樣才能多一份勝算。

也有人説:德國應該集中兵力一舉拿下莫斯科,而不是南下分兵基輔,這樣才能一舉擊垮蘇聯。

單看以上三個觀點,可以發現他們説的都是無比的正確,單從文字和文字展現的邏輯上看,找不到一點破綻。但這三個觀點都是典型的前面講的“不聯繫上下文和外部環境”而做出的看似正確的判斷。

這樣的判斷和建議毫無價值。以下列舉一些外部環境因素來簡要説明上述三條建議不可行的原因。

對於建議一:納粹黨發家靠的就是種族主義,煽動仇恨、轉移矛盾,況且猶太人的資金也是納粹經費的重要來源,讓納粹善待猶太人和斯拉夫人這根本就是先有雞還是先有蛋的悖論。

對於建議二:蘇德完全不是一個體量級的,時間站在蘇聯一邊,而不是德國。如果德國在38年就打下了歐洲,那麼我相信38年希特勒就會趁着蘇聯剛完成大清洗就直接發起進攻,而不是再等一等,等着整合佔領區。況且蘇聯已經在1940年逼迫羅馬尼亞吐出了比薩拉比亞等地區,而羅馬尼亞作為德國的石油來源,可謂是底線所在,有理由相信當蘇聯從大清洗中恢復過來並完成新一輪擴軍後會主動向德國發起進攻(大概率在1943年,也就是説德國也沒時間整合佔領區)。屆時,德國不可能抵擋蘇聯的鋼鐵洪流。擺在希特勒面前的其實只有一條路:趁他虛要他命,早下手為王,晚下手遭殃。

對於建議三:下面貼的是一張基輔會展前的東線戰略地圖,可以很明顯的看到,蘇聯在烏克蘭是存在一個很大的突出的,這直接威脅到了德國中央集團軍羣的側翼。況且不談這一層,就單説德國糟糕的後勤補給都很難讓德國能比歷史上更早的發起莫斯科會戰。更何況莫斯科丟了蘇聯就投了嗎?未必,恐怕要打到烏拉爾山脈才能徹底幹趴蘇聯。

毛主席説:“沒有調查就沒有發言權”,並非是他老人家剝奪這些人講話的權力,而是這些人所講的廢話和給出的廢建議,一是浪費時間,二是讓問題複雜化,綜合起來看可以説是嚴重的影響交流的效率。如果再摻上一絲莫名其妙的優越感和藉此對他人的貶低,則效果更是奇佳。

所以我覺得指點江山,激揚文字之前,稍微瞭解一下事物的背景和彼時周遭的外部環境再下結論不遲。急於表現而不加調查便想當然的給出的建議很多時候只能算廢話,雖然單從字面理解可能會無比正確。這就好像逢人便勸:你要善良。

我覺得這篇文章並不是預示着我是一個油鹽不進,一條路走到天黑的“不可説服者”。

我覺得我還是很講道理的,我會把我觀點連原因帶結果成體系的講出來,同時我也非常渴望有效的交流,但很多時候的交流是無效的,能收穫到的只有對方因想當然的給了很多廢建議而萌發的莫名其妙的優越感所給我造成的不適。

為什麼會堅信自己肯定會成功?

以前經常聽到一個觀點:成功屬於膽大的人(非原話,但意思相近)

我以前覺得老闆勇於承擔風險,所以他享受高額的回報,這或許是一種“膽大”的體現?

但現在我的看法變了。這本質上不是“膽大”,而是他們看到了別人沒有看到的東西,是這些因素綜合在一起經過推理後他才認為他一定會成功,於是他才敢於投入資源去實現想法。

沒錯,我現在認為成功是可預期的,是一種大概率事件,而失敗則應該是和不可控的自然災難一樣是一種小概率事件。

之所以創業失敗率如此之高,我覺得是因為很多人並沒有真的看清前方的路,而是抱着“賭一把”的心態就上路了。這種賭博就完全是碰運氣了,而具體化到做事業這件事上,運氣成分所起的作用基本可以按0%來算,因為事態瞬息萬變,一次運氣好,能十次都好嗎?所以這些抱着“賭一把”以及靠運氣的人是100%會死在半路的。

這些人成功拉高了創業失敗率。至於缺人脈、缺經驗,所有這些都是沒準備好且沒看清就上路所產生的實際病症而已。

而那些創業成功的,除了從雞生蛋蛋生雞開始一步一步積累的外,但凡是進行了一定程度的長遠佈局的,一定是見識和思維上遠超常人的,而不存在運氣成分。

老天對每個人都是公平的。

所以我覺得,認清自己手中的牌、明確的知道行業的痛點以及能看清當前的局勢,就能基於這些在引入對人性和世界運作的基本規則的思考後經過一環套一環的推理來勾畫出未來的藍圖,以及通往這一藍圖的路,所有大的因素應當在設想階段就考慮到,其他細節可以起步後再解決。

有了清晰的認識和明確的規劃後就一定不會失敗,唯一導致失敗的可能是:天災、政策突變、人為的數據丟失、某一競爭對手迅速崛起等小概率的異常事件。

於是,呼應了開頭所説的:“成功是可預期的”。我們可以在早期推理階段就預示到一定會成功,這樣當面對挫折的時候我就會想“這不符合邏輯呀,一定是出現了某些意外情況導致的”而不是渾渾噩噩的覺得“我真不行”,於是我們就會有勇氣繼續走下去以探索清楚挫折背後的成因,並在更正這段曲線後繼續沿着既定線路前進。這裏的勇氣也就不是因為膽大,而是因為對事態發展有明確的預期。

即便不幸,碰到了小概率事件,往往也不至於就深陷牢獄或就此殞命,我們還應該有大把機會可以嘗試。

將整個維度拓展到人的一生後,在幾十年的跨度裏,一兩次失敗所浪費的數年時間也可以弱化為前面所説的“直線中的一段曲線”,只要更正就好了。一次兩次不幸運,三次四次也會?不可能的,這就和不可能純靠運氣成功一樣,我們同樣不會單純因為運氣而一直失敗。

所以,綜上所述,成功是一種必然,是可以通過邏輯推導出來的可預期的必然。

WordPress在中國為何不温不火?

這篇文章主要是梳理下我自己的想法,如果你有不同的看法歡迎留言交流~

我個人覺得有下面幾個核心問題。

一、中國的大環境並沒有為GPL的開源模式做好準備

這一問題是國情和大環境所致的,短期內沒有改善的可能。

其具體產生的影響主要是以下兩點:

1、本土生態資源匱乏

wordpress.org的應用市場強制只能上架GPL應用,這導致中國的開發者不得不構建自己的私域流量,對於沒有流量積累的小開發則將舉步維艱。

開發者的匱乏直接引發了惡性循環:沒開發者->沒生態資源->用户因此而排斥->沒開發者。

幸好WordPress有豐富的全球生態為我們補血,這才能在生態這一環多少進行一些彌補,這也才沒讓WordPress在中國很快凋零。

2、中文翻譯匱乏

極少有公司願意付出成本讓自己的僱員帶薪翻譯WordPress生態資源。

這些生態資源幾乎都是靠某些插件的用户因為自己用到了所以才會去順手翻譯,而對於文檔這種自己用不到的東西則完全沒動力翻譯。同時我們統計,目前wordpress.org上的插件和主題的漢化率僅為7.8%,仍有高達400餘萬條原文等待翻譯。

二、WordPress錯過了中國以微信互聯網為代表的公眾號、小程序體系

這一問題比應用市場更加無解。

因為wordpress.org是不可能為了中國這1%的用户專門為此提供支持的。這不是壞不壞的問題,而是投入和產出比嚴重失衡。

未來PC端網頁整體市場佔有量會越來越低已經是不可逆的趨勢,傳統APP在中國因為小程序的異軍突起而干擾了其在中小企業中的應用,而WordPress的用户羣恰好也是中小企業。於是對於WordPress來説,通過APP來擁抱移動互聯網,在中國幾乎是死路。只有小程序和公眾號才是唯一通往移動化的可能。

論跡不論心,論心無完人

之前很多人説我做 litepress.cn 這個項目無非是為了流量,也有人説我如此大肆宣傳,其心叵測。説的其實有道理,我確實是為了我自己為先,我完全可以承認這些。

但是仔細想想,你們會不會也對別人要求的太高了?我所能做的,僅僅是儘可能的探索與他人合作共贏的機會,以鋪開我前進的路。我不會花大量時間做純“利他”的事情,除非是我舉手之勞。我是個連別人看起來很正常的“上班”都極度反感的人。除開小時候在工地打了幾天暑假工外,我至今沒坐過一天班。我絕不會把我的時間和精力放在任何無實際意義或追求短期利益的事情上。

我覺得我的人生只有頭30年是有效的,過了30,若衝不開階級壁壘,則此生便定格於此。我,將終生作為人類社會底層渺小的一份子,我心中有任何想實現的東西,我都無能力實現,也就只能想想。我想我臨死前必會為此懊惱,空來人世一次,匆匆而過,束手束腳毫無作為,可悲可嘆。

然後我已經猜到有人會説我“太現實”了,是個很可怕的人。這時候讓我們再搬出兒時學過的課文:

魚,我所欲也;熊掌,亦我所欲也。二者不可得兼,舍魚而取熊掌者也。生,亦我所欲也;義,亦我所欲也。二者不可得兼,捨生而取義者也。生亦我所欲,所欲有甚於生者,故不為苟得也;死亦我所惡,所惡有甚於死者,故患有所不闢也。如使人之所欲莫甚於生,則凡可以得生者何不用也?使人之所惡莫甚於死者,則凡可以闢患者何不為也?由是則生而有不用也,由是則可以闢患而有不為也。是故所欲有甚於生者,所惡有甚於死者。非獨賢者有是心也,人皆有之,賢者能勿喪耳。

《魚我所欲也》

人這短短的一生終將會失去,如狗苟之輩貪生怕死是又窩囊又無實際意義,如此不痛快的活着只為守護虛無縹緲的生命,是何道理?

又比如就拿利益來説,如果我總是過河拆橋,我總是忘恩負義,那別人將對我敬而遠之,我的理想又將如何實現?難道憑自己我自己去雞生蛋、蛋生雞嗎?不,這樣我需要幾代人的積累才可以。我必須通過與他人交換資源,借力打力的方式才可以在30-21=9年內衝開階級壁壘。

我想,正是因為我明確的知道我想要什麼,所以我才會為此盡力維護每一個與我有交集的人的利益,所以我才是可靠的。若是行事風格隨脾氣好壞而定,亦或是僅憑喜好及一時衝動,那便真是讓人體會“伴君如伴虎”般的捉摸不定。

於是我對某個人或某個羣體的“好”都是有目的的。不過,也正是因為我多了這一層思考,所以我才意識到有一個強大的規則力量約束着我必須好好對待每一個人,若我對規則置之不理,則反噬的將會是我自己。但若是因我打了這些“小九九”便斷言我是個“小人”,那豈不是小孩子過家家的思想?

甭管我是怎麼想的,多看看我是怎麼做的吧。

總結一句話:凡事論跡不論心,論心無完人。

我畢業了

作為一個極致的垃圾差生,我上了兩遍中專,直到最近我周老師打電話問我畢業證還要不要了,我才意識到我正式成為社會人兒了。

回想起來這十幾年讀書的經歷,我是真真的覺得學校不適合我。我甚至直到今天都不知道學校單在知識層面能帶給我什麼。所以,競賽換來的省內春考本科免試的機會也放棄了,因為感覺去再念這四年除了浪費時間外對我就沒啥實際影響了。

從初中開始,我就是要麼在老師講桌旁,要麼在最後守着垃圾桶。這倒也愜意,尤其是坐在後面的時候,我可以隨意翻弄我感興趣的計算機相關的書籍。

我對學校的厭惡來自於教條的死板。為什麼這麼多科目每一樣都要學?亦或是,為什麼我只能學課本上出現的東西?更本質的講——這真的是學習嗎?我覺得求知應該來自一個人最原始的慾望,應該在這個慾望的驅使下去探索知識,而不是像流水線上的工人一樣,被規定幾點幾分必須做什麼,如此這般的填鴨式教學,令我深惡痛絕。

可能有的人會反駁:學校就是要給我打好基礎理論知識,而基礎理論想系統全面的灌輸就必然枯燥。

這完全就是詭辯嘛。學習應該以一個興趣為切入點,然後為達到這個目標,不斷的,有目的的去了解涉及的周邊知識,逐漸深挖,最終形成體系,而不是甭管有用的沒用的全死記硬背安排上,這樣的效率低到令人髮指。

到底什麼是學有所成?究竟是能把IP轉二進制心算的精準無比、把計算機存儲的定義倒背如流,還是通過初步的廣泛瞭解後,能將知識成體系的串聯並靈活的利用文獻資料和工具解決現實中的問題?

學校會告訴我,全都背下來才是學有所成。但我知道這是胡扯,所以我發自內心的抵抗,我拒絕如此做無用功。

如今的教育模式,源自於當初的新中國掃盲運動。來自蘇聯的填鴨式教學法對於羸弱的新中國來講是當時性價比最高的方案,所以才被採納,而不是因為它有多麼出眾的實際教學效果。隨着中國物質逐漸豐富,教育資源普及,填鴨式教學必然會被取代,國家倡導素質教育也倡導了好多年了。所以大可不必為填鴨式教學鳴不平——它若真的好,還會提倡素質教育嗎?

也許對於一個無父輩積累的我來説,失去了大學這個土壤,我會錯過和很多有趣的人,也會錯過很多機會。

但是不怕,海闊憑魚躍,天高任鳥飛。世界這麼大,豈能沒有我的一席之地?

這些年,噴我的人,我一雙手已經數不過來了。有人説我異想天開,還有人説我格局小、視野狹隘,也有的人説我幼稚、無知、什麼都不懂。

但,我不想過多的解釋,我知道很多事需要時間的沉澱才能證明其價值,雖千萬人吾往矣。

WordPress的市場很小,為什麼值得投入精力

我想起來幾個月前找開發人員的時候,聽見最多的觀點(或是叫嘲諷)就是:不要把WordPress説的很牛逼,這是很落後的東西了,大公司沒人用的。隨後就是類似大併發、微服務、SpringBoot等等的概念和名詞。

他們説的其實是對的,WordPress的架構還是十多年前的,不談什麼分佈式之類的,就單説單體架構中流行的MVC設計模式WordPress都不支持。模板引擎也沒有,都要自己手工在HTML裏面嵌入PHP代碼。當然這裏提到的MVC和模板引擎甚至於分佈式架構在WordPress中都有相應的解決方案,只不過是第三方的。

WordPress的應用領域也確實是中小公司,大公司沒有用它來做核心業務的。

這些説的都沒錯,都是WordPress的弱勢,但卻忽略了WordPress的優勢——近乎於壟斷的全球CMS市場佔有量、完善的生態體系,以及中國市場下的萎靡不振。

以上三點合起來就是機遇。

為什麼WordPress在國外可以近乎壟斷,但是在國內卻萎靡不振?如果解決了這個問題,那麼依託WordPress近乎變態的生態儲備也許就可以在中國複製其在全球市場的成功。

同時WordPress是GPL 2.0協議授權的,法律上的障礙也近乎於沒有。

但即便複製了成功,在web 2.0的末班車上,留下的市場增量空間還有多少呢?

這個問題我覺得得分成三點來看 :

  1. 一個人很難一步登天,僅靠一個idea或一個項目就實現自己的理想,更多情況下要靠一個又一個跳板去往上跳,而每個跳板則可能都是完全不相干的項目。這其實並非是不想,而是存在一個叫“資源邊界”的東西在限制着每一個人。就好像井底之蛙一樣,如果他不先跳出井口,他怎麼會知道大千世界都有哪些機遇?於是現在,有一根繩子從井口伸了下來,我想順着繩子爬上去,想去看看外面的世界,然後一羣其他的青蛙在嘲笑:你就這點兒志向?我們是想直接吃到一隻天鵝,而不是和你一樣爬到井口舔蒼蠅。
  2. 這將為我打造一個根據地。所謂人窮志短,我很難相信一個人在持續的貧窮中可以堅持遠大理想。當然,或許有神人做到了,但那肯定不是我。況且一個企業需要很成功嗎?不需要呀,哪怕能服務好100個優質客户,就可以活的很滋潤了,並不是都要像滴滴一樣壟斷全國的網約車市場才能好好活着。於是,如果這次成功了,我打下了自己的根據地,那就可以以此為根基別做良圖,就像前一條説的,人生是踏着一個個跳板上去的,而不是一步登天。
  3. 一個一無所有的普通人,究竟是類似17年的共享單車這種巨頭重重且重資產的行業的機會大,還是類似WordPress這樣市場需求存在,且有天賜之機遇,但巨頭看不上的市場的機會大?或者不談機會,就只説:一個普通人在哪個戰場上能最基本的生存下來?

以上三點總結一下:對於一無所有的普通人,得先有自己的根據地,然後以根據地為基礎一步步向上跳,每次起跳都是一次資源邊界的突破,換來的是更廣闊的眼界和格局。而WordPress提供了這第一跳的可能。

理想可以遠大,但是具體執行方案還是要務實為主。