3

个人黑客马拉松

 3 years ago
source link: https://www.phodal.com/blog/personal-hackathon/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Posted by: Phodal Huang April 12, 2021, 8:10 p.m.

最近的一个月里,忙于设计一个架构设计问题,未来也仍将持续一断时间。

在业余时间里,过于投入的研究问题,以致于对于很多事情都提不起动力。比如,我在上个月挖的 Uncode 的坑,这个坑着实有点大。因此在没开始之前,我决定先休息一下,以获得更充足的动力 —— 事实上,我没这个精力了,2333。除此,也可能是因为当前的这个问题比较有意思,所以我投入的精力比较多。

正因为这是两颗磐石,在上一个清明假期里,我都没怎么做这两个相关的事情,我决定放个假去玩点别的 —— 因为花仲马在加班,所以我哪儿也去不了。

只有一个人的 Hackathon

回想起,几年前,我参加的几次公司的 Hackathon。对于公司和客户来说,它带来的是一些产品上的创意。对于个人来说,它带来了~~几天的休息时间~~激情碰撞的岁月。你大可以忘掉工作上那些烦人的 bug,忘记了该死的 BAU(日常维护工作),然后开展几天的编程之旅。

当然了,我从来不参加非工作时间的 Hackathon,笑~。

考虑到在架构设计这个问题面临的考验,我觉得我应该从某个地方再拾起一点信心。所以,我觉得我应该忘记这一些,然后自己开展一次『创意』的旅行。或者说是,把以前想做的有意思的、工作无关的、只为玩的事件捡起来。

起初,我是想画个油画来着,而在找画架的时间,发现了一个电子墨屏,于是我回编程上了。

一个失败的 Todo List

我习惯使用了 Microsoft To Do 来作为我的 Todo List 工具。所以,我决定了先用 Raspberry Pi + 电子墨屏 做一个 To do 工具。简单分享一下过程吧:

第一步,hello, world。显示屏是一个嵌入式设备,所以天生就比较麻烦。在底层驱动上,由于底层的驱动是用 C 写的,还要安装好对应的依赖驱动。所以,需要在 Raspberry Pi 上安装和配置好环境,然后再搞一下电路的连接和固件。

第二步,Rust,RustRapi。为了能在我的 macOS 上顺利完成开发工作,我把程序分为了两部分,一部分是用 C 写的,接收图片作为参数,用图片来展示;一部分是用 Rust 写的,当在 Linux 下运行的时候,会直接调用 C 写的程序(非 FFI)。这样我就不需要交叉编译环境,然后快速的进和下去。

第三步,获取 Todo。我尝试了获取 Microsoft 的 Todo,然而并没有那么容易;接着,尝试了 Google 的 Calendaer API,过程很简单,但是它需要一个 Callback 服务器,你这让我怎么继续啊。随后,我开始找 GitHub 上的开放 API。嗯,然后做了个名人名言。

第四步,简单的排版。在假期里,我基本上只做了非常简单的排版 —— 在嵌入式里搞排版是一件令人头秃的事情。

嗯,故事就只到这了吗?在假期里, 就只到了这里,我还要回顾一下指环王什么的电影。

从小着手,日渐完善

作为一个抬眼就能看到的显示屏,看到现有的情况,我每天都看不下去 —— 有空的时候,改改几行代码,如:

  • 逐个绘制字符,以支持 \n 作为换行字符 。
  • 添加获取数据日期,以方便 debug。
  • 开机启动运行。
  • 优化中文特定字符的排版,如

所以,它作为一个非常好的公开例子,用于证明使用肉眼可见的物理看板,你就会去修正问题。

个人黑客马拉松

我也不想写太长。

回到故事的最后,要保留黑客精神,需要一些激情。所以,应该偶尔来来个人黑客马拉松。

虽然我现在的代码主要都是给自己写的,但是偶尔换换口味也不错。

最后,我在想,是不是可以一季度一次,至少一年一次吧,哈哈。

你想要的话,依旧可以在 GitHub 上看到代码:https://github.com/phodal/monitor.git


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK