El Camino Real

看完电影走高速回家的时候,打开了敞篷,70迈的速度,夜风狂吹,音乐随机到的却是《如父如子》里的巴赫哥德堡变奏曲 Aria,旁边警车鸣笛闪灯追超速犯。

等转进家旁边的公路,已经换成了《Caifornia Dreamin’》,这离我初三暑假第一次听到的时候过去太久。而《重庆森林》里的人困在香港幻想加州,但我此刻就在此地堵车,把着方向盘,听他们唱 “All the leaves are brown”。

在那个瞬间想起所有求之不得的事情,但,“加州那边如何,应怎么细问,假的很,假的很”。

Java 还是个好同志

虽然我本科时候专业要求用的语言是 Java,但我整个大学几乎都在用 Node.JS 和 Python,其中 JS 可以算是我的母语了(笑)。然而最近某项目技术选型的时候才意识到,Java/JVM 相对于其他语言的优势,很多不是人有我优的区别,而是人无我有的区别。

比如 Node.JS/Go 几乎没有什么 hadoop/kafka/machine Learning 的标准接口库,能搜到的大多是几十或数百 GitHub stars 的自造轮子,不少连 build 都不过。虽说可以将很多东西微服务化,但对于迷你团队来说不啻于额外的学习成本和调试时间。更何况 Java 抛弃 J2EE 等历史包袱后,面目也不那么可憎了。

如果对性能有要求 (高并发,同时考虑到 IO 密集和 CPU 密集),时间又有限(不够时间自造轮子/多语言混合开发),且涉及的技术栈宽广(从 Web 到数据处理到其他等等),且是多人合作(此时静态类型胜过动态类型,除非强制用类型标注和类型检查),JVM 系列在很多情况是一个安全的选择。

Is Frontend Dev Getting Easier?

Chances are that you hear new software engineers have passion for frontend development nowadays. There are plenty of reasons supporting this, of which one representative comment is that frontend jobs are indispensable and they are easy at the same time. Is it true?

Distributed Computing in the Browser

Why to Do it?

It has been a long time since scientists and researchers casted their attention to distributed computing. Without the help of distributed computing, Facebook couldn’t have reached such remarkable triumph in social-network market. As is known to many interested people, distributed computing can, and does, rely on enormous clusters of comparatively cheap computing devices to make good use of their computing power. It will definitely change the situation that distributed computing is still expensive and not that open to common people or schools if millions of smart devices can make contributions to the computing tasks. The blueprint invites us to this question: What if we can exploit the browser for distributed computing?