Tuesday, March 2, 2010

KDE 3.5.9 自动挂载的问题

不知道从何开始,我的KDE就不能自动挂载了。
刚才插上一个移动硬盘,就顺道解决了这个问题,主要参考了这里:

[1]Archlinux 关于 HAL 部分的文档
[2]这篇文章。

关于[1]是解决挂载时出现权限不足的问题的。
似乎是HAL跟PolicyKit这两个东东打架。按照[1]里面的做了即可。

关于[2],我主要是知道了几个事实,与里面所说的FAT32的shortname(8.3)问题无关。
(1)KDE的自动挂载工具读取的文件是:~/.kde/share/config/mediamanagerrc
这个文件记录了挂载的设备的一些挂载选项
(2)对于要挂载的设备,在System Menu->Storage Media里面(konqueror里面输入media:/)
右键选择那个设备的属性,并查看挂载一栏可以设置挂载的位置,以及是否自动挂载等。

现在我的KDE可以正常地挂载,并且光盘弹出能自动卸载了!
其实完全不用自己设定挂载的地方,KDE会自动帮你载/media建立一个临时目录,目录名跟设备的label一致,
卸载后自动删除。


类似地,ntfs的解决方案载[1]里也有记载。

Monday, March 1, 2010

20 Linux System Monitoring Tools Every SysAdmin Should Know

很好很详细。

 
 

Sent to you by Iveney via Google Reader:

 
 

via 《Ourlinux》杂志 by bixuan on 2/8/10

原文:http://www.cyberciti.biz/tips/top-linux-monitoring-tools.html
by VIVEK GITE

Need to monitor Linux server performance? Try these built-in command and a few add-on tools. Most Linux distributions are equipped with tons of monitoring. These tools provide metrics which can be used to get information about system activities. You can use these tools to find the possible causes of a performance problem. The commands discussed below are some of the most basic commands when it comes to system analysis and debugging server issues such as:

  1. Finding out bottlenecks.
  2. Disk (storage) bottlenecks.
  3. CPU and memory bottlenecks.
  4. Network bottlenecks.

#1: top - Process Activity Command

The top program provides a dynamic real-time view of a running system i.e. actual process activity. By default, it displays the most CPU-intensive tasks running on the server and updates the list every five seconds.

Fig.01: Linux top command

Fig.01: Linux top command

Commonly Used Hot Keys

The top command provides several useful hot keys:

Hot Key Usage
t Displays summary information off and on.
m Displays memory information off and on.
A Sorts the display by top consumers of various system resources. Useful for quick identification of performance-hungry tasks on a system.
f Enters an interactive configuration screen for top. Helpful for setting up top for a specific task.
o Enables you to interactively select the ordering within top.
r Issues renice command.
k Issues kill command.
z Turn on or off color/mono

=> Related: How do I Find Out Linux CPU Utilization?

#2: vmstat - System Activity, Hardware and System Information

The command vmstat reports information about processes, memory, paging, block IO, traps, and cpu activity.
# vmstat 3
Sample Outputs:

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------  r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st  0  0      0 2540988 522188 5130400    0    0     2    32    4    2  4  1 96  0  0  1  0      0 2540988 522188 5130400    0    0     0   720 1199  665  1  0 99  0  0  0  0      0 2540956 522188 5130400    0    0     0     0 1151 1569  4  1 95  0  0  0  0      0 2540956 522188 5130500    0    0     0     6 1117  439  1  0 99  0  0  0  0      0 2540940 522188 5130512    0    0     0   536 1189  932  1  0 98  0  0  0  0      0 2538444 522188 5130588    0    0     0     0 1187 1417  4  1 96  0  0  0  0      0 2490060 522188 5130640    0    0     0    18 1253 1123  5  1 94  0  0

Display Memory Utilization Slabinfo

# vmstat -m

Get Information About Active / Inactive Memory Pages

# vmstat -a
=> Related: How do I find out Linux Resource utilization to detect system bottlenecks?

#3: w - Find Out Who Is Logged on And What They Are Doing

w command displays information about the users currently on the machine, and their processes.
# w username
# w vivek

Sample Outputs:

 17:58:47 up 5 days, 20:28,  2 users,  load average: 0.36, 0.26, 0.24 USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT root     pts/0    10.1.3.145       14:55    5.00s  0.04s  0.02s vim /etc/resolv.conf root     pts/1    10.1.3.145       17:43    0.00s  0.03s  0.00s w

#4: uptime - Tell How Long The System Has Been Running

The uptime command can be used to see how long the server has been running. The current time, how long the system has been running, how many users are currently logged on, and the system load averages for the past 1, 5, and 15 minutes.
# uptime
Output:

 18:02:41 up 41 days, 23:42,  1 user,  load average: 0.00, 0.00, 0.00

1 can be considered as optimal load value. The load can change from system to system. For a single CPU system 1 - 3 and SMP systems 6-10 load value might be acceptable.

#5: ps - Displays The Processes

ps command will report a snapshot of the current processes. To select all processes use the -A or -e option:
# ps -A
Sample Outputs:

  PID TTY          TIME CMD     1 ?        00:00:02 init     2 ?        00:00:02 migration/0     3 ?        00:00:01 ksoftirqd/0     4 ?        00:00:00 watchdog/0     5 ?        00:00:00 migration/1     6 ?        00:00:15 ksoftirqd/1 .... .....  4881 ?        00:53:28 java  4885 tty1     00:00:00 mingetty  4886 tty2     00:00:00 mingetty  4887 tty3     00:00:00 mingetty  4888 tty4     00:00:00 mingetty  4891 tty5     00:00:00 mingetty  4892 tty6     00:00:00 mingetty  4893 ttyS1    00:00:00 agetty 12853 ?        00:00:00 cifsoplockd 12854 ?        00:00:00 cifsdnotifyd 14231 ?        00:10:34 lighttpd 14232 ?        00:00:00 php-cgi 54981 pts/0    00:00:00 vim 55465 ?        00:00:00 php-cgi 55546 ?        00:00:00 bind9-snmp-stat 55704 pts/1    00:00:00 ps

ps is just like top but provides more information.

Show Long Format Output

# ps -Al
To turn on extra full mode (it will show command line arguments passed to process):
# ps -AlF

To See Threads ( LWP and NLWP)

# ps -AlFH

To See Threads After Processes

# ps -AlLm

Print All Process On The Server

# ps ax
# ps axu

Print A Process Tree

# ps -ejH
# ps axjf
# pstree

Print Security Information

# ps -eo euser,ruser,suser,fuser,f,comm,label
# ps axZ
# ps -eM

See Every Process Running As User Vivek

# ps -U vivek -u vivek u

Set Output In a User-Defined Format

# ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
# ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
# ps -eopid,tt,user,fname,tmout,f,wchan

Display Only The Process IDs of Lighttpd

# ps -C lighttpd -o pid=
OR
# pgrep lighttpd
OR
# pgrep -u vivek php-cgi

Display The Name of PID 55977

# ps -p 55977 -o comm=

Find Out The Top 10 Memory Consuming Process

# ps -auxf | sort -nr -k 4 | head -10

Find Out top 10 CPU Consuming Process

# ps -auxf | sort -nr -k 3 | head -10

#6: free - Memory Usage

The command free displays the total amount of free and used physical and swap memory in the system, as well as the buffers used by the kernel.
# free
Sample Output:

            total       used       free     shared    buffers     cached Mem:      12302896    9739664    2563232          0     523124    5154740 -/+ buffers/cache:    4061800    8241096 Swap:      1052248          0    1052248

=> Related: :

  1. Linux Find Out Virtual Memory PAGESIZE
  2. Linux Limit CPU Usage Per Process
  3. How much RAM does my Ubuntu / Fedora Linux desktop PC have?

#7: iostat - Average CPU Load, Disk Activity

The command iostat report Central Processing Unit (CPU) statistics and input/output statistics for devices, partitions and network filesystems (NFS).
# iostat
Sample Outputs:

Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 	06/26/2009  avg-cpu:  %user   %nice %system %iowait  %steal   %idle            3.50    0.09    0.51    0.03    0.00   95.86  Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn sda              22.04        31.88       512.03   16193351  260102868 sda1              0.00         0.00         0.00       2166        180 sda2             22.04        31.87       512.03   16189010  260102688 sda3              0.00         0.00         0.00       1615          0

=> Related:Linux Track NFS Directory / Disk I/O Stats

#8: sar - Collect and Report System Activity

The sar command is used to collect, report, and save system activity information. To see network counter, enter:
# sar -n DEV | more
To display the network counters from the 24th:
# sar -n DEV -f /var/log/sa/sa24 | more
You can also display real time usage using sar:
# sar 4 5
Sample Outputs:

Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 		06/26/2009  06:45:12 PM       CPU     %user     %nice   %system   %iowait    %steal     %idle 06:45:16 PM       all      2.00      0.00      0.22      0.00      0.00     97.78 06:45:20 PM       all      2.07      0.00      0.38      0.03      0.00     97.52 06:45:24 PM       all      0.94      0.00      0.28      0.00      0.00     98.78 06:45:28 PM       all      1.56      0.00      0.22      0.00      0.00     98.22 06:45:32 PM       all      3.53      0.00      0.25      0.03      0.00     96.19 Average:          all      2.02      0.00      0.27      0.01      0.00     97.70

=> Related:How to collect Linux system utilization data into a file

#9: mpstat - Multiprocessor Usage

The mpstat command displays activities for each available processor, processor 0 being the first one. mpstat -P ALL to display average CPU utilization per processor:
# mpstat -P ALL
Sample Output:

Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in)	 	06/26/2009  06:48:11 PM  CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal   %idle    intr/s 06:48:11 PM  all    3.50    0.09    0.34    0.03    0.01    0.17    0.00   95.86   1218.04 06:48:11 PM    0    3.44    0.08    0.31    0.02    0.00    0.12    0.00   96.04   1000.31 06:48:11 PM    1    3.10    0.08    0.32    0.09    0.02    0.11    0.00   96.28     34.93 06:48:11 PM    2    4.16    0.11    0.36    0.02    0.00    0.11    0.00   95.25      0.00 06:48:11 PM    3    3.77    0.11    0.38    0.03    0.01    0.24    0.00   95.46     44.80 06:48:11 PM    4    2.96    0.07    0.29    0.04    0.02    0.10    0.00   96.52     25.91 06:48:11 PM    5    3.26    0.08    0.28    0.03    0.01    0.10    0.00   96.23     14.98 06:48:11 PM    6    4.00    0.10    0.34    0.01    0.00    0.13    0.00   95.42      3.75 06:48:11 PM    7    3.30    0.11    0.39    0.03    0.01    0.46    0.00   95.69     76.89

=> Related:Linux display each multiple SMP CPU processors utilization individually.

#10: pmap - Process Memory Usage

The command pmap report memory map of a process. Use this command to find out causes of memory bottlenecks.
# pmap -d PID
To display process memory information for pid # 47394, enter:
# pmap -d 47394
Sample Outputs:

47394:   /usr/bin/php-cgi Address           Kbytes Mode  Offset           Device    Mapping 0000000000400000    2584 r-x-- 0000000000000000 008:00002 php-cgi 0000000000886000     140 rw--- 0000000000286000 008:00002 php-cgi 00000000008a9000      52 rw--- 00000000008a9000 000:00000   [ anon ] 0000000000aa8000      76 rw--- 00000000002a8000 008:00002 php-cgi 000000000f678000    1980 rw--- 000000000f678000 000:00000   [ anon ] 000000314a600000     112 r-x-- 0000000000000000 008:00002 ld-2.5.so 000000314a81b000       4 r---- 000000000001b000 008:00002 ld-2.5.so 000000314a81c000       4 rw--- 000000000001c000 008:00002 ld-2.5.so 000000314aa00000    1328 r-x-- 0000000000000000 008:00002 libc-2.5.so 000000314ab4c000    2048 ----- 000000000014c000 008:00002 libc-2.5.so ..... ...... .. 00002af8d48fd000       4 rw--- 0000000000006000 008:00002 xsl.so 00002af8d490c000      40 r-x-- 0000000000000000 008:00002 libnss_files-2.5.so 00002af8d4916000    2044 ----- 000000000000a000 008:00002 libnss_files-2.5.so 00002af8d4b15000       4 r---- 0000000000009000 008:00002 libnss_files-2.5.so 00002af8d4b16000       4 rw--- 000000000000a000 008:00002 libnss_files-2.5.so 00002af8d4b17000  768000 rw-s- 0000000000000000 000:00009 zero (deleted) 00007fffc95fe000      84 rw--- 00007ffffffea000 000:00000   [ stack ] ffffffffff600000    8192 ----- 0000000000000000 000:00000   [ anon ] mapped: 933712K    writeable/private: 4304K    shared: 768000K

The last line is very important:

  • mapped: 933712K total amount of memory mapped to files
  • writeable/private: 4304K the amount of private address space
  • shared: 768000K the amount of address space this process is sharing with others

=> Related:Linux find the memory used by a program / process using pmap command

#11 and #12: netstat and ss - Network Statistics

The command netstat displays network connections, routing tables, interface statistics, masquerade connections, and multicast memberships. ss command is used to dump socket statistics. It allows showing information similar to netstat. See the following resources about ss and netstat commands:

#13: iptraf - Real-time Network Statistics

The iptraf command is interactive colorful IP LAN monitor. It is an ncurses-based IP LAN monitor that generates various network statistics including TCP info, UDP counts, ICMP and OSPF information, Ethernet load info, node stats, IP checksum errors, and others. It can provide the following info in easy to read format:

  • Network traffic statistics by TCP connection
  • IP traffic statistics by network interface
  • Network traffic statistics by protocol
  • Network traffic statistics by TCP/UDP port and by packet size
  • Network traffic statistics by Layer2 address
Fig.02: General interface statistics: IP traffic statistics by network interface

Fig.02: General interface statistics: IP traffic statistics by network interface

Fig.03 Network traffic statistics by TCP connection

Fig.03 Network traffic statistics by TCP connection

#14: tcpdump - Detailed Network Traffic Analysis

The tcpdump is simple command that dump traffic on a network. However, you need good understanding of TCP/IP protocol to utilize this tool. For.e.g to display traffic info about DNS, enter:
# tcpdump -i eth1 'udp port 53'
To display all IPv4 HTTP packets to and from port 80, i.e. print only packets that contain data, not, for example, SYN and FIN packets and ACK-only packets, enter:
# tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
To display all FTP session to 202.54.1.5, enter:
# tcpdump -i eth1 'dst 202.54.1.5 and (port 21 or 20'
To display all HTTP session to 192.168.1.5:
# tcpdump -ni eth0 'dst 192.168.1.5 and tcp and port http'
Use wireshark to view detailed information about files, enter:
# tcpdump -n -i eth1 -s 0 -w output.txt src or dst port 80

#15: strace - System Calls

Trace system calls and signals. This is useful for debugging webserver and other server problems. See how to use to trace the process and see What it is doing.

#16: /Proc file system - Various Kernel Statistics

/proc file system provides detailed information about various hardware devices and other Linux kernel information. See Linux kernel /proc documentations for further details. Common /proc examples:
# cat /proc/cpuinfo
# cat /proc/meminfo
# cat /proc/zoneinfo
# cat /proc/mounts

17#: Nagios - Server And Network Monitoring

Nagios is a popular open source computer system and network monitoring application software. You can easily monitor all your hosts, network equipment and services. It can send alert when things go wrong and again when they get better. FAN is "Fully Automated Nagios". FAN goals are to provide a Nagios installation including most tools provided by the Nagios Community. FAN provides a CDRom image in the standard ISO format, making it easy to easilly install a Nagios server. Added to this, a wide bunch of tools are including to the distribution, in order to improve the user experience around Nagios.

18#: Cacti - Web-based Monitoring Tool

Cacti is a complete network graphing solution designed to harness the power of RRDTool's data storage and graphing functionality. Cacti provides a fast poller, advanced graph templating, multiple data acquisition methods, and user management features out of the box. All of this is wrapped in an intuitive, easy to use interface that makes sense for LAN-sized installations up to complex networks with hundreds of devices. It can provide data about network, CPU, memory, logged in users, Apache, DNS servers and much more. See how to install and configure Cacti network graphing tool under CentOS / RHEL.

#19: KDE System Guard - Real-time Systems Reporting and Graphing

KSysguard is a network enabled task and system monitor application for KDE desktop. This tool can be run over ssh session. It provides lots of features such as a client/server architecture that enables monitoring of local and remote hosts. The graphical front end uses so-called sensors to retrieve the information it displays. A sensor can return simple values or more complex information like tables. For each type of information, one or more displays are provided. Displays are organized in worksheets that can be saved and loaded independently from each other. So, KSysguard is not only a simple task manager but also a very powerful tool to control large server farms.

Fig.05 KDE System Guard

Fig.05 KDE System Guard {Image credit: Wikipedia}

See the KSysguard handbook for detailed usage.

#20: Gnome System Monitor - Real-time Systems Reporting and Graphing

The System Monitor application enables you to display basic system information and monitor system processes, usage of system resources, and file systems. You can also use System Monitor to modify the behavior of your system. Although not as powerful as the KDE System Guard, it provides the basic information which may be useful for new users:

  • Displays various basic information about the computer's hardware and software.
  • Linux Kernel version
  • GNOME version
  • Hardware
  • Installed memory
  • Processors and speeds
  • System Status
  • Currently available disk space
  • Processes
  • Memory and swap space
  • Network usage
  • File Systems
  • Lists all mounted filesystems along with basic information about each.
Fig.06 The Gnome System Monitor application

Fig.06 The Gnome System Monitor application

Bounce: Additional Tools

A few more tools:

  • nmap - scan your server for open ports.
  • lsof - list open files, network connections and much more.
  • ntop web based tool - ntop is the best tool to see network usage in a way similar to what top command does for processes i.e. it is network traffic monitoring software. You can see network status, protocol wise distribution of traffic for UDP, TCP, DNS, HTTP and other protocols.
  • Conky - Another good monitoring tool for the X Window System. It is highly configurable and is able to monitor many system variables including the status of the CPU, memory, swap space, disk storage, temperatures, processes, network interfaces, battery power, system messages, e-mail inboxes etc.
  • GKrellM - It can be used to monitor the status of CPUs, main memory, hard disks, network interfaces, local and remote mailboxes, and many other things.
  • vnstat - vnStat is a console-based network traffic monitor. It keeps a log of hourly, daily and monthly network traffic for the selected interface(s).
  • htop - htop is an enhanced version of top, the interactive process viewer, which can display the list of processes in a tree form.
  • mtr - mtr combines the functionality of the traceroute and ping programs in a single network diagnostic tool.

Did I miss something? Please add your favorite system motoring tool in the comments.


 
 

Things you can do from here:

 
 

Sunday, February 28, 2010

这几天做了一些怨念了一年的“工作”──1

总的来说,有三部分工作:

1. 备份旧laptop(以下简称acer)上的相片、音乐、文档等到移动硬盘,这些冬冬都是从07年入手以来积累的,而且,分散在机子上的两个系统:windows & linux。
2. 装win7
3. 装archlinux,部署LVM以及GRUB2

首先第一部分主要就是体力活了……
既然开始做了,就顺便把我办公室、mac上的东西一起倒腾了……
于是花了近一天时间,备份了约100G的音乐、图片、文档、电影,orz
其中相片还专门写了script(win下的bat)压缩成zip,短小精悍,很实用,适用于分别压缩一个大文件夹里的所有小文件夹到单独的压缩文件。
因为我的相片就是这么管理的。脚本如下:

FOR /D %%i in (*) DO 7z a -tzip %%i.zip %%i

做好后加上整理,真是忙得不亦乐乎。
另外还顺便把几个机器上的几个版本的QQ/TM的聊天记录导出,统一导入到office机器上。竟然有30M之大……我是水王么 -.-

这里很繁琐,就不多说了。

然后是装win7,从某同学处弄来一个ISO,做成了USB disk。
微软非常慷慨地提供了这个工具来制作: http://store.microsoft.com/Help/ISO-Tool
制作好后,设置为USB KEY启动即可。

这里问题来了,也是我的历史遗留问题,请看我的旧的硬盘分区(120G):
P代表primary, L代表logical (记得最多只有4个primary)
(P1)OEM reserved, 10G, 装了sb acer给我留的windows备份。
(P2)25G,原windows系统盘
(P3)40G,  原windows媒体盘
(P4)剩余空间,拓展为若干个区,其中:
(L5)20G,windows资料盘
(L6)1G linux swap 1
(L7)5G linux root
(L8)4G /usr/local用
(L9)6G /home用
(L10)1G linux swap 2 ──由于历史原因,这个swap是后来才加进去的,因为之前的1G不够1.5G内存大,导致无法睡眠。
(L11)100M /boot 用

而现在我的重新规划是:60G给win,60G给linux,并且使用LVM管理linux,同时升级为ext4/reiserfs(写这篇文章时尚未决定)
于是弄好usb后,说干就干。把P1-P3都给干掉,分配前60G给win。后面剩余的约15G暂时留空准备分给linux。

这个过程很顺利,win7的安装很成熟,塞进去,分区格式化,15分钟安装搞定。
进去后连上网下载显卡驱动,同时搞定一些常用软件,it's all done!

问题随之而来──大家都知道装windows会覆盖掉MBR的信息。
因此这里需要使用grub的修复功能。这个因为以前试过,所以没怎么看资料就进行了,加上利用windows安装的时间已经做好了archlinux的usb启动盘,详情看这里
dd一个iso即可,非常方便。

进入archlinux的livecd,把root和boot分别mount到/mnt/root与/mnt/root/boot后,执行grub的修复命令:
grub-install --root-directory=/mnt/root/boot /dev/sda
然后重启即可。

但是诡异问题就出在了这里──grub里面,hd0的分区编号顺序竟然变了!
一开始根本没有想到,后来好在发现可以用cat加上按tab这个招数一个个去试究竟(hd0,x)里面的内容是什么才找到原来的boot,/等的位置。
非常诡异地,我的/boot变为了6,而 '/' 变为了8(原来是10)。
这里花了我不少时间,搞清楚问题后就方便了,
这里必须修改/boot/grub/menu.lst里面关于kernel, splashimage等的对应信息才能正常启动grub。
启动后进入了熟悉的grub界面,进入linux成功!

不过接着问题又来了──选择windows项,则grub提示bootmgr is missing,囧rz,是grub的安装又把windows的启动文件给搞掉了?
重新塞入windows livecd usb,选择修复,seems alright,重启后还是一样的症状,why?
原来,windows 7 安装时,会创建一个类似boot分区的东东,大小也是100M。
此时grub里对应的hd分区就再也不是原来的windows系统盘了,而是这个"boot"分区了。
修改后成功进入win7.

OK.
第三部分还未开始呢……LVM和GRUB2还没搞清楚,待我继续研究完,参加完美国会议再说~

Tuesday, February 16, 2010

四维,弦论,李淼与他的博客,《科学与宗教》,科普

最近过年回家比较懒,看的东西有点杂。
首先四维这个东西以前在matrix67大牛的blog上就看过,但是一直没有理解。
最近看The Big Bang Theory时Sheldon提到自己研究的String Theory,于是想起来以前看过介绍说在弦论里面,
认为世界(宇宙)是处于一个11维的空间之中,于是就想起了大牛blog里面的四维介绍。
仔细琢磨了一下他的科普文,睡觉时想了想,终于搞明白tesseract是怎么回事了!
拓扑学实在太美妙了,是锻炼思维的居家旅行必备良药~
于是顺藤摸瓜地准备看看弦论,这个号称"Theory of Everything"第一候选理论的东东。
无奈在wikipedia上看得我晕晕乎乎还是没能理解,于是搜索了一下,发觉了一篇(我觉得科普来说太高级)的牛文:
李淼老师的弦论通俗演艺。

大概意思就是,量子理论与广义相对论互相矛盾,而弦论可以包容它们,正如广义相对论能包容牛顿经典力学一般。
弦论把所有的粒子,包括电子、质子等,看作振动中的弦,振动的能量决定了它们究竟是什么粒子。
以往的重力、电磁力等许多无法被一个理论全部解释的东西,现在都得到了统一解释!
(当然这么笼统的说法只是我个人的理解,恐怕有误)

不过,看了一些后(我估计我看不下去了,找到的汇编成pdf的有98页,而且相当多是超出了大学物理范畴的。。。
尽管他声称只需大学物理基础),发觉这位老师实在太牛了!
在他博客里翻了翻,发现这篇文章,甚是喜欢,于是推荐:

其实从小看的科普文章就不少,《科幻世界》算是启蒙吧,
虽然是小说,但是第一次对Quantum Mechanics, String Theory的接触就是从这里开始的,
后来高中还买了《时间简史》,《果壳中的宇宙》,可惜第一本被偷了!!
最近又重新慢慢地抽时间让自己多看一些科普的文章──发现自己越来越geek了,orz

诚然,研究这些东西不如研究股市、楼市实在,赚钱,不过正如《科学与宗教》里所说,
"什么时候我们能有一点点精神追求和纯粹知识追求?"
虽然这一辈子不怎么可能为推动科学发展做出贡献,不过起码还是能跟着大师的步伐稍微be informed的。

Wednesday, February 10, 2010

哈佛大学的公平正义课

最近好像經常聽到這個topic。
在沒有看視頻之前,我的想法是:
因為人的生命是無價的,所以不能簡單地認為殺一個救五個可以做到"資源最優化"。
因為無論殺哪邊,in terms of value,都是無價的,從級別上無異。
但是如果硬要做一個選擇,我想我會draw a lottery...
這樣雙方都有50%的幾率,夠公平了吧 :p
當然,如果身邊沒有硬幣,則涉及到取隨機數的問題了。。。
比如,隨機看身邊一樣東西,用它的英文ascii碼相加取模2之類的。。。
一些比較好的非線性的方法在這里:
http://www.matrix67.com/blog/archives/2653
這是科學話題,此處不深入探討 :p

 
 

Sent to you by Iveney via Google Reader:

 
 

 
 

Things you can do from here:

 
 



--
Regards,
Zigang XIAO (MPhil)
Department of Computer Science and Engineering,
The Chinese University of Hong Kong,
Shatin N.T. Hong Kong
http://www.cse.cuhk.edu.hk/~zgxiao