2023-01-06 12:25:11
Success is going from failure to failure without losing your enthusiasm. -- Winston Churchill[1]
Design who you are with, and find diversity of thought, then it will bring out something different in you. -- Laurene Powell Jobs[3]
Judge people by their Say/Do ratio. 以其说和做事的比例 (执行力) 来审视一个人。提高效率,并约束自己更清醒地去做无论是对他人还是自己的承诺。 另一种心态的改变是尝试去欣赏和感激身边的人事物。就像许多人喜欢让房间里、办公桌上充满其所爱的东西 —— 家人/宠物的照片、手办、日记本等一样。感恩之情能激发人对生命、生活的珍惜,进而将这种珍惜转化成喜悦与热爱,所有事情都会变得更有意义一些。
当然,不是所有人都有深度工作的机会和环境。我十分幸运还处于大学阶段、滑铁卢农村也没有太多的干扰,学校也有环境不错的图书馆,深度工作法有发挥的空间,于是不妨尝试。下学期实习我也会去坚持做类似的时间规划,并尽我所能培养其为长期的习惯。
然后从「紧急且重要」象限开始逐步执行事项,并通过看板跟踪状态:
将某项事情推入「完成」状态有了更多的作用和影响,为回顾和反思提供了机会,也让完成工作更有动力。
当然,这些方法论的实践对空间和时间投入都有要求,投资回报比也是见仁见智。和对待任何人提供的建议一样,请 Do your own research.
平庸的生活方式是麻醉药[4]。逝者如斯夫,不舍昼夜。哪怕任何事都不做,这一天也会与往常一样匆匆结束。大学的时间更是不可多得的宝贵 —— 三省吾身,今天的时间是否过得有价值。理性地权衡在什么时间点做什么事情,是确保时间不被错误利用的基本要求。在打着各种华丽口号的诱惑面前保持清醒,然后时刻告诫自己:总有更值得做的事。
If you can keep your head when all about you are losing theirs and blaming it on you, If you can trust yourself when all men doubt you, But make allowance for their doubting too; If you can wait and not be tired by waiting, Or being lied about, don’t deal in lies, Or being hated, don’t give way to hating, And yet don’t look too good, nor talk too wise... -- Rudyard Kipling, If
If you just sit and observe, you will see how restless your mind is. If you try to calm it, it only makes it worse, but over time it does calm, and when it does, there's room to hear more subtle things. -- Steve Jobs, Steve Jobs by Walter Isaacson没有计划的生活给了我很多的闲置时间,有一段时间里我莫名地对人生的意义有些沉迷。有人说,人生的意义是去「享受人生,并且帮助他人享受人生」,很长一段时间里这都是我的行为宗旨,有些类似 "carpe diem" 或者所谓的 YOLO 思维。但是我所追求的好似也并不只是和「享受」有关,但追求的具体是什么,又有些难解释清楚。Douglas Adams 在他的一本有些戏谑的小说 The Hitchhiker's Guide to the Galaxy 里玩笑式地做了关于宇宙所有的答案的解答 —— 42。Elon Musk 在他的采访中也经常提到这个情节,然后强调:现在我们已经知道了关于宇宙万物的答案,剩下需要做的就「仅仅」是找到正确的问题去问了。人生的意义是去求学、求知,在前人的基础上试图提出更多、更深刻和更有价值的问题,然后无限接近于找到某个终极疑问。回答了这个问题,学习的意义也顺势而解。学习最需要的,不是悲壮的毅力,而是对无限未知的渴求。
盖士人读书,第一要有志,第二要有识,第三要有恒。有志则不甘为下流;有识则知学问无尽,不敢以一得自足,如河伯之观海,如井蛙之窥天,皆无识者也;有恒则断无不成之事。此三者缺一不可。 -- 曾国藩,《曾文正公全集》2022 年里「可能」找到了理想的未来工作和学习方向 —— (应用)密码学 ((Applied) Cryptography)。其将数学和计算机巧妙地结合起来,创造了出许多跨学科、跨专业的应用。就区块链而言,除了软件工程实现外,研究者通常也需要考虑许多其他学科范畴的要点。如法律学 (去中心化与政府监管)、心理学 (计算机安全与社交工程)等。我会在 2023 年里更深入的了解和探索这个学科,然后争取一些相关领域的研究助理实习机会,以帮助我明确是否要将密码学作为今后很长一段时间里的职业和研究方向。
It was the best of times [and] it was the worst of times, ... it was the season of light, it was the season of darkness, ... we had everything before us, we had nothing before us. -- Charles Dickens, A Tale of Two Cities新年快乐。
2022-02-12 16:10:41
We are only 1% of the progress bar. -- Brian Armstrong
If you know how quickly people forget the dead, you will stop living to impress people. —— Christopher Walken
去读书、去经历、去感受、沉淀也许能帮助自己避免成为那些「缺乏自知之明且自我膨胀」的庸人愚者。
也许是因为由于互联网的产生和普及,我们所处的这个信息爆炸的年代,无知的人总是能对大多数的事情侃侃而谈、确信不疑,真正富有想象力和能力的人们却常常陷入纠结与自我怀疑的困境,表现得有些优柔寡断...
有关英语能力培养的另一点是有关态度/沟通方式的。经历了几年的外教/教授的课堂和美剧的熏陶,或多或少其实已经有了一定的对语言的理解和积累,我开始发现也许我们离流畅的表达之间的差距只是在于是否有「说出口」和「不怕说错」的自信。初到国外的一段时间里,大多数情况下我都会做足准备再与别人开启一段对话。但即时、自然的沟通环境和演讲表达大相径庭,通常情况下在对方会持续、快速地向你需求反馈。要达到如同母语环境下沟通流畅度,也许沟通的方式方法也需要转换到一种与母语沟通相匹配的模式。于是我渐渐开始强迫地把自己放到一些要求即时反馈的语言环境下 (比如问路、咨询问题等前不做任何准备直接开始对方的对话 :),然后企图刺激出如同母语表达一样的依靠下意识的表达机制。目前效果还算可观,希望长此以往能效果能更令人满意。当然,也有许多的时候对话还是会以尴尬收场。我其实很难理性地面对尴尬,如果可能,我是非常不愿暴露出自己的问题的。但今年也算是逐渐培养起了对这一类情况的应对能力,对「勇于试错」的意义有了新的解读。
If you are not failing, you are not doing it right.
If you are not sure what to do, do anything. Action will produce information. -- Brian Armstrong大部分人倾向于低估在短时间内完成任务的难度,而高估长线发展、持续投入所需要的努力。正因如此,对于长期目标而言,决定应该做得更谨慎一些。
Most people overestimate what they can do in one year and underestimate what they can do in ten years. -- Bill Gates我们都欣赏坚毅的品格,但自控/内驱力大多数时候是被过分高估和依赖了的。有时只有建立起一些系统化的机制才能保证目的的达成。如果想早睡早起,那就多设几个闹钟;想避免贪吃零食,那就别买巧克力;不想一边上班一边看剧摸鱼,那就别冲会员;不想写脱离低可读/维护性的代码,那就选择一套风格指南并配置好 ESLint, Prettier 和 Commitlint... 期望设低,让自己处于 Under promise 的状态,然后尝试每次都多做一点点 (Over deliver)。 当然会有反对的声音,每一个决定都可以被辩证甚至推翻,错误预期也是时常会发生的事。付出努力却迟迟得不到回报时,保持「短期消极主义 (Short term pessimistic),长期积极主义 (Long term optimistic)」的态度。问题关键是在于你是否有「不可磨灭的信念」。要知道的是革命者、创新家所具备的不只是远大的理想和奋斗的精神。在任何现实的面前,得有是勇于接受和面对的纪律与毅力。现实是,大多数人其实对你没有什么乐观的期望。正是如此,评判和反对的观点当然也不能忽略,并且应该更加严谨地审视他们。然后思考、分析,最后通过努力避免这些弊端、绕开可以避免的陷阱。
You've got to have the faith that you will prevail, as well as the discipline to accept the immediate reality, whatever that might be.7, 8. 这两点我们还是在 2022 走着看吧,哈哈哈...咳
每个新功能 (feature)、Bug 修复 (bugfix, hotfix) 等操作都在新的分支进行,设置测试环境 (develop, uat) 所用分支和一个生产环境分支 (main),通过各种 DevOps 环节所用软件/平台之间的 Integration 实现自动化的流程推进。
总的来说,在 Bitbuy 的工作内容挑战不大,可能由于受工作性质、岗位设定的限制,个人认为这段实习经历中无论是纯技术上还是开发方法论方面都进步甚微。但与团队的 Bonding、公司职场环境的初体验和参加的几次聚会和社交活动中我还是收获了许多新的观点和视角。为 Bitbuy 工作的机会也给我提供了更深入了解虚拟货币、DeFi、Metaverse 等区块链技术与应用的契机。

A ship in harbor is safe, but that is not what ships are built for.
受生活方式和工作的影响,新增了一些生产力工具:
Real artists ship. —— Steve Jobs新年快乐。 2022 请持续思考,沉淀,并产生影响。
2021-01-07 20:47:17
这一年除了自己写博客也开始订阅和查看一些高质量的博客源,大概有这样几个站点有着长期 RSS 订阅:
As we know, there are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns—the ones we don't know we don't know. —— Donald Rumsfeld好像也没有什么其他的原因了... 想了很多,「只言片语」、「随机过载」等等,不过总是有种把这档播客内容局限在了某一领域、某一抽象范围的感觉,于是不如索性建立一个开放命题,聊些我(们)不知道的东西... 你可以使用任何一个播客客户端通过 RSS 订阅我的播客:https://anchor.fm/s/4612e698/podcast/rss,加载速度稍慢的话还可通过在喜马拉雅托管的 RSS:http://www.ximalaya.com/album/45246859.xml 来订阅。当然,如果你成功地在一众音乐 (网易、QQ、喜马拉雅、蜻蜓 FM等)、播客平台 (小宇宙、Google Podcasts、Apple Podcasts、Pocket Casts、Castro、Overcast etc.) 上搜索到了「已知未知 Known Unknowns」的话,也可使用他们来收听和收藏。已知未知除了内在的杂烩属性外,一般来说将会是一档聚焦生活、科技与职业的播客,非定期更新。 另外目前我在用在亚马逊美国海外购的播客解决方案 Marantz Pro Pod Pack 1,价格合理,音质不差,附送一个全金属 Boom Arm。剪辑使用 Adobe Audition,章节编辑使用 Forecast,Hosting 服务使用免费的 Anchor.FM,不过在国内节目音频文件加载十分缓慢,过段时间后会来解决 (卖个关子)。目前你可以通过喜马拉雅、网易云音乐来流畅收听。
2020 年没有完成 2020 Commits,只有着 735 次的 Contributions 和全部项目累计总共 1024 个的 Stars。还是很感谢有人愿意来 Star,虽然没有什么实质上的收益,不过你的每一次点击都是激励我计算机走向秃头的催化剂。开玩笑的,谁人不爱受到认同和关爱呢。顺便也提一提,前端程序员工作的门槛很低 (没有贬低意) 我这人做点什么事总得找到点明确的动机才肯坚持,选择了投入产出比计算更加直观、更容易提升的前端来入门是我一直在写它的原因。所以交换友情链接的各位也没有把我商业互吹成「前端大佬」的必要,不是 dalao 也没有计划要一直做前端走到黑。嗯。
2020 年的开头模仿着其他的博主尝试做了一次「红包解密」活动,除了了解其他博主的题解和出题点外查看参与我的活动的各位的解题过程分享也是使我受益良多的一件事,这着实是十分有趣的一段经历。除了解题中所运用的技术点和实现方式外,更多展示的也有解题人、出题者对某个行业或技术的深度了解。
[fa_insert_post ids=596]
这一年的开头做了一个每日疫情数据推送的邮件订阅平台,第一次接触到了 Express.js、React.js、Next.js 框架与非关系型数据库 MongoDB。
[fa_insert_post ids=617]
接下来年中由于 Tony 主题群内的要求和启发,做了博客的 Nuxt.js 重构,实现了服务端的渲染,下半年的博客 SEO 好似是变好了一些,不过也无关痛痒。之后入门了 TypeScript,了解了什么是静态类型编程语言。啊,流水账又开始了吗。
[fa_insert_post ids=659]
各种机缘巧合通过 Antony-Nuxt 项目认识了在滑铁卢大学的学长 Halulu,甚至回想起来他也是我选择去滑大的一大助推剂呢。早一年去滑大的他分享了CO-OP 软件工程师的经历,于是接下来我也尝试去入门了他提到的在国外更加常用的 React.js 并且转换成了主要使用的前端框架。Vercel,之前叫 Zeit,企业内部催化的开源体系下的 SWR、Next.js 等项目的使用经历也让我发现了许多有趣的外国开发者、设计师、CEO... 所以 2020 也在尝试融入外国开发圈子?了解软件工程师的种种。
就像上文谈到我是一个以实践为学习基本的人,入门 React.js 后第一时间重构了去年的试题分享平台 Snapaper,顺带着也用上了 Ant Design React。哇突然发现我也太喜欢「重构」了,还好不存在太多的重复造轮子,只是有了明确的需求和功能框架后更方便我直接在技术上做尝试。
[fa_insert_post ids=715]
毕业!有幸通过各种关系和渠道得到了去腾讯成都实习的机会,可惜不是技术岗位。不过行政部门的体验也让我更宏观地了解了大型企业的管理模式、流程细节等信息,不虚此行。腾讯的班车、大厦、餐厅、文化气息浓厚的公司内部... 这一刻,我感觉我一定要为腾讯卖命... 说罢,端起饭碗还得继续搬砖。谁又想活成那样呢?
[fa_insert_post ids=731]
Artalks 是很棒的评论库啊,只是在我这儿的冗杂环境下会有兼容冲突,于是又顺手做了个评论库,名为 Nexment,练手了 React.js 还了解了 npm 包的开发。
[fa_insert_post ids=753]
2020 年秋季学期滑铁卢的 CS 135 课程要求学习 Racket,一个函数式编程语言,属于 LISP 的一个方言。不过至今我也不知道有什么实际应用场景,应该在设计编程语言、人工智能领域会用到吧;下学期的学习会转向命令式编程语言 C。嗯。有些事知道要去做,就先去做了吧,做完再想想看为什么。另外我也特别地为存笔记做了个小站点,DevDiary → dev.ouorz.com,内容都存在 Github Issues。
也就是说,2020 年主要新学习了 JavaScript 方面有 TypeScript、React.js、Node.js 其他方面有 Racket,嗯又是没有什么特别进步的一年呢(大雾。
2020-08-19 15:53:04
// rollup-plugin-sass 仅支持 .scss 文件打包,rollup-plugin-scss 对 .css 和 .scss 文件有同时支持
const sass = require('rollup-plugin-sass');
module.exports = {
rollup(config, options) {
config.plugins.push(
sass({
insert: true
})
);
return config;
},
};
↑ tsdx.config.js
import NexmentContainer from "./components/container/index.vue";
export default {
install(Vue: any, options: any) {
Vue.component("NexmentContainer", NexmentContainer);
},
};
↑ main.ts
Vue-Cli 生成 CommonJS 和 UMD 类型的生产文件,但在浏览器引用时会出现 LeanCloud 无法请求的问题,于是换为使用 Web Component 对浏览器支持。将 Vue.js 内嵌入生产文件中便可实现无框架依赖的内容渲染。使用可参考 Demo 和打包命令配置。
/*
* ListGet: Function,
* pageKey: string
*/
const { data, error } = useSWR(pageKey, ListGet);
return {
commentsData: data,
isLoading: !error && !data,
isError: error,
};
在 Vue.js 中有一个新生项目 SWRV 借鉴自 SWR 功能几乎一致,依赖 Composition API。样例如下:
export default defineComponent({
setup() {
const { data, error, mutate } = useSWRV(
pageKey
ListGet
);
return {
data,
error,
mutate,
};
}
})
/* configContext.ts */
// create context
const Context: any = React.createContext({});
// context provider
export const Provider = Context.Provider;
export default Context;
/* use context */
import Context from 'configContext';
const NexmentConfigs = React.useContext(Context);
/* CommentsList.vue */
<template>
<CommentsArea
@reloadFunc="changeLoadingStatus"
/>
</template>
<script>
export default {
data(){
return{
loadingStatus: false
} as {
loadingStatus: boolean
}
},
methods:{
changeLoadingStatus() {
this.loadingStatus = !this.loadingStatus;
},
}
}
</script>
/* CommentsArea.vue */
...
this.$emit("reloadFunc");
...
const [resetStatus, setResetStatus] = React.useState<boolean>(false); setResetStatus(true);Vue 中更新对象类型的数据中的内容需要通过实例方法 Vue.$set() 实现,样例如下:
...
modalVisibility:{
OID: true,
xxx:{
xxx: xxx,
...
}
}
...
this.$set(this.modalVisibility, OID, false);
...
const nexmentTextarea: any = React.useRef(); const content:string = 'content'; insertTextAtCursor(nexmentTextarea.current, content);Textarea 根据文本自适应高度, Vue 采用 autosize,React 采用 react-textarea-autosize。
2020-07-11 14:46:26
真正一见倾心的产品,买就完事。千金难买爷欢喜。选择的是非定制版本,MacBook Pro 2020 13'' i5 10代,512 GB 储存,16GB 运行内存。入手价格为 ¥12900。
我也统计了当时 GeekBench 网站 (i5,i7) 对这两款 CPU 跑分的公开记录页面前 10 页,最大多核跑分 i5 为 4536,i7 为 4959。最大单核跑分 i5 为 1270,i7 为 1379。加之对于 MacBook Pro 的散热捉急与低压的认识,i5 升级 i7 的¥1000 必要性并不强。由于不是官网购入,到手后便进行了跑分验真。 GeekBench 5.2.1 / macOS 15.5 上跑分成绩高于以上,非常接近 i7 的成绩。
比较遗憾的是,(
最后,买银色!大家都在迷恋深空灰的当今,银色也别有一番风味呢(误)
永远不要相信终端是白底黑字的程序员终端的主题可以在 iTerm2-Color-Schemes 进行选择和下载,iTerm 2 和终端通用。
字体可以选择一些支持连体 (Ligature) 的,比如 JetBrains Mono、Fira Code、Consola 等,不过这个仁者见仁。
同时也可以选择一些开源终端代替品,如 iTerm 2、Hyper 等,有各自的特色包括插件、美化等。不过性能是个需要关注的点,记得一代的 Hyper 是真的卡顿延迟严重。
2020-07-10 22:14:43
进入大厦需要出示健康码,工牌。腾讯成都分公司是腾讯西南总部,分设 A、B 两座写字楼,位于天府三街两侧。设计方是栖城(上海)建筑设计事务所有限公司,没有了解过建筑设计,不过乍一看流线的设计韵味非常美丽和现代化。楼内设有大堂接待、宣传显示屏、两组低/中/高区电梯、腾讯企业展厅。和腾讯滨海大厦的「纽带」区域大型企业展厅类似,腾讯成都大厦也有着一个迷你版展厅。这次有幸参与了两次会务的接待,收听/看了展厅解说,内容包括腾讯企业发展、业务布局、腾讯云大数据看板、腾讯云互联网+市政业务建设等,不得不说大公司
金字塔原理可以运用在文章/内容写作中,载体可以是报告、议论、邮件等等。先行提出结论,再进行论述的结构,其实在语文课就有学过作文的写作技巧,不过是对其的一个深化和结构化。MECE 即 Mutually Exclusive Collectively Exhaustive 相互独立,完全穷尽。所有的论点、论据必须独立,却又不重不漏地覆盖全部当前掌握的内容和依据。 这一套原理和方式也许是一种思维束缚,但是其带来的产出往往是可观地覆盖着多个角度的思考、议论清晰缜密。这也是本次职场实习带来的一个经验,即思维方式就如同生产力工具,更多的是强调工具带来的产出提升而不应该作为生产力的束缚和路径。更多的可以参考当天的实习报告。
文化不是纸面上怎么宣传,而是信仰什么,如何思考,如何做事。不可否认的,其实除了物质上的满足,对于某个公司某个职位的选择有很大一部分原因是来自对于该企业的文化认同。比如各个大厂自带的光环,人人向往的工作能带来的职业发展机遇、个人成长机会等,来自宣传、公关、舆论,源于文化带来的影响。但是文化的存在一直存在争议,它是否是一个大企业变相管理员工、增加粘性的手段?是否是洗脑式的概念和价值观灌输?这次有机会和一个有 10 年资历的腾讯「钻石鹅」负责企业文化、员工培训的 HR 部门员工做了简短的访谈和学习,探讨了腾讯文化的建设和落地情况。腾讯公司内有一些所谓「黑话」,比如「阳光」、「瑞雪」等,由员工自发设立的道德标准和行为规范。在腾讯,一切违背社会所倡导的正确价值观的行为都叫做「不瑞雪」,具体可以查看这篇分析文章。访谈的具体内容和总结可以参考以下文档: