星期日, 三月 29, 2009

kill命令信号说明[Linux技巧]

kill的manpage中说明这个命令并不是像字面上理解的杀死进程,而是向进程发送一个信号signal
,manpage中有详细的信号代码表,kill默认的信号是-15 SIGTERM。这个信号允许进程先释放所占用的资源,然后自行退出。有时一些进程占用资源不能释放,所以kill就不起作用。今天用eclipse时遇到了这样的情况。可以使用kill -s 9来解决,向进程发送SIGKILL信号,进程不进行资源的释放,直接退出。

参考文献:
  1. Linux kill man page
  2. http://aplawrence.com/SCOFAQ/FAQ_scotec6killminus9.html

星期六, 三月 28, 2009

使用Shadow保存密码[Linux技巧]

在Linux系统中,可以使用/etc/passwd和/etc/shadow来保存用户密码和一些相关信息,其区别是/etc/passwd可以被普通用户读取,而/etc/shadow只能被拥有root权限的用户读取,所以使用shadow的安全性更高,因为除了root权限的用户,任何人都不能读取其内容。

Ubuntu中使用两个命令来打开和关闭shadow密码保存方式:

#shadowconfig on #使用shadow保存密码
#shadowconfig off #使用passwd保存密码
注:在启动shadow保存密码后,相关的用户操作和组操作命令都需要root权限进行,例如:id命令将不能输出全部的组信息,需要sudo id来完成任务。

星期三, 三月 18, 2009

FSF的一小段历史

刚刚看完OS Revolution,其实完全是被开篇的一句I‘m your worst nightmare~~所吸引就看了下去,同时也是Linus和RMS等大牌的影响,将FSF发展简要介绍一下。

在20世纪70年代末以前,计算的硬件是收费的,而软件是可以免费共享的,那时候的人根本不知道软件的知识产权为何物。后来由于BG发表了BASIC后,他认为软件质量上不去是由于使用者没有对开发者付费,由于没有收入,所以就没有好的软件、书籍和文档,他是主张软件知识产权的先锋。

在提出了软件的知识产权后,公司纷纷将自己的源代码保护起来,很多人由于不能得到源码,所以一直用着蹩脚的软件。很多有能力修改软件的人也由于法律和源代码的保护只能忍受开发者的功能缺陷,即使你有对软件改进有益的想法,你也不能合法的获得源代码。

这时,RMS出现了!他1971年进入MIT的人工智能研究室工作,不久就融入了一个活跃的HACKER组织,和他们共同完成了一个操作系统。但是由于当时商业上的影响,他们被要求在这个系统中添加一个登录程序。当时他们完成这个系统的理念就是希望每一个坐在这台机器前的人都能自由的完成他自己的任务,而不受别人或者前一个使用者的控制。他们被要求添加的登录程序恰恰就是管理员用来控制用户的工具!这个登录程序加入后,RMS就HACK了那个系统,破解了密码的加密算法,然后给每个用户发信息,告知我已经得到的密码,并建议用户简单的使用Enter作为密码(就是不设置密码)。谁知这个建议竟然被20%的用户采纳了!

在1984年,RMS辞去了MIT的工作,着手创建GNU项目,当时UNIX是商业授权的操作系统,他不得不自己开始写一个类似UNIX的系统,但是不能使用UNIX的任何一行源码。后来越来越多的人通过网络加入,他们把一个个UNIX的小程序改写出来,到1991年就全部完成了。到了这时他们才发现,他们已经有了compiler,debugger等许多工具,唯一缺少的就是kernel了。其实他们早就发现了这一点,但是他们的设计理念限制了他们自己内核的开发。

由于长期使用UNIX系统,他们的哲学就是:一切皆文件,每个程序只完成简单的单一功能,运用小程序叠加出强大的功能。GNU的内核被设计成许多小程序,它们之间使用消息通讯,虽然是高层次的设计,但是由于复杂的消息时序,就造成了这个内核调试代价极大同时不够稳定。在这时Linus出现了,他来的太是时候了。

起初的Linus开发Linux是为了自己能方便的使用PC,开始他只自己单干,也不知道有RMS和FSF以及GNU项目。由于要编译源码,他必须找一个免费开源的编译器,而后他发现了GNU项目的一些成熟的成果,而RMS也发现了Linux这个kernel,他们一直寻找的东西。二者可以说是一拍即合,Linus本人非常认同GPL的理念,而RMS也为GNU项目找到了最后急需的一缕东风!

在Linux和GNU项目联姻后,并没有迅速的发展起来,原因是没有合适的应用。知道另一个被大家熟知的开源软件(或者说是基金会)出现,那就是Apache!你现在浏览的网页有66%的可能就是出自它之手,Linux与Apache的组合,可以说是大大降低了ISP的运营成本,同时Apache最先支持了虚拟主机,而同时期的IIS和NT并没有这种功能。这时,由于Linux的低成本、稳定和效率,Apache的定制性和扩展性,Linux一发不可收拾,成为了Web Server的绝对领军人物。也正是这种开放共享的精神,造就了一个不同寻常的OS Revolution!

星期一, 三月 16, 2009

群组和圈子,你还记得吗?

圈子时代,我还在占坐

当年校内还没有和5q合并的时候,我还在一个叫占坐的SNS上。可能知道国内SNS比较早的用户知道这个网站。当时占坐抽奖十分火爆,学校里有很多同学拿到了印有占坐LOGO的站衫,据说学校还有一个同学拿到了自行车。

那时候的占坐和5q基本是不相上下。由于国内的SNS基本都很封闭,而且功能上都是基本相同的,没什么特色和创新性,我的很多同学进入了校内和5q,我自然也就如同现在不情愿的还是QQ一样被拉下水了。进来之后,我发现圈子这功能不错,能结识很多知趣相同或相近的朋友,这比在论坛里大海捞针强多了。



校内收购,占坐没落

这个时期校内和5q结合,由于用户会把自己的同学和同事带入相同的SNS网络,合并后的校内发展迅速,而且积极拓展白领和高中用户群体。虽然后来有面向白领的SNS开心网,但是这时校内已经基本占据了中国SNS网络老大的地位。也是这个时候我知道了MySpace和Facebook,由于校内和 Facebook界面风格极其相似,我还对这点比较不满。

后来发现校内还是有一定创新性的,开发了猫游记,我那时候天天点阿点,做任务。这是我第一个接触的没有任何客户端的网页游戏,就是不兼容Firefox,比较遗憾。也正是这个时候我开始使用Ubuntu,并且加入了校内的同名群组,现在有好几个好友都是在这个群组里结识的。而且通过群组卖掉了陪我大学四年的电脑。



网络整风,群组关闭

由于Web2.0的核心理念就是为用户提供平台,让用户创造数据和内容,所以对于这种类型的网站,管理者很难进行内容审查,只能依靠有限的人力抽查和用户据报不良内容相结合的方式来进行工作。09年初,国家组织了政治互联网俄专项行动,很多著名门户网站都遭到了点名警告,限期整改等处理,当然这其中也有校内这样的SNS网站。

校内在这之后就以审查内容为由,关闭了群组,但是没有提到具体的整改期限。于是我那时天天看我的应用菜单什么时候群组能再出现,一段盼望的日子开始了。



群组归来,遥遥无期

在这一段盼望的日子中,群组曾经几次出现但又几次消失。起初只是有一个链接,但是进入群组首页没有任何内容。后来由于效益刺激,一些用户量大的应用讨论群开放了,紧接着是一些网络的群组,例如各个大学的群组,而像Ubuntu这样的小众群组的归来似乎就遥遥无期了。实际这些小的,用户量少的群组才是群组真正价值所在,才是真正志同道合者的栖息地。通过它们,你很快就能找到与自己有相同兴趣的人,与这些人讨论是一种快乐。




God Bless!我们的群组快点回来,现在已经很尴尬了,再拖下去会更加尴尬......

除数是一位数的除法

星期日, 三月 15, 2009

Linux中的用户组设置[Linux技巧]

用户与组有关的命令:
  • useradd 添加用户,添加时可以设定用户所在的组
  • userdel删除用户
  • usermod在添加后,可以使用这个命令修改用户所在的组
组相关命令:
  • groupadd 添加组
  • groupdel 删除组
  • groupmod 修改组
Linux的权限系统分为三级
  • 拥有者,文件的创建者
  • 组权限,组中的用户
  • 其他用户,系统中注册的所有用户
这里组权限有一些说法,用户和组是多对多的关系。一个组可以有多个用户,一个用户可以加入多个组。那么这个组权限就有说法了,针对哪个组呢?每个用户都只能有一个当前有效的组,组权限就是针对这个组说的。

使用id命令可以查看当前的有效组,就是gid所指的那个。
使用newgrp命令可以修改当前用户的有效组。

参考:http://www.91linux.com/html/linux_pub/ubuntu/20090120/15442_2.html

关闭Ubuntu中的ipp(port:631)打印服务[Linux技巧]

今天用nmap扫描了一下我的端口,发现有个631端口处于lisening状态。google结果是cupsys(Common UNIX Printing System)的打印ipp服务占用了这个端口,于是就想把这个端口关闭。由于我的机器没有连接打印机,所以开机也不想启动它。

关闭服务:
sudo /etc/init.d/cupsys stop
取消开机启动:
sudo update-rc.d -f cupsys remove

参考:http://ubuntuforums.org/showthread.php?t=337868

星期六, 三月 14, 2009

Linux下Apache的配置文件结构[Linux技巧]

星期一, 三月 09, 2009

修改Debian中的网卡配置[Linux技巧]

默认安装Debian的时候是用dhcp服务的,有时我们需要设置一下静态IP。一共涉及两个文件的修改
  1. /etc/network/interfaces
    auto eth0
    #iface eth0 inet dhcp
    iface eth0 inet static
    address 192.168.2.121
    netmask 255.255.255.0
    gateway 192.168.2.2
    IP地址,掩码,gateway什么的,你应该已经知道,或者可以咨询当地网络管理员。
  2. /etc/resolv.conf里面设置DNS服务器,在这种情况下应该就是gateway的地址。
    nameserver 192.168.2.2 #因为我这里网关就是DNS服务器所以是相同的
  3. 最后reboot或者#/etc/init.d/networking restart

参见:http://blog.csdn.net/shooter556/archive/2006/07/14/919776.aspx

星期日, 三月 08, 2009

Debian LAMP安装配置[Linux技巧]

参见下文:

http://www.howtoforge.com/ubuntu_debian_lamp_server

Debian使用ifconfig命令[Linux技巧]

Debian中是没有把/sbin加入PATH变量中的,所有/sbin中的命令都需要这样运行(ifconfig为例)

~$sudo /sbin/ifconfig

寻找最快的debian源[Linux技巧]

使用apt-spy就可以自动查找最快的debian源,查找后会自动修改source.list。

详细的说明请参考:
http://www.linuxdiyf.com/bbs/thread-52437-1-10.html

Debian Lenny中使用sudo[Linux技巧]

Debian中默认是没有sudo命令的,需要自己在root用户下安装

~$apt-get install sudo


在root设置sudoers配制文件

~$chmod +w /etc/sudoers
~$vim /etc/sudoers

添加一行 username ALL=(ALL) ALL
其中username是你的用户名,保存
更改sudoers文件权限

~$chmod 0440 /etc/sudoers

退出root

参考文献:http://blog.chinaunix.net/u1/51074/showart_429833.html

使用virtualbox的cli启动vm[Linux技巧]

virtualbox也有cli的,可以使用如下命令启动vm

~$VBoxManage startvm vmname -type gui
把vmname修改成你要启动的vm的名字就可以了。

还有一些用法,详见:
  1. VBoxManage --help
  2. Secrets for controlling VirtualBox from the command line

blogger API 2.0 Url

http://www.blogger.com/api/RPC2

从Gnome Blog里扣出来的~~

Ubuntu修改默认的jre和jdk[Linux技巧]

使用如下命令修改

~$sudo update-alternatives --config java #修改JRE
~$sudo update-alternatives --config javac #修改JDK

除数为何不能为0,教学片段反思

在故事引入后,学生根据故事推导出
0/3 = 0
我让学生仿照写几个类似的算式
0/4=0
0/7=0
有的学生说
0/0=0

这正是我所需要的素材:0/0=0
通过验算方法,学生验算了这些等式,发现0/0有无数多个结果,与日常知识有冲突。

在二班讲的时候由于时间没有把握好,这地方有点赶,一班讲的比较成功:

师:我们对比一下前三个和最后一个算式,有什么不同
生:最后一个除数是0
师:那么最后一个等式有很多结果的原因在哪里?
生:除数是0
师:所以除数是不能是0的,我们说0除以任何不是0(重音强调)的数都得0。

对比过后应该引导学生发现不同点,然后挖出问题根源,对根源加以点评式讲解才能事半功倍。

星期六, 三月 07, 2009

复制文件夹[Linux技巧]

使用cp命令复制文件夹


~$cp -R source/ direction

星期三, 三月 04, 2009

在Linux下查看端口的使用情况及启动

在Linux下查看端口的使用情况及启动
Netstat -tln 命令是用来查看linux的端口使用情况
 
  /etc/init.d/vsftp start 是用来启动ftp端口~!
 
  看文件/etc/services
 
  netstat
 
  查看已经连接的服务端口(ESTABLISHED)
 
  netstat -a
 
  查看所有的服务端口(LISTEN,ESTABLISHED)
 
  sudo netstat -ap
 
  查看所有的服务端口并显示对应的服务程序名
 
  nmap <扫描类型><扫描参数>
 
  例如:
 
  nmap localhost
 
  nmap -p 1024-65535 localhost
 
  nmap -PT 192.168.1.127-245

转自:http://topic.csdn.net/u/20090303/10/bb0f2db5-b619-4de3-90c8-43f2459fddcd.html

星期二, 三月 03, 2009

PHP5 DOM 类图

星期一, 三月 02, 2009

使用/dev/null过滤stderr信息[Linux技巧]

如果你在调试程序,往往关键的错误信息都是通过stderr输出的,而默认的stderr和stdout都是对标准输出————显示器而言的。

如何获得stderr而忽略stdout呢?

例如你的程序名为ex

~$./ex > /dev/null


这样stdout的输出被重定向到/dev/null文件中,如果你不知道这是个什么样的文件就google一下,而stderr会被保留下来,让你慢慢看。

当然你也可以使用如下命令将stderr过滤掉

~$.ex 2> /dev/null

让cd命令能够自动纠错[Linux技巧]

如果你经常打错目录名,那么如下这个方法可能适合你用:

在~/.bashrc中加入
shopt -s cdspell
这样一行代码,cd就会自动纠错了

例如:进入目录mail

~$cd mall
~$pwd
~/mail


自动纠错生效了!

星期日, 三月 01, 2009

秒的认识[引入]

教材:人教版 小学数学三年级上册 第五单元 《时、分、秒》 第一课时

教学目标:
  1. 体会1秒的时间长度,知道1分=60秒
  2. 利用生活实例激发学生学习兴趣
  3. 培养学生的民族自豪感

引入过程:
  1. 出示北京航天中心图片
  2. 问:图上的人在干什么?
  3. 生:发射宇宙飞船......
  4. 师:这是神舟七号发射前的画面,那我们一起来从5为神舟飞船发射倒数,好吗?
  5. 生齐:好!
  6. 师与生:5 4 3 2 1 发射!
  7. 神舟七号升空了,那刚才我们间隔多长时间数一个数呢?
  8. 生:1秒!
  9. 师:今天我们就来正式认识秒。(板书课题:秒的认识)
课后反思:
  1. 在引入过程中初步完成了对1秒时间的体验,分散了教学难点,情境引入自然,使得学生更加容易进入情境,教学目标更容易达成;
  2. 将新闻实事引入课堂,培养学生关注国家发展,乐于获取最新资讯的意识;
  3. 将国家重大科技成果在课堂上予以展示,提升学生的民族自豪感;

为Blogger添加Tag Cloud(标签云)

具体方法,这里说的很明确了,我想说一说按照这种方法配置有的属性自定义。

为Blogger添加Tag Cloud(标签云):
http://phy3blog.googlepages.com/Beta-Blogger-Label-Cloud.html

代码共分为三段:
  1. CSS样式,这里可以详细的设置属性
  2. JS配置部分,这里可以方便的修改变量数值,修改常用的属性
  3. widget实现
在这三部分中,显然1、2两部分是可以根据用户需要自行修改的,如果你懂一点CSS的话可以自己改,这里我只谈第二部分的修改问题。


var cloudMin = 1; //Tag数量的最小值
var maxFontSize = 20; //数量最多Tag的字号
var maxColor = [0,0,255]; //数量最多Tag的颜色
var minFontSize = 10; //数量最少Tag的字号
var minColor = [0,0,0]; //数量最少Tag的颜色
var lcShowCount = false; //是否显示Tag包含的文章数量



看过注释相信大家已经基本明白了,这里要说明的是Tag的字号和颜色都是渐变的,处于最多和最少之间的Tag字号和颜色视数量的差距会发生字号和颜色的改变,看上去会很漂亮。还有要说明的是颜色这里使用了RGB的十进制,而一般CSS颜色都是十六进制,需要转换才能填进去。

Blogger中添加Social Bookmark(社会化书签)

  1. 先选择一个Social Bookmark提供商,这里我以http://www.letsgetsocialnow.com/为例;
  2. http://www.letsgetsocialnow.com/按照提示获取代码;
  3. 打开自定义-》设置-》格式设置,将获取的代码粘贴到帖子模板中;
  4. 发帖时看看HTML视图下有没有这段代码,如果有的话就说明成功了。
如下就是帖子模板自动生成的Social Bookmark:

wonder girl 三连击 娱乐一下

wonder girl原版MV



泰国的男生cosplay


一个四岁韩国女孩的cosplay


三段连续看,很过瘾阿~~