Blog

Blog

PHODAL

个人黑客马拉松

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

在业余时间里,过于投入的研究问题,以致于对于很多事情都提不起动力。比如,我在上个月挖的 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


或许您还需要下面的文章:

关于我

Github: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)

围观我的Github Idea墙, 也许,你会遇到心仪的项目

QQ技术交流群: 321689806
comment

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Developer, Consultant, Writer, Designer

ThoughtWorks 高级咨询师

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《前端架构:从入门到微前端》、《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 与我沟通

标签

最近的一些事

  • 最近我和我的同事们,一起在创建一个新的编程语言:Charj 。它是一个使用 Rust 编写的描述式、中间编程语言。GitHub: https://github.com/datum-lang/datum

    Nov. 14, 2020, 9:27 p.m. | China