如果你向人们展示问题,又向他们展示解决方案,人们就会受到触动并采取行动

https://www.goodreads.com/quotes/731935-i-believe-that-if-you-show-people-the-problems-and

如果你向人们展示问题,又向他们展示解决方案,人们就会受到触动并采取行动
“I believe that if you show people the problems and you show Them The Solutions They Will Be Moved To Act”
― Bill Gates

阅读原文

软件开发的演变

https://guptadeepak.com/the-evolution-of-software-development-from-machine-code-to-ai-orchestration/

AI 出现以后,程序员的发展方向彻底变了。
你必须专注于理解系统而非理解语法,你的技能必须从编写代码转移到架构、安全、人机协作等方面。
未来属于那些能够构想、开发和维护复杂系统的人。

阅读原文

软件界面如何设计

https://github.com/ruanyf/weekly/blob/master/docs/issue-372.md

这就是优秀 UI 设计的奥秘:避免多个操作入口,避免让用户做选择,所有设置尽量提供默认值。这样才不会让人迷惑,可以一路回车。

其实,贴了胶布以后,才是电视遥控器该有的界面!只留下那些必需的按钮。 大多数人用不到的按钮,完全可以藏在一个滑盖下面,让那些确实有需要的人,自己打开盖子去找。

阅读原文

被低估的软技能

no-url

工程师不仅需要具备技术技能,还要具备软技能,也就是人际交往的技能。

如果你不理解人类社会的复杂性,就无法理解公司或团队的工作方式,最终影响到自己的产出和扩大影响力。

阅读原文

在AI时代讲故事最安全的是人生经历

https://github.com/ruanyf/weekly/blob/master/docs/issue-369.md

我们这行的从业人员在 AI 时代最核心的竞争力,还是真实性的记录,就是讲故事的能力,AI 长时间连续性还是差一点。
创意是绝对不安全的,这是我的观点。不在于你的创意好不好,而在于有这么多人现在加入了这个战场,你怎么确定你的创意是安全的?
我觉得最安全的是人生经历,AI 对你的信息收集是不完整的,这个时候你就具有独立性。

阅读原文

this is not a stream of bytes, it's a stream of access units.

https://emanual.github.io/Android-docs/reference/android/media/MediaCodec.html

Input buffers (for decoders) and Output buffers (for encoders) contain encoded data according to the format’s type. For video types this data is all the encoded data representing a single moment in time, for audio data this is slightly relaxed in that a buffer may contain multiple encoded frames of audio. In either case, buffers do not start and end on arbitrary byte boundaries, this is not a stream of bytes, it’s a stream of access units.

“这不是字节流,而是访问单元流”

H.264 视频流
text
字节流视角: [00 00 00 01 67 … 00 00 00 01 68 … 00 00 00 01 65 …]
访问单元视角: [SPS] [PPS] [I帧] [P帧] [P帧] …
每个 [ ] 都是一个访问单元

必须以 00 00 00 01 或 00 00 01 开始

包含完整的编码帧信息

阅读原文

自我驱动力

no-url

自我驱动力包括定性和定量两个方面,定性是指帮助自己,定量则是从自身工作出发设定目标并达成。在员工的角度上,自我驱动力可以保证在及格以上。管理者可以从以下几个方面判断员工是否有自我驱动力:敢于设立挑战性目标、敢于超越自我、不断学习、提出创新想法、有强烈的信念感、做事没有边界、主动承担边界模糊的事情以及为人靠谱。这些关键词可以给观看视频的同学提供一些启发,帮助他们在未来不断提升自己。

阅读原文

Choose boring and flexible, not malleable

https://dkarlovi.github.io/choose-boring/

许多人,尤其是新工程师,错误地认为使用复杂的工具和语言会做出更强大、更具创新性的产品。

事实恰恰相反。最有效的组件是简单、可预测、枯燥无趣的成熟技术。它们为我们提供了进一步开发复杂项目所需的基础。

你不是要建造一座有趣的桥梁,你要建造的是人们以后要充满信心走在上面的坚固桥梁。

阅读原文

断点单步跟踪是一种低效的调试方法

https://blog.codingnow.com/2018/05/ineffective_debugger.html

高质量的代码审查(Code Review)和日志分析才是更高效的调试方法。通过训练大脑静态分析代码(尤其是控制分支逻辑),能并行推演所有执行路径,快速定位问题。而调试器会限制思维,让人只关注单一路径的运行时状态。作者强调简洁的代码设计(如减少分支)和模块化思维才是根本,日志则能提供无侵入的状态回溯。虽然调试器在崩溃分析等场景仍有价值,但应作为辅助工具而非主要手段。

阅读原文

Life is short

https://paulgraham.com/vb.html

If you ask yourself what you spend your time on that’s bullshit, you probably already know the answer. Unnecessary meetings, pointless disputes, bureaucracy, posturing, dealing with other people’s mistakes, traffic jams, addictive but unrewarding pastimes

不必要的会议、毫无意义的争论、官僚主义、装腔作势、处理别人的错误、交通堵塞、令人上瘾但毫无回报的消遣。

阅读原文