八月 25

修改路由设置使用VPN科学上网

想要去墙外的世界看看,之前我用的有goagent,zenmate,但是现在好像都不能用了。既然这样,干脆用VPN得了,稳定,方便。
但是,使用VPN后默认你的所有访问请求都需要借由VPN服务器发出,这样虽然上国外的网站快了,但是可能上国内的网站就慢了,当然了校园网的资源也就别想了(比如下载论文需要是学校的ip,使用VPN后无法下载论文)。那么怎么办呢?这篇博文要解决的就是这个问题。用了这个方法后,可以做到访问国外网站时使用VPN,而访问国内网站时使用原来的网络。

Continue reading

五月 30

linux 打开应用时鼠标显示忙碌

每次双击打开一个应用时最烦的就是不知道是否正在打开,如果很快打开还好,如果很慢的话能可能还会再去点它一次,然后突然就出现了两个窗口。我发现在linux下打开有的应用鼠标会显示忙碌,而有的不会。这是什么情况呢?

首先要知道,一个应用要能够被dash搜索到,需要有一个“索引”,就是.desktop文件,它放在/usr/share/applications/ 这个文件夹里。比如firefox,就是firefox.desktop。打开该文件,可以发现这样的信息:
Continue reading

五月 16

linux下如何为某一扩展名定制图标?

最近经常使用HSpice,由于运行的文件是纯文本文件,运行后会软件会在目录下生成好多的纯文本文件,而这些文件的图标都是一样的,所以每次我要找.sp文件都特别考验眼力。很自然就想,怎么样能够像.doc .ppt那样自动有一个图标呢?这样找起来可就方便多了。谷歌找了一堆方法后不知为何没有效果,于是我就在ubuntu中文论坛上问了这个问题,在网友的帮助下解决了这个问题。

原链接:http://forum.ubuntu.org.cn/viewtopic.php?f=182&t=469669
Continue reading

四月 2

linux下如何开WIFI?

linux有自带的热点工具,但是只能开ad-hoc,这种热点只有电脑和苹果设备能连上,安卓不行。那么如何开一个能够让安卓连上的wifi呢?很简单的啦~~

$ sudo add-apt-repository ppa:nilarimogard/webupd8

$ sudo apt-get update

$ sudo apt-get install ap-hotspot

$ sudo ap-hotspot configure  //这一步会检查ubuntu的网络和WIFI接口,确定后会提示你配置热点,输入ssid和密码之类的就行了

$ sudo ap-hotspot start  

Continue reading

五月 18

Project Euler 第10题(更改)

原来写的时候可能表述不是很清楚,某些同学造成了一些误解,所以我更改一下,抱歉。

最近对python有强烈的兴趣,于是就开始学习了,目前只是学了一些基本的语法。我看的书是Beginning.Python.From.Novice.to.Professional,2nd.Edition,感觉这本书挺好的,唯一的不足就是没有一道习题。学编程哪能光看书不编几个程序啊,于是我就开始找习题。突然想到原来看比特之理这个博客时好像有个叫什么Eular的网站,里面有很多的小题目,于是我就上去做了。我现在只做了前10题,目前为止都觉得很简单,基本不需要思考,使用暴力解法可以轻松解决。呵呵,这篇日志为什么叫这个题目呢,难道这个题目有点难?我们来看下:

The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.
Find the sum of all the primes below two million.
就是说算出两百万以下的所有素数的和。

这也太简单了吧。。。好吧,我做这题花了点时间。。。我刚开始没太注意(英语太渣),潜意识里觉得是“算出前两百万个素数之和”,呵呵。我就把题目当成是计算前两百万个素数之和(不是两百万以下的素数)算了。然后开始用python编程,一开始肯定想到的是最简单的方法,先写一个判断某数是否是否素数的函数,然后一个一个判断,将所有素数加起来。
Continue reading

二月 23

ARM下使用openmp库

上篇文章介绍了如何在ARM使用MPICH构建并行计算集群。我们知道,mpi这个库擅长进行多计算机的并行计算,而openmp这个库则擅长进行多核共享内存的并行计算。也就是说,如果将多台计算机连在一起进行并行计算,那么应该使用mpi库,而如果是一台计算机,拥有多个核心,那么使用openmp会更好(使用mpi也可以)。

笔者在此简单说说如何在ARM环境下使用openmp。

想要使用openmp这个库的话,在头文件加上一句:

#include"omp.h"

在PC上可以使用gcc编译:

gcc -fopenmp -o a a.c

与编译一般c程序不同的是这里加上了参数-openmp。然后直接运行就可以了:

./a

如果想要在ARM上运行,则gcc应该改为arm-linux-gcc:
Continue reading

二月 22

ARM板通过MPICH实现并行计算

对于并行计算大家应该从名字上就能明白究竟是个什么东西,字面上理解就是同时,一起进行计算。假想有这样一个场景,有四个人,现在需要完成四件 事,A、B、C、D。这四件事只能交给一个人做,而这个人只能做完一件事后才能做另一件。我们一般编写的程序都是串行的,而串行程序就是这样,程序执行时 是从头到尾一步一步的,只有完成了前面的计算才能进行后面的计算,也不允许别的进程加以干涉,纵使你电脑有四个核心,也只有一个核心在工作,而不关剩下的 三个核心的事。显然,如果有一种方法,能够让这四个人每人分别做一件事,那效率就高了。这就是并行计算。

对于并行计算,实现的方法有很多种,本人对此也不熟悉,就不多说了。最常用到的是MPI库,超级计算机很多都是用这种方法实现并行的。对MPI的实现有两种软件,OpenMPI和MPICH,两者差不多。本文使用的是MPICH。

在 PC上实现非常地容易,只需要按照手册里的步骤一步一步安装就行了。但是,现在服务器和PC的处理器基本上使用的是英特尔的X86架构,性能强大但同时功 耗也高。反观我们使用的手机等使用ARM架构的设备,功耗却很小。所以,在ARM架构下建立一个低功耗的并行计算集群就变得有价值了。
Continue reading

十二月 24

备忘 boinc

BOINC(Berkeley Open Infrastructure for Network Computing,伯克利开放式网络计算平台)是目前主流的分布式计算平台之一,由加州大学柏克莱分校(University of California - Berkeley)电脑学系于2003年发展出来的分布式计算系统。

昨天下载安装了boinc程序,觉得挺有趣的。目前的项目是SETI@HOME,搜寻外星人项目。在show graphics时遇到点麻烦

error while loading shared libraries: libglut.so.3: cannot open shared object file: No such file or directory

搜索libglut.so.3无果,于是查了好多资料。http://boinc.gorlaeus.net/Graphical_libs.php 这个网页是boinc所需的一些库,它里面说安装glut或mesa就行了。本想安装mesa但不知怎么官网的下载地址有问题,于是就安装了一些glut的库。

sudo apt-get install freeglut3 freeglut3-dev freeglut3-dbg

就行了。接着更新下数据库:

updatedb

然后再点show graphics时就不会出现这个问题,但是其他的问题还存在:

error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory

大概搜索下:
Continue reading

十二月 24

备忘 双显卡切换

ubuntu使用bumblebee实现双显卡切换

查看显卡状态:

lspci|grep VGA

01:00.0 VGA compatible controller: NVIDIA Corporation GF119M [GeForce 610M] (rev a1)  独立显卡已开启

tee /proc/acpi/bbswitch <<<OFF #关闭独立显卡

tee /proc/acpi/bbswitch <<<ON #开启独立显卡

关闭后

01:00.0 VGA compatible controller: NVIDIA Corporation GF119M [GeForce 610M] (rev ff)  独立显卡已关闭

可以使用optirun来使用独显运行程序

optirun game  //game为程序名