随笔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...

如何在非校园网环境下使用学校文献数据库

基本上每个大学都会购买大量的文献数据库,但这些一般情况下都是只能在校园网环境下使用。 当然,学校一般也会提供给学生vpn和客户端什么的以便校外访问,但用起来其实挺不方便, 至少我们学校提供的易瑞客户端就挺不好用的,过一会儿就要重新登录来保持连接,查文献的 时候感觉非常不方便,有时候连续几次感觉都要抓狂了。 如果能够有一种办法能够像在校园网之中那样方便地直接ip登录就好了。

代理搭建篇

这当然是可以做到的, 直接在校园网内部搭建个代理就行了,和翻墙的原理是差不多的。 所需材料:

  • 一台位于校园网内部的,安装有shadowsocks的机器
  • 一台具有外网ip并且可以稳定访问的机器,我用的是阿里云的vps

首先,我们要找到一台可以长时间放在校园网内的机器,我还是用的树莓派,它比较小,不怎么显眼, 而且就算一直开着的话能耗也比较低。 然后我们就需要在这台机器上面开启起一个代理,通过它来转发我们的网页请求,这样,文献服务器那边看到的 就是我们校园网内代理机器的ip。 用翻墙神器shadowsocks可以轻松做到这一点 (如果你没有接触过ss,你可以看看这里

more...

博客迁移

前几天,去年租的vps提醒我缴费了,我想了想,这个vps买的真是太亏了,一年下来真的没写几篇文章。 我其实是很像弄出来一个能够自由、舒适地表达和记录自己所想所学的地方的,这一点在最早的那篇博文中就说了。 我也发现了,如果不对自己所学过的东西进行整理,遗忘速度真的是非常快的。同时,我也认为把自己的知识教给别人就是一种非常好的学习方式。 虽然这么说,但一年下来发现自己在行动上做到的并不多,归结原因,主要是自己懒,忙的时候忙没时间写博客,闲的时候又无所事事,我真为自己的懒惰感到羞愧。 但还有一个很重要的原因就是原来的那个博客的部署方式不适合我。恩,没错, 首先,我租的那个VPS很辣鸡,访问速度很慢不说,我经常登不上后台,登上以后经常掉出来。 而且我觉得wordpress不够轻量化,每次都要登录后台再发布,改主题也很麻烦。 而且也不原生支持Markdown,每次都要先把我用Markdown写的文章,用markdown2 渲染成html,再发布。想了想,既然还要再装插件,何不试试更新的Hexo呢。 然后就把博客迁过来了。索性VPS也不用了,直接搬到Github来,反正是静态网站,省钱!

more...