Posts

Showing posts from March, 2020

让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个以下的小错,且不能有大错,否则就算挂了。小错通常是走错车道或者灯光使用或者观察不够等,大错包含严重的小错,或者超速、闯红灯等严重的行为。
路试大概的流程是这样的。考官会介绍…