这是博主最近业余花费三个月时间设计制作的一个超迷你Linux电脑,构思这个项目的缘由在前面【Project Quantum】的文章视频里有提及。
本次项目做完之后视频在网上引发了不少关注,本文后面的采访部分来自【量子位】近期对我的专访,文章里分享了一些我个人的心路历程和对开发者的建议,供大家参考~
以下是采访内容:
根据一个读者的统计,稚晖君掌握的技能有:
电子基础,电子元器件选型,电路原理图设计,高速电路PCB设计,电子元器件焊接技术,电路板调试,启动程序UBOOT裁剪移植,linux内核裁剪移植,文件系统,底层驱动程序(C语言,ARM架构汇编,linux内核架构),上层应用程序(C++、Qt、JAVA、Python等,深度学习,机器学习,OpenCV,神经网络,自然语言处理),静态博客服务器搭建,高等数学,线性代数,概率论,离散数学,3D建模,3D打印,雕刻机,视频拍摄后期制作,防脱发技术。
其中,最难的莫过于最后一项技术。
稚晖君也表示赞同,当我们问他整个开发过程中最难的问题是什么,他说是“如何在保持熬夜学这么多东西的情况下不会脱发”。
量子位:听说你本科学的是生物,后来才选择计算机专业,为什么?
稚晖君:是的,本科是生物医学工程专业,研究生是信息与通信系统专业,所以其实不算CS科班。选择专业的原 因也是各种机缘巧合啦,总之我后来发现生物专业并没有我想象中的有很多女同学哈哈。
CS专业在我看 来和英语一样是一门基础技能,是一门研究“怎么高效地解决问题”的学科,很容易和其他学科交叉结合,所以在我读生物专业的时候,其实就已经开始自己学习计算机了。
EE方面也是同样的情况,因为可 以看到对于像这次这个小电视这样的作品所涉及的专业面,是在高校里的任何一个专业都无法完全覆盖 的;学习的方法有一个分支,叫做 Problem-Based Learning,就是以问题为导向的学习,通过自学寻 找解决问题的方法和问题的答案。
量子位:你对嵌入式和AI的兴趣是何时培养起来的?
稚晖君:对嵌入式的热爱始于我小时候学会拆家电的那个阶段。大学阶段入门了模数电、单片机、Linux、自控原理之类的课程之后,就开始放飞自我了。
对AI的兴趣的话,是源于深度学习最近一次重新崛起的那几 年,“当你造出了一个会开车的AI司机之后,你就得到了无数个会开车的司机”。这样的想法非常地吸引我。
量子位:对于有志学习嵌入式开发的软件工程师,你有哪些建议?
稚晖君:想做嵌入式开发的话,一定不要只关注自己眼前技术的一亩三分地,否则很难有好果汁吃。去学 RTOS,去学RISC-V,去学异构…永远没有完全准备好的人才,年轻时要边打仗边学习。
知识面一多之后,很难面面俱到,要学会拎清楚重点,剩下的知识只需要在用到的时候会查阅工具 书就行。厉害的工程师不是可以背下来多少语法标准和手册资料,而是在有全局观的同时能有能力 解决核心问题。知识分为两种,一种是你知道的,一种是你知道可以在哪里找到的。
多了解和思考一下嵌入式和前沿领域的交叉点,边缘计算、嵌入式AI、物联网、端云融合等等。
量子位:当初为什么想到做B站小电视这个项目?
稚晖君:一个人一旦脱离了高级趣味,做各种沙雕项目也就会变得游刃有余了(笑)。我的乐趣就是周末宅在家里折腾这些既没用又有用的东西。
做这个小电视项目的初衷在我之前发的一个视频里有提及,其实就是不满意于目前市面上能买到的小型个人服务器,有一些痛点,所以就打算自己动手造一个。
还有一个原因是,我个人比较喜欢在积累了一定程度的新知识和技能之后,构思一个项目把这些知识都用上并呈现 出来。一方面通过这种方式可以及时巩固学习效果,另一方面“学以致用”是技术发展的永恒归宿。
所以大家可以期待一下,我最近业余也在学习一些机器人高级控制和优化理论,未来可能会有很有意思 的项目作品分享的。
量子位:你是怎么平衡兴趣爱好和工作的关系的?
稚晖君:很幸运的一点是,我的兴趣爱好就是我的工作。
我认为的理想工作状态就是:工作是源于自己的意愿, 每天做自己喜欢的事情而积累经验,在适当的压力下积极创新,收获自身成长的同时顺便收获可观的报 酬。简单地说,就是当个人爱好、公司价值、与时代趋势相统一的时候。我认为目前正在朝着这个方向努力,虽然还有很多东西要学习。
我给自己的信条是:十年饮冰,难凉热血。
量子位:平时做的事情对你现在的工作有哪些启发?
稚晖君:前面提到了 Problem-Based Learning,以解决问题为导向进行学习,未来是终身学习的时代,不存在大学毕业之后就不学习了。
人工智能也是一样的,它是一种学习的过程,如果你去问有实际工程经验的人工智能专家,他们大都会在谈及算法之前问两个基本问题:
第一、你要解决什么问题;第二、你有没有与这个问题相应的可供学习的数据。
另外,知识是大体相通 的,在不同学科之间的迁移学习可以带来事半功倍的效果,比如软件设计里的高内聚低耦合模块复用理念,也是可以应用到电路设计里面的;比如嵌入式开发的经验在优化深度学习模型推理实现的过程中提供了意想不到的帮助。