6
15
2010
5

垃圾武汉电信换广告了

几天没见着这样的推送广告了,现在终于知道为什么了——

整页被电信替换了

网页源代码如下:

<html><head><!--title>... 信息推送,请等候 30 秒,或按刷新键继续 ...</title--></head><script language=JScript><!-- function killErrors(){return true;} window.onerror = killErrors; --></script><frameset rows=*><frame src=http://www.wuhan.net.cn/2010/dx/201005273/2mkd.html noresize></frameset></html>
Category: 反广告 | Tags: 反广告 垃圾电信
6
10
2010
0

多篇Word课件打印,我这样省纸

我需要六个共21页Word文档的课件以供开卷考试时使用。可是打印成21页也太浪费了!字号可不需要那么大,于是使用Ooo调整字号,结果令我郁闷的是,除了大部分文字位于左边而右边很多空白之外,我发现项目符号依旧是很大的字号。这样可不行。而且,一个个文件处理太没效率——我马上就要去应考了啊!考虑过LaTeX,结果因为不会调字体而放弃。于是想起了前些天发现的Google Docs使用的prince。于是开始工作——

首先把Word转成txt。我使用的是wvText这个位于wv包的工具。只能一个个文件转,不过我使用的是shell脚本(因为要手动给那些Word排序),这个就没关系了。然后把内容cat到一起,成为一个大的纯文本文件。然后打开这个文件,用Vim删去空行,然后在利用正则表达式\v第.章|^(一|二|三|四|五|六|七|八|九|十)加上Vim的宏给标题前空一行免得到时候不好找答案。prince是处理HTML的,所以还要把它改成HTML。这个手动就可以了,写上head标签,meta指明编码,正文前后加上<pre>标签,再写点样式表:

pre {
  font-size: 11px;
  font-family: 'Adobe Song Std';
  -moz-column-count: 2;
  -moz-column-gap: 20px;
  -webkit-column-count: 2;
  -webkit-column-gap: 20px;
  column-count: 2;
  column-gap: 20px;
  white-space: pre-wrap;
}

这里用到了我最近学到的多栏布局的CSS,prince认识它。然后使用prince转成PDF,打开一看效果灰常不错,而且只有六页了!

注意,CSS里的white-space是必须的,不然不会自动折行,左栏的过长文字会叠加到右栏。

PS: prince共享版会在每个生成的文件的第一页的右上角加个图标,但打印时并没有打印出来。

Category: 未分类 | Tags: shell prince
5
24
2010
8

将du的输出按文件大小排序

du命令的输出结果要么是不人性化的全部以千字节为单位,要么加上-h参数,显示为1K 234M 2G这样易读的数据。可是,我通常想查看那些大文件/目录,或者那些小文件/目录。单单只用sort命令的话,就不得不在脑海转换那些千字节单位的数据了。做为一个Linux用户,电脑能做的我可不想让人脑来做。Google了一下,发现这个帖子提供了一段代码可行,但是输出效果并不理想,于是我略作更改,写出了以下代码:

sdu () {
  du -sk $@ | sort -n | awk '
BEGIN {
  split("K,M,G,T", Units, ",");
  FS="\t";
  OFS="\t";
}
{
  u = 1;
  while ($1 >= 1024) {
    $1 = $1 / 1024;
    u += 1
  }
  $1 = sprintf("%.1f%s", $1, Units[u]);
  sub(/\.0/, "", $1);
  print $0;
}'
}

这段代码使用sort排序原始数据后,再使用awk来转换数字的单位。使用方法为sdu后加要查看大小的文件/目录就可以了。注意我在代码中加了-s参数,如果希望同时查询子目录的话,需要去掉这个参数。

Category: shell | Tags: shell linux
5
23
2010
10

让火狐使用chrome的更好的Flash Player插件

Linux用户可能都知道,Windows平台的Flash Player是做得最好的,Linux和Mac下的非常耗CPU。而且我发现,我的火狐使用的libflashplayer.so 10.0r45版本的插件,每当上传文件时都会导致整个火狐没有响应,Flash上传控件亦无进度显示,直到上传完成才会恢复。所以,今天向DBank上传一个大文件时,我不得不强行关掉火狐,改用Chrome上传,好让火狐依旧能够浏览网页。令我惊讶的是,Chrome里的Flash上传控件表现得竟然比较正常,虽然CPU使用率还是挺高的,但至少不影响其它操作,而且进度指示也正常。

看来Chrome使用了更好的Flash Player插件。好东西可不能让Chrome独享,我遂进入Chrome的安装目录/opt/google/chrome,果真发现了一个名叫libgcflashplayer.so的so文件。我很高就,二话不说,在我的火狐配置目录下建立plugins目录,然后把这个文件链接过来。重启火狐,在插件列表里发现多了一个版本号为10.1r51的Flash Player插件。再上传测试,一切如Chrome中一样,哦耶!

Category: 火狐 | Tags: 火狐 linux flash
5
23
2010
1

Google开始支持https,遂更新火狐若干选项

 今天Google开始支持https了,所以我也应该做出改变了。

更改搜索引擎

我安装了Organize Search Engines,所以这是很简单的事,只要打开“搜索引擎选项”更改其属性就是了。如果没有安装类似插件,也可以手动更改。是一个XML文件,Linux下在/usr/lib/firefox-addons/searchplugins下找,Windows下在安装文件夹下的searchplugins下找。

更改地址栏搜索使用的搜索引擎

火狐的智能地址栏很强大,在地址栏直接输入关键字时,可能会跳转到相关网站上,也可能使用Google搜索。其实都是使用的谷歌(google.cn)。这个也应该给改了。

打开about:config页面,搜索keyword.URL,然后改掉就可以了。

Category: 火狐 | Tags: 火狐 google
5
8
2010
5

[转] Linux的优势——对比Windows

原文地址:http://hi.baidu.com/zhuhongxu/blog/item/089ad5070848e9c57a89470f.html,作者NIX

注:由于百度空间的网页源码过于混乱,所以转载导致了部分格式丧失,建议查阅原文。


Linux的优势——对比Windows

2009-03-06 16:27

很多人不了解Linux,因为他找不到这方面的资料,现在我想用我自己对Linux的使用情况来说明Linux为何优秀,为何值得使用,为何值得推广。

注:以下言论仅代表个人观点,如有错误,欢迎指正!

1、内存使用原则

使用国Windows的同学大概都知道“页面文件”吧,它的作用是扩展内存,就是说用硬盘虚拟内存的方式来为应用程序提供比内存大的多的运行空间。但这个方式有一个缺点,就是硬盘的速度太慢,和内存比就不是一个数量级的。所以如果一台计算机只有256MB的内存或更少至128MB时,虚拟内存(就是某一些硬盘空间)就会被使用的很多,很频繁,结果就是,计算机的运行速度会像乌龟一样慢。

但好在时代进步了,科技发达了。我们能用更少的钱买更多的内存,比如1GB、2GB或更多。于是使用Windows的同学就想了:我能不能将“页面文件”调小,最好到0,这样我的内存就能被充分的利用,计算机速度也就可以提升了。结果很明显,你可以将每个分区下“页面文件”都调至0MB,但Windows本身却不会响应你的要求,你用Ctrl+Alt+Del打开任务管理器,发现虚拟内存(即页面文件)还是在被使用着,尽管你的内存大部分都是“空的“。这就好像你使用一辆宝马车,可是引擎却是拖拉机上的,而且制造商还不让你换,尽管宝马的引擎就在旁边(而且它还属于你)。这就是使用Windows的困境之一:你无法真正掌控你的系统。

对于Linux,你就不会遇到这样的困境。你内存多,可以设置完全不用虚拟内存;你内存少可以设置成现使用内存,不够时再使用虚拟内存;当然你也可以设置成尽量使用虚拟内存,留出你的内存作为它用,或者就是将内存当作摆设(有的人就喜欢使用拖拉机的引擎也是无可厚非的,但关键是要自己能决定)。即,你有决定的权力。

2、安全性

大家多少都听说过一些Linux安全性高方面的事情,但具体对它为何高、或者为何不高却了解得可能就不是很清楚了。请听我道来。

如果有人要拿刀砍你,你当然不希望给人砍到(不排除有人有这方面的嗜好)。所以你想,要是自己手上也有刀甚至有枪,那就不用怕了。可我们是文明人,平常不会在身上带刀带枪的,那怎么办?我们可以穿盔甲。

操作系统也一样,好的操作系统有各种各样的机制(就是有不同的盔甲)来避免自己受到外界的非法干扰。

一个很好很古老的机制就是权限。打个比方就是带头盔保护头部,防弹衣保护胸部,即,将重要部分隐藏起来。尽管我胳膊、腿都在外面,可就算被你捅到,我也死不了。

Windows默认使用的帐户都是超级管理员帐户,用户可以随便读写系统的任何资源,即,所有东西都暴露在外。现在很多人意识到这个问题了,都会建立一些普通用户帐号用于平时的使用,只在关键时候(比如安装软件,查杀病毒,系统调整)使用超级管理员帐户。但这种机制仍然不完善,对于安装在非C:盘的软件,普通用户也是可以“乱来的”。另外,每次安装所么软件或要进行什么重要设置都要先切换到超级管理员帐户进行操作,很不方便。所以有人干脆就一直使用超级管理员帐户。

Linux的机制更好,例如现在最好的Linux发行版之一:Ubuntu所使用的方式是不建立超级管理员帐户(即root帐户)。而使用sudo命令来实现超级管理员要做得事情。即,在虚拟终端(命令行界面)里使用它来暂时获得管理员权限以完成管理员要做得事情。操作完成后,马上就退回到普通用户状态,不会有因为切换帐户而带来的时间浪费,而且系统更安全,重要部分只会暴露一会儿,而在这一会儿的时间就有黑客入侵进来的概率约等于0。相反,Windows一直暴露着,所以被攻击(挂木马、植入病毒)的概率就大大增加了。

所以如果你使用Linux,你可以完全不用担心病毒、木马对你的威胁。在Linux下,病毒、木马没有生存的土壤。所以杀毒软件就是不必要的一种软件了。话说回来,大概使用Windows的同学的计算机上都安装有杀毒软件吧,如果你喜欢重装系统大概就不会用杀毒软件。杀毒软件会占用我们的内存,使用我们的CPU资源,占用网络带宽(因为它老是要升级病毒库,还会对下载的东西进行检查),这些都降低了我们的计算机使用体验质量。所以丢掉那种提心吊胆的感觉吧,投身自由、开源软件的怀抱吧!

3、软件最好的进化方式:开源模式

我要介绍的Ubuntu Linux使用的所有软件都来自开源社区,这些软件都集中在一种叫做“源”的服务器上,当然“源”可以有很多。

 

 

比如我现在使用的电子科大的源(速度可达8MB/s),所以在Ubuntu上安装软件是一件很享受的事情。你可以用图形界面的安装方式,也可以用命令行的方式。所有你需要做的是在窗口中选择你需要的软件,然后点击安装就可以了,剩下的事情就让系统代为负责,大约1分钟以后(或更短的时间),你就可以使用刚安装的软件了。方便无比!这也是自由软件的优势。

而如果你要在Windows下安装一个软件,你要先用搜索引擎搜索一个或几个网址,然后用迅雷或其他什么下载工具去下载。可能软件会需要序列号(非自由软件需要付费,所以大家都明目张胆的盗版,当然这样做是不对的),你又需要去找一个。如此下来,安装一个软件所耗费的时间就可想而知了,而且用户体验很差。而在Windows下所谓的免费软件,大都带有广告,比如迅雷、QQ等。因为他们不开源,是以软件赚钱的,而用户又喜欢盗版,所以只能加广告进去了。使用这带很多广告(或者说垃圾广告)的软件时,用户的体验会是多么的差!

总结,就算为了以上几条理由,也应该尝试一下Linux!

当然Linux也有“不足”。就是很多我们在大学里需要使用的盗版软件没有Linux版!这也和教育有关,中国用盗版习以为常,最可悲的是,大学教师里没有几个对自由软件有什么认识,而且以用盗版为荣。要是什么时候中国政府也学学国外,在教育界推广自由软件多好啊。那时候就不会有丢不下Windows且受制于Windows的情况了(记得黑屏吗?)。

在Google上搜索一下“开源软件”、“自由软件”、“Linux”、“Ubuntu”等词汇。多了解一些吧!

上优酷看看关于Ubuntu、Linux的视频也挺好,多方面了解嘛!

狗熊怎么死的?因为无知而死。我希望大家不要太局限自己,多给自己一些空间,看看外面的世界。千万不要以为自己会使用互联网就是现代人哦,关键是思想。

若要安装Linux,可以选择双系统,你就不用失去Windows,又能领略Linux的风采了。

Ubuntu:Humanity to others(人道待人)。

本文档是在Ubuntu Linux下由OpenOffice.org 3.0制作完成。

SCU.EI.NIX

2009.03.06

Category: Linux | Tags: linux 转载
5
6
2010
2

去掉 WebQQ 和 163 邮箱中讨厌的 UI 元素

这两天 WebQQ 的右上角又出现了红色的文字——“参与WebQQ知识问答,100Q币等你拿”。本以为过段时间它会消失的,结果到现在依然还在。

这红色的文字甚是碍眼,于是它享受了和163邮箱里的红字广告和“安全系数低”一样的待遇——被display:none了。下面是设置方法,前提当然是使用配置性强的火狐浏览器了。

首先确定 CSS 选择器。这个打开 Firebug 看吧。要写多点以免把其它网页的某些元素给选中了。也许可以指定当 URL 匹配时才匹配,但我还不会。我使用的选择器是:

#webqq_top > .top_right > .right_option > a[target=_blank]

选好后我使用 Firebug 的插件 Firefinder 确定了下正确性。毕竟我对 CSS 的高级点的选择器还不熟,没太多信心。要测试效果那可是要重启浏览器滴~

然后打开火狐的个性化配置文件<profile_dir>/chrome/userContent.css。这个 CSS 文件会应用于每个网页。(另外还有个userChrome.css文件是针对浏览器自身的。)在此文件中把那个元素隐藏起来就可以了 :-)

/*
 * WebQQ 讨厌的红色调查/问答链接
 */
#webqq_top > .top_right > .right_option > a[target=_blank] {
  display:none!important; /* !important 是必须的,提高该规则的优先级 */
}

在这个文件里面,还有我为屏蔽 163 邮箱里的红字而写的另外两条 CSS 规则:

/* 
 * 网易邮箱 3.5:不要显示“安全系数低”
 */
a#aWelcomeSecurity0 {
  display:none!important;
}
/*
 * 还有广告
 */
div.links > div.chl > a:last-child {
  display:none!important;
}

一点题外话:继发现网易邮箱不能发送纯文本邮件后,今又确认它每次都把 Google Group 的更新邮件给我扔到垃圾邮件里,太过份了。还是 Gmail 好啊!

Category: 火狐 | Tags: 火狐 css 反广告
4
23
2010
0

统计自己的Vim脚本行数

一行 zsh 命令搞定:

grep -l "Author.*`whoami`" ~/.vim/**/*[^~](.^@)|while read i; do cat $i; done|cat - ~/.vimrc|sed '/^\s*$/d'|sed '/^\s*"/d'|wc -l

解释一下:

grep -l "Author.*`whoami`"
选取包含匹配正则表达式Author.*`whoami`的文件,其中whoami命令当然就是取得当前用户名啦。如果你的Vim脚本里标明的作者和你的系统的用户名不同,请自行修改之。
~/.vim/**/*[^~]
Vim配置目录下的所有文件,但以~结尾的备份文件除外。
(.^@)
前面的条件还不够哦。文件要是非软链接^@的普通文件.。也不知道只用一个.可不可以。
|while read i
将前面管道中的那些文件名,一行行地读到变量i里面来。
cat $i
把文件$i的内容显示出来。
done|cat - ~/.vimrc
把前面的内容-和vimrc文件连接到一起输出。
sed '/^\s*$/d'
空行不算数。
sed '/^\s*"/d'
以引号开头的行是注释,也不算数。
wc -l
数数总共多少行。

我的结果:

1915

看到这个结果,我自己都大吃一惊。没想到一年多以来,自己写了这么多行配置了啊。

不过可能不准确哦。反正我这里竟然算不算软链接都是这么多。哪位有更好的命令不妨留言呀。

Category: shell | Tags: zsh vim shell
4
4
2010
0

用 jQuery 写了个给页面链接加上提示的小书签

已经不记得是怎样发现Learning jQuery这个博客了。首先看到的是关于在网页中加载 jQuery的几篇博文,非常不错,而且改进后的版本挺人性化的。所给链接上有小书签的链接,这里这不再给出了(不懂e文的童鞋请在页面上搜索“jQuerify”)。

觉得这个博客非常不错,当然不能看完一走了之了。于是订阅之,然后就发现了这个简单的jQuery插件——eztip,这里有作者写的demo,效果图如下:

点击这里,然后把鼠标移到本页的链接上,你也可以看到类似的提示哦!

这是所用到的代码,很简单呵:

$(document).ready(function() {
  $('.tips').eztip('a', {contentAttrs: ['title','href'], opacity: .75});
});

样式还得自己定义一下:

.simple-tip { position: absolute; background-color: #cec; border: 1px solid #393; padding: 6px;}

这个插件有点小问题:当链接位于页面右边缘或者下边缘时,提示仍然会出现在右下方(或者你定义的其它位置),造成出现滚动条并且看不到提示的情况。

不过,既然能在任意页面通过小书签加载 jQuery,何不通过小书签把这个提示也加上呢?于是,仿照 jQuerify 小书签,我自己也写了一个给链接加上提示的小书签。调试它花了我一个小时左右呢,这还是有Vimjsbeautify这个清理 Javascript 的 Vim 插件的帮助的情况下。注意,使用前要先确定页面已加载 jQuery,如果网页没有使用 jQuery 的话就用上面介绍的小书签啦。下面给出这个小书签的代码:

javascript: (function() {
  var el = document.createElement('div'),
  b = document.getElementsByTagName('body')[0];
  msg = '';
  el.style.position = 'fixed';
  el.style.height = '32px';
  el.style.width = '220px';
  el.style.marginLeft = '-110px';
  el.style.top = '0';
  el.style.left = '50%';
  el.style.padding = '5px 10px 5px 10px';
  el.style.zIndex = 1001;
  el.style.fontSize = '12px';
  el.style.color = '#222';
  el.style.backgroundColor = '#f99';
  if (typeof jQuery == 'undefined') {
    msg = 'This page is not using jQuery, sorry!';
    return showMsg();
  }
  function getScript(url, success) {
    var script = document.createElement('script');
    script.src = url;
    var head = document.getElementsByTagName('head')[0],
    done = false;
    script.onload = script.onreadystatechange = function() {
      if (!done && (!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete')) {
        done = true;
        success();
      }
    };
    head.appendChild(script);
  }
  getScript('http://plugins.learningjquery.com/eztip/jquery.eztip.js', function() {
    jQuery('body').eztip('a', {
      contentAttrs: ['href', 'title'],
      opacity: .9
    });
    jQuery('.simple-tip').css({
      position: 'absolute',
      zIndex: 9999,
      backgroundColor: '#cec',
      color: '#131',
      border: '1px solid #393',
      padding: '6px'
    });
    msg = 'link tip ready!';
    return showMsg();
  });
  function showMsg() {
    el.innerHTML = msg;
    b.appendChild(el);
    window.setTimeout(function() {
      if (typeof jQuery == 'undefined') {
        b.removeChild(el);
      } else {
        jQuery(el).fadeOut('slow', function() {
          jQuery(this).remove();
        });
        if (otherlib) {
          $jq = jQuery.noConflict();
        }
      }
    },
    2500);
  }
})();
3
25
2010
22

Linux 下 zip 文件名乱码解决

今天同学向QQ群邮箱里上传文件用了 zip 格式。于是乱码问题再次摆在了面前。

rar 格式和 7z 格式是我所仅知道的两种支持 UTF-8 格式的压缩文件格式。本来平时大家都喜欢用 rar 格式的,不知道为什么这次得到课件的同学却使用了 zip 格式。以前 zip 是支持指定编码解压的,但不知什么时候升级了后就没有这个选项了。于是尝试使用我曾经写过的gbkunzip这个 Python 脚本来解压,却出错了,说不能用 latin1 解码某个字符。

晕啊!当初只为了一时之需没好好写,当时测试成功了现在却不行了。尝试着改了几下,无果,于是去看zipfile的代码,才知道转码时应该用cp437编码来着。改正后,在为文件更名时另一个错误跳出来:OSError!查了 Python 手册,应该os.rename()不支持对目录更名。

真是麻烦啊。本来我是把文件解压出来再改名来着。现在我有点烦了,决定从源头入手,把zipfile拿来自己修改,把所有的 utf8 都改成了 gb18030,然后解压那个文件,成功!当初写那个脚本时我怎么没想到这样做呢?

不过,这次解压是成功,还不知道以后会不会再出什么问题。以后遇到问题再完善吧。

2013年5月21日更新:添加对加密 zip 文档的支持。


脚本在此。Arch Linux 用户可从 AUR 安装。

Category: Linux | Tags: linux 乱码 zip

Mastodon | Theme: Aeros 2.0 by TheBuckmaker.com