论制作 Slides 的几种姿势

制作 Slides,第一个想到的当然是 PPT。PPT 做 Slides 是很方便,毕竟人家是专业软件, 但还是有不少缺点,首先它不方便传播,每次使用前都要把文件先传给别人。 还有,版本不兼容的问题就不多说了,痛处大家都懂。 (虽然可以转 PDF 来解决,但转出来的 PDF 总是莫名其妙的大…)  还有就是这个东西的定位是大众化软件,方便操作是好,但是如果你要做一个系列化的好几百张的 那种 Slides,PPT 很难做到灵活的工程化地对项目进行管理,毕竟是闭源格式,不方便脚本操作。 而且,还无法展示很多具有交互特性的动态效果,比如你写了个 JS 动画,是很难在里面展示的, 只能放个 Link 进去,看的时候在打开。

当然,做 Slides 不是只有 PPT 这一种姿势。下面就谈一谈我了解到的其他几种。

more...

随笔171001

又到了一年一度的十一长假,而且今年的假期因为和中秋连在了一起,所以格外地长,长达八天。 然而,我并没有计划出去玩,或者是回家。 假期,大家不少人都回家了,校园里显得格外安静而祥和,中午吃饭也不用去刻意避开用餐高峰了,让人感觉十分悠闲。 所以我还是挺喜欢假期里的校园的。 而且对于我来说,反正接下来的一年,也就是从本科到研究生的一年,都可以看作是假期嘛,又何必十一跑到外面去挤人群呢。

恩,说起来接下来的这一年,对于已经提前有了着落的我而言,大概会是是非常闲的一年, 除了毕业设计以外应该没有什么硬性的要去完成的事情, 实验室那边的工作节奏也可以稍微放慢一点,多多腾出来一点属于自己的时间。

自由赛高! 赛高!

more...

这大概是程序串行改并行最简单粗暴的方法

今天给大家安利一个神器:GNU Parallel 。 如果你也做计算,你也用Unix,但还没有听说过它的话, 那一定要去学一学,我跟你说,Parallel——–赞!!!

并行计算的困惑

单核的时代早就结束不知道多长时间了,计算机硬件的发展已经在多核、多处理机的方向上一骑绝尘。 它发展的太快,或者说人们对于多核适应的太慢,以致于二者已经产生了很大的脱节。虽说大多数程序员都 或多或少能够用某种编程语言的并发库(比如openmp或者是Java的并发库)来编写并行程序了, 但不得不说,我们的思维方式更多时候还是停留在串行上,当然一方面串行的逻辑能够自然地为人所理解, 再一方面就是受到我们在学校所接受的计算机教育的影响,一般来说大学里教给我们的编程知识, 都是以计算机只有一个运算核心来作为假定的, 比如,在学校学到的C、C++、Java这些语言虽然都有并行的解决方案,但这些语言从 根本上来说,都不是为了并发而设计的,一般来说只有少数人会出于兴趣去学习Erlang、Scala这样的 更加适合并发的语言。再比如说微机系统、体系结构等一系列有关于计算机系统架构的课程中,虽然并行架构 都会有所提及,但重点都还是放在传统的串行架构上。当然了,学习嘛,由浅入深,一开始先学简单的内容 循序渐进,才更能让我们理解,所以这也怪不得学校。但这种脱节,在我们走入生产环境真正要干活的时候, 就会给我们带来很多的问题。

more...

学习Docker

最经经常为在服务器上安装软件所困扰。软件依赖的问题有多麻烦,自然是不用我再 说了,所以有人为了解决这个问题发明了Docker,它在操作系统的级别上提供虚拟化, 简单来说就是提供一个“沙盒”或者“容器”,方便将软件与它的依赖打包成一个独立的 应用。 wikipedia上对Docker的定义:

an open-source project that automates the deployment of software applications inside containers by providing an additional layer of abstraction and automation of OS-level virtualization on Linux.

这种神奇又实用的东西当然是要学习一个的。

more...

小小的反抗

几天前,我关闭了微信朋友圈功能的显示,以后不管是谁发的朋友圈都不会冒出来 个小红点去让我去点开看了。我也不会像原来那样随意地把我的想法、做的事 情放在上面 ,等着大家去评论、点赞了。理由很简单,这个世界上有太多更值得我去看的 东西,所以不再阅读,同样公平起见,也不再自作多情发一些别人不在乎的东 西去浪费别人的时间,要发也是发重要的、需要告知大家的事情。

more...

学习汇编语言

一直以来我都觉得汇编这种反人类的东西和我没什么关系。的确也是,一般的程序员是不需要写汇编的, 一方面,对于大多数人来说是不用下到计算机底层去的,我就建个网站或者分析个数据,至于么。 另一方面现在编译器已经很厉害了,在不清楚优化细节的情况下费劲写了一大堆,最后的效果可能还不如直接用C写,然后再编译出来的效果好。 老子敲代码就是一把梭!!! 但最近有一门涉及到了8086的汇编的课就要考试了。 恩,我觉得既然有这种机会的话去了解一下当然是不会有坏处的,至少是能满足一下好奇心,了解一下 从最微观的角度上看,CPU在做些什么,如何对它进行寄存器级别的操纵。这里就记录一下我是怎么学习 汇编和搭建一个汇编的开发环境的,

more...