作者归档:白宦成

关于白宦成

独立开发者, 自由职业者, 写作者

本站在用的一些WordPress插件

Akismet Anti-Spam

WordPress 官方出的,用于屏蔽垃圾评论的。基本上每个用 WordPress 的人都会装。

CB Change Mail Sender

一个用于修改 WordPress 自动发信时的 Sender 和 Sender Email Adress 的插件。

cos_slug_translator

将文章的 Slug 从中文转换为英文的插件。后续我会重写这个插件,更简单使用,以及发布到官方的插件市场。

Jetpack

JetPack 用于古腾堡编辑器中的新 Block

Link Share

我自己开发的插件,效果可以参考顶部菜单栏中的分享页面。

No Self Pings

用于控制自己的文章不要向内产生 PingBack

WP-Optimize

WordPress 优化插件

WP-PostViews

WordPress 访问量统计插件

一些能够帮助你更好工作的工具

今天是 2019 年 2 月 11 日,农历己亥年正月初七。
今天是新年的工作第一天,不知道你是否恢复了工作的状态呢?
我如今还在家中,并没有即时赶到深圳,不过,我今天的工作状态,还可以。今天有 6 个小时在 Coding 。
接下来,我来为你分享一下我用来让自己更加高效工作的工具。

记录你工作的时间 —— Toggl

te808
关于记录工作时间,我曾经在少数派上写过一篇文章《实践时间记录法,我都得到了什么》
在那篇文章中,我介绍了我是如何使用 Toggl 的。后续,我又切换到了 atimelogger ,来完成全天候的时间记录,不过随着使用的深入,atimeloger 的记录方法还是略有不变,我便成了如今的双轨制进行。
在 atimelogger 中我记录的是一天中的各种活动,在工作这一项目就粗略记录,以 Toggl 为准,在 toggl 仅记录工作相关的内容。
如果你真正开始记录自己的工作时间,你会发现自己虽然在 996 ,但是你的有效工作时间根本达不到这个长度。
从这个角度来说,记录时间对你有很大的帮助,可以让你发现,你的时间到底是怎么样的。

如果你也在用 Toggl ,欢迎你与我一同讨论

控制你的欲望 —— Focus

在使用计算机的过程中,我们经常会遇见一个问题,如何控制自己的手。
毕竟工作一会划划水是再正常不过的事情了。但是一划水,时间就不知不觉过去了。如何才能避开这个问题呢?
v7hwo
Focus 这个应用就是来处理这个问题的。Focus 可以将你的浏览器中的请求进行拦截,如果你访问了在 Block List 中的网站,就会显示一个包含了名言警句的页面,提醒你不要这么做。
你可以像我一样,把你自己经常用来划水的网站加入到 block list
2u838
Focus 默认的是自己设定 Focus 时间来进行 Focus 的,你也可以使用 Schedule 模式,设定每天默认的 Focus Time。
我目前的设定是工作日几乎全天 Focus
lcb4z
周末就随意划水。
如果你曾受困于社交软件、网站的吸引,不妨试试 Focus

生产力分析 —— timing

Timing 的这个软件是用来记录你的电脑上的软件打开的时长的,并可以根据你自己的设定,来计算生产力。比如我设置一些开发工具为高生产力,QQ 什么的就设置为低生产力。然后每天可以有一个生产力得分。
blcnc
借助于 Timing ,你可以知道你电脑的时间都花费在哪里了

读历史,可知兴衰

读历史,我们知道过去的人们都犯过什么错。同样的,对于我们自己的时间进行记录,可以让我们知道自己都犯过什么错。

Reference

反贪风暴2观后感

4n39o

在看了反贪风暴3 后,我觉得反贪风暴系列可能都不错,趁着今晚写代码没有状态,就看了一下反贪风暴2。

反贪风暴2的格局不如 3 更大,不过也好,如果各个都那么大,国家就惨了。

说会到剧情里,2 整体来说,看起来还是很爽的。不过在电影里,当背后的 Boss 出场以后,节奏明显快了很多,Boss 出场当天就被干掉,可以说是非常惨了。

而且那么大的 Boss 来了,竟然只带几个人。香港果然很牛逼。

在这一部里,陆威廉和刘保强开始合作,一直延续到了第三部,也还OK,算是交代了第三部里为啥俩人能合作了。毕竟生死之交。

这一部里的亮点是红星集团与李丽,对标的是深圳红十字会和郭美美。

反贪风暴3观后感

g20s5
电影海边

反贪风暴3 最早是坐在回老家的长途车上看的,在长途车上无所事事,就看一看车载电视播放的电影,播放的便是《反贪风暴3》。

反贪风暴3中正面角色有三人

  • 陆威廉:廉政公署
  • 刘保强:警察
  • 程德明:廉政公署内部侦查

反面角色出彩的便是

  • 游子新

这部剧主打的是洗钱,令我印象最深刻的是洗钱方式手段的花样繁多。

游子新组织的100亿洗钱中的种种手段,让我看到了金融背后的花样。

我曾经以为招美欣的原型是郭美美,不过后来看了反贪风暴2,才发现,反贪风暴2中的李丽才是郭美美。

这部电影由于是在长途车上看的,并不是完整版本的,中间跳过了一些,还是挺遗憾的。不过看过了的电影,除非过去很长时间,我忘记了,不然我不太可能立马去再看一遍,因为会记得后面的剧情,有意无意的给自己剧透。

让自我占据你人生的上风

今天,在回家的路上时,在听播客,在听到播客的过程中,主播(见引用1)的一句话点醒了我,让我对人生有了新的认识。

自我、本我、超我

在文章的一开始,我们先要来了解一下自我、本我、超我的意义,我在后面的讨论也将基于自我、本我和超我进行分享。
自我、本我、超我的三个概念是精神分析学家弗洛伊德(见引用2)

自我

自我是人格的心理组成部分,指个人有意识的部分。

本我

本我是人格的本能组成部分,指人最为原始的、属满足本能冲动的欲望,如饥饿、生气、性欲等。

超我

超我是人格结构中的管制者,由道德原则支配,属于人格结构中的道德部分。

自我、本我、超我之间的关系

本我跟随欲望行动,超五克制本我的发挥,确保人还是人。而自我则在二者之间求的生存。

自我、本我、超我的体现

作为一个程序员,我是有很强的欲望来去让自己的生活被一些特定的规则所规划的。我希望将我自己的生活都放在一个可以被量化的场景下。
在这个过程中,占据上风的是超我,超我象征着规则,你的一切行为都在规则之下。


作为一个普通人,我也有着喜怒哀乐,我也会歇斯底里的疯狂。我会很享受生命中的一些过程,比如性。
在这个过程中,占据上风的是本我,本我象征着原始的欲望,你的一切行为都在原始的欲望支配。


作为一个创造者,每当我开始创作(比如写作、比如编写程序)时,我的大脑会极度亢奋,以非常高的效率去做我自己所想做的事情。
在这个过程中,占据上风的是自我,自我在规则之外寻求突破(创造本身就是在规则之外做事),自我是在原始之中规整(做事来促使熵减)

倘若我们人生全部都是….

如果我们的精神让超我占据了上风,甚至是所有,我们的生活将不存在一丝波澜,你所做的任何事情都是合乎规则的,你所做的任何事情都是可以预期的,那么,这个时刻你还有什么可以做的呢?唯死而已
倘若我们的精神让本我占据了上风,甚至是所有,我们的生活将始终处于混乱之中,你所做的一切都是随机的,不可控的,你的欲望可以得到即时的满足,但你的生命也可能稍纵即逝,那么,这个时刻,你又有什么可以掌控的呢?你无法掌控任何事情,一切都由命运与随机决定。
倘若我们的精神让自我占据了上风,甚至是所有,你将真正明白,何为「自律使我自由」,你将明白,在混乱时,去追求规则;在规则中,去寻求创造。
自我,让我们能够在规则之下寻求到变通;在变通之中找到规律。拥有自我,人生一大乐事。


前一篇文章:Pay For Your Filter


One More Things
今天在听播客时,除了我所引用的一篇播客以外,还听了 Byte.Coffee 的另外一期播客,讲的是「无产阶级的财务问题」,当然,这个只是个玩笑,不做任何投资建议。
Byte.Coffee Episode 26: Financial Minimalism 财务极简
引用1:https://zh.wikipedia.org/wiki/%E6%9C%AC%E6%88%91%E3%80%81%E8%87%AA%E6%88%91%E4%B8%8E%E8%B6%85%E6%88%91
引用2: http://byte.coffee/episode-25/

创作好文章的写作方法

怎么写出好的内容,是撰写原创文章的关键所在。之前介绍的那些经验和技巧大多都是技术性的,比较易于操作,但是,创作一篇好文章,就应该考虑一下写作的高级技巧,讲求更高层次的写作经验。高级的文章写作技巧到底是什么呢?我不想照搬西方的那些理论,我想有一点自己的思考,就是按照东方的哲学思想来指导写作。

写文章和做人是一个道理,讲究德才兼备,不仅仅要有“才”,更重要的是“德”,以德为先。一个人可能很有才华,但如果缺少德行,依旧难以成为一个好作者。怎么样才能成为一个有德行的作者呢,下面是我悟出来的一些道理。

1. 利他

东方哲学“仁道”的本质是关爱他人,推崇亲和力,反对利己主义。对写作而言,多为自己的读者着想,帮助读者解决问题,传输给读者有用的资讯和技巧,个性化地写作,必要的时候要放弃一些个人利益,这就是写作的利他主义。举个例子,例如网站全文RSS Feed输出问题。虽然全文RSS输出有可能会被一些第三方聚合网站利用,损害网站自身的流量,但为了自己的读者能更加方便地阅读文章,网站就必须坚持全文RSS输出,哪怕有各种牺牲和损失也在所不惜。你对读者好,关心读者,读者自然会关心你,这就是所谓的“爱人者人必从而爱之,利人者人必从而利之,恶人者人必从而恶之,害人者人必从而害之”。

2.寡欲

每个人都有自己的欲望,有的人想出名,有的人想发财,但人的精力是有限的,不可能什么欲望都去追求。有些时候欲望还很可怕,一些人经不起诱惑,往往在冲动之下做一些不理智的事情,因此,应该有意识地不让自己产生欲望。西方有一些博客(例如John Chow)专门介绍怎么通过博客赚钱,这在西方是一个好主意,但在东方却未必。因为宣传写文章发财出名这种思想,会引发他人的一些不可能实现的欲望,如果过分痴迷和执着,往往还会害了别人。如果写作少些功利性,那作者就可以更多地考虑长远目标,进而获取一些更好的甚至是意想不到的利益。

3. 无为

无为的意思是说,做人要“有所为,有所不为”,在无为的地方应该无为,有所不为才能有所为。以道家的话来说,一个人有为还是无为的标准是“自然”。就文章写作来说,写什么样的内容就是一个选择。网站作者应该写自己擅长或喜欢的内容,不应该为了追求网站流量而写一些偏离自己网站主题的内容。对于各类“话题广告”或者各类“软文”,尽量不要写,虽然会损失一些金钱或流量,但这是值得的,只有做到有所不为,才能有所为。

4.人和

注重“以和为贵”是儒家崇尚的一种德行,对人际关系乃至团队自身的生存和发展都是至关重要的。人与人之间完全沟通和理解是不太可能的。“和”作为处理人际关系的一种原则,遵循了“和而不同”和“和而不流”这两个原理,包容不同的声音,和谐相处又不盲从。对网站而言,如果和其他网站发生矛盾和冲突,既要坚持自己的原则,也要包容对方的意见,做到“以和为贵”,努力平息相互之间的争论,而不应该写文章对他人进行人身攻击。攻击他人固然爽快,但却为此丧失了德行,可谓因小失大。

5. 中庸

中庸以“过犹不及”为核心,做人处事追求适量、守度、得当,既不过头,也无不及,不偏不倚,恰到好处。写文章也是一样,不要写一些哗众取宠、耸人听闻的文章来吸引别人的眼球,更不要四处炫耀自己的成果,例如流量有多大、收入有多高等。正确的做法是,要坚持中庸之道,追求从容不迫、进退自如的人生境界。

6. 不争

所谓“不争”,不是放弃一切,而是要以不争反立于不败之地。正因为你不争,所以天下才没有人能和你争,这才是竞争的最高境界,是“不战而屈人之兵”的竞争大智慧。在写作过程中,难免会和他人发生矛盾甚至冲突,有时还可能会遇到他人的诽谤污蔑和人身攻击。遇到这种冲突,不必回应、也不必解释,“宠辱不惊,褒贬由人”,那些因得宠而惊喜、失宠而惊恐的,全是名利之心在作怪。只有做到了宠辱不惊、去留无意,方能心态平和、恬然自得,方能达观进取、笑看人生。

7. 虚心

“虚其心”指的是善于放下心事。整天心事重重不可能心想事成。虚心还是一种德行,体现为一种容人的度量。包容那些对你有成见的人,包容那些诽谤攻击你的人。尽管某些网站的作者曾经攻击或污蔑过你,你却可以宽容和原谅对方。你的心量越大,你容人的空间越大,你的号召力和影响力也就越大。

总之,中国文化是博大精深的,文章写作的智慧也是如此,我们不可能把这里面的所有智慧一一穷尽。比起当今互联网那种急功近利的浮躁心态而言,这种东方的哲学智慧更能让网站作者达到一个新的境界。如果一个作者真能达到德才兼备这种水准,那么成功之路就不远了。

摘自:月光博客. 网站创富 从搭建 管理到营利 (图灵原创) . 人民邮电出版社. Kindle 版本.

如果,我们能控制自己

今天早上并没有能够成功在五点半起床去坐车,所以,我现在依然在老家。

之所以没能成功,有一些客观因素,不过,不在本文讨论,我们来讨论讨论主观因素。

我的闹钟其实是有两个的:

  1. 5:00
  2. 5:10

两个闹钟就是担心我自己不能够起床,不过目前来看,显然两个闹钟是无法拯救我的。

回顾我与两个闹钟战斗的场景,我突然意识到。我之所以起不来,很可能是与下意识关掉闹钟这个行为有关。

下意识关掉闹钟,让我从“你该起床”的场景中剥离出来,可以起床。如果能够控制自己,不要去关掉闹钟,让自己始终处于这样的一个场景中,想来能够更好的刺激自己起床。

在一个老旧的项目里引入 Mocha 测试

由于要做每日极漫小程序,也就需要其背后的漫画翻译组活跃起来,随之,就需要翻译组背后的工具正常使用,不过 LCTC-CLI 已经很久没有更新了,便趁这个机会,恢复这个工具的更新。

对工具的更新, 首先应当做的,自然是补全测试,这样才好确保自己的改动不至于让老项目无法正常运转。

安装 Mocha

首先,执行命令,将 Mocha 安装在开发依赖中。

npm install --save-dev mocha

随后,再修改 package.json 文件中的 scripts 部分的内容,将 test 对应的命令改为 mocha,效果如下

{
   ...
   "scripts": {
       "test": "mocha"
   }
   ...
}
Code language: JavaScript (javascript)

这样,你就可以运行 npm test 来执行测试了。

编写测试

安装完成后,你可以运行npm test 命令,来执行测试,这时,你会发现报错如下:

Warning: Could not find any test files matching pattern: test
No test files found

这是因为你并没有创建测试文件夹和测试文件,所以自然会报错。

执行如下命令,来创建一个测试目录和对应的测试文件

mkdir test
touch test/test.js

再次执行,你就可以看到,测试成功通过。

0 passing (3ms)

虽然是告诉你,你并没有通过任何的测试代码(所以是 0 passing)

接下来,编写第一个测试,打开 test/test.js,然后填入下述代码

var assert = require('assert');
describe('Array', function() {
  describe('#indexOf()', function() {
    it('should return -1 when the value is not present', function() {
      assert.equal([1,2,3].indexOf(4), -1);
    });
  });
});
Code language: JavaScript (javascript)

然后,再次执行 npm test ,这样,就完成了第一个测试,你会看到这样的输出

Array
#indexOf()
✓ should return -1 when the value is not present
1 passing (7ms)

这样,就完成了初步的 Mocha 的引入和测试。接下来,开始继续编写实际的测试即可。

不过,我在编写测试时发现,原先的代码结构极为不合理,因此,决定直接重写了。使用 TDD 的思想,完成重写这个工具。

科学需要证伪

再上一篇文章中,我提到了,想要去做一个前端的队列。

和几个朋友聊了聊,他们认为这个东西不值得做,因为没有价值。

在我看来不这样认为。

就这样的话题而言,证实很容易。只要实现,并证明可用,就可以完成证实的内容。

但是,更重要的是证伪,需要证明这个东西,虽然可以做出来,但是并不好用。具体的不好用是多么不好用,具体的量化。这样才能算完成了证伪

灵感:P2P 消息队列

image 3
灵感来源

今天在 V2ex 和别人讨论我写的《离用户近一点,再近一点》时,提到了队列、3rd API

关于 3rd API 的问题,我可以理解,因为涉及到安全问题,我们需要将 token 放在后端。如果安全问题可以解决,放在前端也不无可能。

关于队列的问题,我就有了想法?为什么不可行?

队列主要问题有三处

  1. 消息通讯
  2. 选举问题
  3. 调度问题

关于消息通讯,可以考虑实现 P2P 网络来链接不同的前端设备;而选举问题,可能需要我去看看拜占庭将军问题,以及了解一些数学相关的东西。其中,老王给我了一个思路,可以看看分布式队列的实现逻辑。

调度问题也可以参考分布式队列。

在搜索的过程中,找到了香港城市大学的教授的研究页面。

https://staff.ie.cuhk.edu.hk/~mhchen/projects/p2p.queuing.html

搜索关键词

peer to peer queue

peer to peer message queue

补充信息

搜索过程中,发现问题被简化了,可能有一些可能可以在前端实现队列的工具,比如 ZeroMQ。

image 4