Posts

做博客,除了内容,你什么都不应该关心

马自达被誉为「东瀛宝马」的称号,其精髓就是追求「人马一体」的驾控奥义。在我看来,他们就是把车做得存在感极低,才能配合驾驶者的随心所动,就像操控意念一样。我虽然不是马自达车主,但对这种理念深有体会。
多年以前我也是个手机狂,那也是百花齐放的时代(马得暴露年龄),不像现在几乎所有手机都是一个样子,操作也极其相似。我对各个厂家不同造型和操作系统的手机充满新鲜感,所以经常买来一个玩几天就再卖掉再买另一个,频率最高的时候一个星期换了三次手机。直到我遇到Palm。它发布过基于PalmOS的手机,后来换成webOS,我当时用的就是一台基于webOS的Palm Pre Plus,这台手机终结了我频繁换手机的习惯,一用就是两年多。这里我不用说webOS有多好(它当然很好),就是从这里我找到了「人机合一」的体验,也就是说,我已经感受不到它的存在,因为它是我的器官延伸,需要任何帮助几乎都唾手可得,在使用者和手机之间已经不存在机器本身、界面交互、色彩等等,只是很直接地就能给出我想要的信息。

现在开始写自己的博客,就像我以前分享过的一个观点,很多新人会讨论网站设计中的图片、色彩、动效,会讨论域名、主机空间、安全、备份,会讨论SEO、友链等等,这其实都是网站刚出来的时候大家讨论的东西,鲜见有人讨论打算做什么内容,比如如何写出好文章。如果在博主和博客之间还需要花精力去关注网站的主题、域名、空间、安全等等,这可能不能很投入去维护一个纯粹的博客。同样地,在读者和博客之间还需要把关注放在主题、字体等等上面,这可能并不能很直接地向读者传达博主的思想。因为读者的时间很宝贵,他们花费时间点开一篇文章,我们都希望能在最短的时间内直接地向他表达自己的想法,能引起共鸣并产生交流就更难得了,但在传播过程中干扰了读者的思路、不能尽快地、尽简洁地表达自己,那么这个博客对读者就不够友好。

我见过IT行业里面有很多真正的大牛,拥有非常多优秀内容的博客,几乎都是很采用简单的Wordpress或者干脆就记录在像CSDN这样的第三方平台,他们自己不需要去关心哪里的主机快慢、中国能不能访问、稳定性安全性如何、空间域名是否支持银联或者支付宝付款等等问题,只是很执着地做着内容,剩下的全部交给服务商,也许正因为有这种专注才能做出好内容,这也是IT领域中serverless架构要达到的效果。

现在免费资源这么多,想建个网站实在是太容易了,想要静…

让Github Actions自动构建Hugo博客

自从Github Actions发布之后总想找机会一探究竟,今天花了点时间终于在本站上配置好了,总体上和Gitlab的CI/CD比较相似,顺便记录一下。


准备工作
创建一个repo,或者使用已有的,我这里使用的是top.github.io。在这个项目中新增一个分支,例如名称为hugo,这样做的目的是Hugo源码使用这个分支,最终生成的HTML使用master分支。以后只需要在hugo分支中更新文章,提交之后Github Actions会自动将生成的结果提交到master分支,而master分支是默认托管在Github Pages的,所以就实现了在Github上的CI/CD。

Github Actions配置文件
创建.github/workflows/build-deploy.yml文件:
name: github pages

on:
push:
branches:
- hugo # 让Actions只检测这个分支的提交

jobs:
build-deploy:
runs-on: ubuntu-18.04
steps: # 多个步骤如下表示
- name: Checkout master
uses: actions/checkout@v1

- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: 'latest' # 这里可以指定特定版本,我比较随意直接使用latest
extended: true

- name: Build
run: hugo --minify

- name: Deploy to master
uses: peaceiris/actions-gh-pages@v2 # 我试过使用@v3版本,过程总是报特殊字符错误,所以使用@v2版本
env:
ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }} # 大写的这个名称记下来,后面会用到
PUBLISH_BRANCH: master # G…

应该成为什么样的技术人

前几天逛论坛看到这个帖子,楼主分享了人脸识别的技术,并给出效果演示在一定有效面部信息的情况下还能精确识别对象的身份。但是跟贴就很有意思了,大体上分成了清晰的两派,一部分人认为技术无罪,另一部分人认为这个涉及伦理和隐私不应该研究,我倾向同意第二种观点。

在中国隐私侵犯的事无处不在,以前做数据开发的时候会抓一些app的流量数据作分析,发现中国几乎所有app都存在隐私侵犯的现象,比如都会额外采集无线网络数据和设备唯一编号等信息。再想想无处不在的治安摄像头和高铁和机场的人脸识别应用等等,去年百度CEO李彦宏就说过中国人民愿意为便利牺牲隐私。所以可以看出在中国从官方到民间几乎就没有愿意为保护隐私牺牲利益的氛围。

我始终认为技术人首先是人,人应该首先具备基本的是非观念和伦理,其次才是这个人做什么技术工作。但是结合我过去的工作经历,我并不认为有很多技术人是这样。跟贴中有很多人说楼主只是分享个技术而已,楼主也说一个卖菜刀的人不需要为谁买了菜刀干什么事负责。看来面向对象的抽象思维已经深入人心,低耦合是技术思维,人不是没有伦理和感情的机器,不要这么单纯。

我看到一个回帖提醒得很好,所有人都知道菜刀可以做好事也可以干坏事,拿菜刀来比喻人脸识别技术不合理,因为人脸识别技术只会被用来干/或者助长侵犯隐私的坏事,所以可以相提并论的比喻对象是毒品,毒品也只会被用来干坏事。我想,如果我卖了一把可以做好事也可以干坏事的菜刀,有人拿它干了坏事,我肯定会有愧疚感。同样地,可以想像有人拿自己开发的技术去干了坏事,谁都应该有愧疚感。这是为人之基本伦理。

中国的技术人大多不信仰任何东西,甚至简单地认为信仰是宗教的事,这是错误的,是人就应该有信仰。信仰不是放弃相信科学转而信神,它带来的应该是敬畏之心——敬天敬人敬自己。敬天就是要尊重自然规律,不会盲目地战天斗地;敬人就是要尊重人伦社会的基本规律,不会自私和目中无人;敬自己就是要自律和自省,不会贪婪和放纵。

技术人首先要做个明白人,应该清楚知道自己创造的东西有社会价值在哪里,而不应该是一个工具,要不然和一颗螺丝钉或者一把扳手有什么区别,只能被人利用,除了增长的年龄和技术水平一无所获,不论什么时候、还做不做技术工作,脑子里面少点技术思维,多点人伦观念,会显得更像个正常人,不是很好吗?

拿到加拿大驾照了

今天第二次参加驾照路试,满分通过了。几个星期前通过了驾照的笔试之后,上个月又参加了一次路试的考试,由于东西方观念不一致没有过,很可惜但也意识到每一位驾驶者都关系到公共安全,所以驾驶者需要和当地人一样具备足够的安全意识才能参与公共交通。
笔试
笔试相对比较简单点,因为省公共保险机构(以下称机构)提供了免费的驾驶员完全手册,任何人可以在图书馆或者网上找到,考试的题目都是出自这本手册,只要够认真地学习一次,都不大有问题。试题还可选中英文,这对英语不够利索的考生也是个便利。我直接对着网上的试题复习了几遍,又粗略地翻了下书,最后顺利通过笔试。
考试的时候提前到达指定的机构并在前台报到,接下来就是等叫名字,排到之后会被请入一个透明的小房间,里面有三台电脑,我进去的时候已经有两个印度小哥在考了,好像很难,他们一直在皱眉头。打开电脑输入自己的预约信息就可以开始答题了。完成后会页面会出来结果,并且把前面做错的题目都列出来,并给出正确解答,留心的话可以看看前面错哪了。
答完题出来会被叫到一个简易的机器前面,通过透镜看里面的颜色的数字,这是为了检测考生是否有颜色识别困难,顺便也测了眼睛的视力。到了这里笔试就算基本上结束了。
驾照
通过笔试之后不用着急领取初学者驾照。因为所有人都有权在入境后的90天内使用原驾照(部分国家地区的驾照可能需要翻译,翻译件只能由本地指定机构提供),而不用换取本地驾照。初学者驾驶时身边必须有一个三年以上驾龄的人作为监督者。所以如果一旦选择更换交领取本地驾照,机构就会回收原驾照,我要是找不到天天陪我的监督者也就不能再单独开车了,所以我暂时继续用原驾照,直到考路试前再换成本地驾照,用于参加考试。
这样也有一个风险,如果通过考试就没有任何问题,机构会现场提供一张临时的全驾照,以后就可以正常开车了,正式的驾照是一张卡片,会在接下来的两到四周寄到家庭地址。但万一没有通过考试,就意味着接下来的一段时间既没有全驾照,换到手的初学者驾照也不能再让我再单独驾驶,除非十五天后再次报考并通过考试。我现在面临的就是第二种情况。
路试
这一部分曾经让很多人紧张,因为上路之后要考察的细节非常多,还要同时处理复杂的路况。这部分容许考生犯10个以下的小错,且不能有大错,否则就算挂了。小错通常是走错车道或者灯光使用或者观察不够等,大错包含严重的小错,或者超速、闯红灯等严重的行为。
路试大概的流程是这样的。考官会介绍…

2020创业阶段汇报

说来惭愧,由于家庭和个人等多方面原因,创业的过程进展得非常缓慢。但既然选择了这条路,就应该坚持到底。
在中国的时候和同事一起办过一段时间公司,不过很快就关掉了,所以并没有积累到很多非技术层面的管理经验,比如商务、财会等,来了之后一切都要从头学起。好在加拿大的法律和商业环境比较规范和清晰,也很单纯,官网提供的文档能看完基本也就没什么太多问题了。
按道理我作为创业者登陆加拿大之后就应该立即开展工作,但实际操作上官方并没有这么“不近人情”,还是给海外工人留了不少时间settle down,这个时间多少可以和孵化器协商。我希望把家人安顿好,小孩送到daycare之后才能放心一点全职投入,也得到允许,但在这之前并不能完全让项目停滞,所以我估计我现在的状态和中国国内的人是一样的,自我隔离在家办公中。
目前这个阶段首先要解决的是公司的问题,公司包括商务注册和财务管理。注册方面比较简单,可以委托律师办理,只要公司名没有重复,大概一两周就批复了,最后会收到公司的business information表。接下来就要准备公司开户的事,以后的所有投资、收入和支出都要经过这个账户。关于公司开户可以参考这篇文章最后一段:HSBC Canada 近期活动汇总。大概流程就是需要所有的股东签一份文件,在HSBC开户的好处就是即使股东不在加拿大,也可以利用其global bank的便捷属性在全球任一HSBC网点见证签字。完成之后收到账户信息就可以使用了。
另外在管理方面,为我们提供咨询服务的公司建议使用敏捷方式管理项目。以前在工作中也使用过,但自己认为还是不够专业和规范,所以最近在学习这个项目管理方式。如果有一些PMP或者ITIL的知识储备,肯定是会有一些帮助的。我知道中国的很多公司在项目管理中并不够注重配置管理,而在规范化的要求下,这个几乎是必须的。因为项目的开发通常是需要协作的,不止是技术范围内,也有需要跟孵化器或者移民局定期沟通项目进展,如果有需要也要和咨询公司沟通以制定后续的协作计划,当然最重要的是自己也需要用来报告和监控当前的项目进度以及调整项目计划。
最后是项目的开发反而不是最重要的方面,因为作为一个非技术驱动的公司,或者说不是靠专业技术攻市场的公司来说,技术就只是一个储备和基础,需要的时候能随时拿出来干活,而不需要聚焦在技术本身。对于目前我们在用的一个针对特定人群的通用性的平台说讲,现阶段用P…