Fedora 16 中的游戏键盘输入问题
在wine里玩PES 2012和玩smc的时候发现WASD键木有作用,方向键好好的。关掉iBus后就OK了,原因不明。
PageRank 在 Hadoop 上的实现原理
PageRank 算法的基本思想是,网页的热门程度依赖于指向它的网页的热门程度。假设有页面
,有
这
个页面包含指向
的链接,
代表页面
所包含的指向别的页面的链接的数量,
是一个介于 0 和 1 之间的常数(成为阻尼系数,一般取 0.85),则页面
的 PR 值(PageRank 值)
![\[ PR(A) = (1-d)+d\left(\frac{PR(T_1)}{C(T_1)}+\dots+\frac{PR(T_n)}{C(T_n)}\right) \] \[ PR(A) = (1-d)+d\left(\frac{PR(T_1)}{C(T_1)}+\dots+\frac{PR(T_n)}{C(T_n)}\right) \]](/http/deathspeeder.is-programmer.com/user_files/deathspeeder/epics/17272332384e9caa9f78eb1f816ddcdf436a90a0.png)
跳到另一随机选择的网页, 或以概率
随机选择一个当前网页上的链接并跟随此链接。一个网页的 PageRank 就是随机散步者在任意给定时刻访问该网页的概率。被许多网页指向的网页更可能被访问,被具有高 PageRank 的网页指向的网页更可能被访问。
function map
input (PageN, RankN) -> (PageA, PageB, PageC ...)
begin
Nn := the number of outlinks for PageN
for each outlink PageK
TempN = RankN/Nn
output (PageK) -> (PageN, TempN)
output (PageN) -> (PageA, PageB, PageC ...)
end
function reduce
input (PageK) -> (PageN1, TempN1)
(PageK) -> (PageN2, TempN2)
...
(PageK) -> (PageNt, TempNt)
(PageK) -> (PageAk, PageBk, PageCk ...)
begin
TempK := 0
for each inlink PageNi
TempK += TempNi
RankK = 1 + (TempK - 1) * d
output (PageK, RankK) -> (PageAk, PageBk, PageCk ...)
end
function combine
input (PageK) -> (PageN1, TempN1)
(PageK) -> (PageN2, TempN2)
...
(PageK) -> (PageNt, TempNt)
(PageK) -> (PageAk, PageBk, PageCk ...)
begin
TempK := 0
for each inlink PageNi
TempK += TempNi
output (PageK) -> ("", TempK)
if has (PageK) -> (PageAk, PageBk, PageCk ...)
output (PageK) -> (PageAk, PageBk, PageCk ...)
end
VNC 远程桌面关闭 Ubuntu 11.10 特效
Ubuntu 11.10 默认使用 Gnome 3 特效,这使得远程桌面连接出现了木有『标题栏』的窗口,解决的办法是使用 gnome-session-fallback
如果没有安装 gnome-session-fallback,则
apt-get install gnome-session-fallback
然后编辑 .vnc/xstartup 文件(前提是使用 TightVNC 而不是 X11VNC),注释掉 Xsession,使用 gnome-session-fallback。
#/etc/X11/Xsession gnome-session-fallback
最后远程连接就OK了。
linux把ape+cue格式转换成flac,同时保留曲目信息<转载>
原链接http://bb2hh.blogbus.com/logs/22350588.html
确保安装了gawk,zenity,shntool,flac,mac
#!/bin/bash
# PS4="##### "
selection=`zenity --title="请选择一个.ape文件和一个.cue文件" --file-selection --multiple`
if [ -z "$selection" ]; then exit 0; fi
if [[ "$selection" != *.ape\|*.cue && "$selection" != *.cue\|*.ape ]]; then exit 0; fi
if [ `echo $selection | gawk -F "|" 'END {print NF}'` -ge 3 ]; then exit 0; fi
arg1=${selection%|*}; arg2=${selection#*|}
if [[ "$arg1" == *.ape ]];then file_ape=$arg1; file_cue=$arg2
else file_ape=$arg2; file_cue=$arg1; fi
i=0
while [ -f "temp$i" ]; do
i=$(($i+1))
done
> temp$i
iconv -f gb18030 -t utf8 "$file_cue" > "temp$i" && mv "temp$i" "$file_cue"
rm -f "temp$i"
tracks=`gawk -vRS="TRACK" 'END {print NR-1}' "$file_cue"`
#echo $tracks
all_titles=`gawk -vRS='TRACK' -vFS='\n' \
'{j=0;for(i=1;i<=NF;i++){if($i~/TITLE/){print $i;j=1}}};j==0 {print "TITLE \"#####\""}' "$file_cue" | \
gawk -F "\"" 'NR>=2 {printf("%s|",$2)}'`
j=1; while [ -n "$all_titles" ]; do
title=${all_titles%%|*}
artist=${all_artists%%|*}
num=`printf "%0${#tracks}d" $j`
rm -f "${num}.$title.flac"
((j++))
all_titles=${all_titles#*|}
all_artists=${all_artists#*|}
done
shntool split -f "$file_cue" -t '%n.%t' -o flac "$file_ape" 2>&1 | \
gawk -vvar=$tracks 'NR>=1 {print "#正在转换...";print (NR-1)*100/var};{fflush();}' | \
zenity --title="进度" --text="正在转换..." --progress --auto-kill --auto-close
all_titles=`gawk -vRS='TRACK' -vFS='\n' \
'{j=0;for(i=1;i<=NF;i++){if($i~/TITLE/){print $i;j=1}}};j==0 {print "TITLE \"#####\""}' "$file_cue" | \
gawk -F "\"" 'NR>=2 {printf("%s|",$2)}'`
all_artists=`gawk -vRS='TRACK' -vFS='\n' \
'{j=0;for(i=1;i<=NF;i++){if($i~/PERFORMER/){print $i;j=1}}};\
j==0 {print "PERFORMER \"#####\""}' "$file_cue" | gawk -F "\"" 'NR>=2 {printf("%s|",$2)}'`
album=`gawk -vRS='TRACK' -vFS='\n' \
'{j=0;for(i=1;i<=NF;i++){if($i~/TITLE/){print $i;j=1}}};j==0 {print "TITLE \"#####\""}' "$file_cue" | \
gawk -F "\"" 'NR==1 {printf("%s",$2)}'`
j=1; while [ -n "$all_titles" ]; do
title=${all_titles%%|*}
artist=${all_artists%%|*}
num=`printf "%0${#tracks}d" $j`
if [ "$title" != "#####" ]; then metaflac --set-tag=TITLE="$title" "${num}.$title.flac"; fi
if [ "$artist" != "#####" ]; then metaflac --set-tag=ARTIST="$artist" "${num}.$title.flac"; fi
if [ "$album" != "#####" ]; then metaflac --set-tag=ALBUM="$album" "${num}.$title.flac"; fi
metaflac --set-tag=TRACKNUMBER="$j" "${num}.$title.flac"
#if [ "$title" != "#####" ]; then mv "${num}.$title.flac" "${num:1}.$title.flac"
#else mv "${num}.$title.flac" "${num:1}.NoTitle.flac"; fi
((j++))
all_titles=${all_titles#*|}
all_artists=${all_artists#*|}
done
zenity --info --text="结束。"
exit 0
Fedora下的ATI显卡官方驱动的拯救
在Fedora下玩ATI显卡官方驱动让人郁闷的是每次升级Kernel或是Xorg后都要重新安装显卡驱动。一个好的解决办法是使用rpmfusion的akmod-catalyst和xorg-x11-drv-catalyst(http://forums.fedoraforum.org/showthread.php?t=155503),但当由于一些错误操作或者软件冲突导致图形界面起不来时,本文就发挥作用了。
1. 以runlevel 3登录重新安装驱动
1.1 修改/etc/inittab
id:3:initdefault:
在Fedora15中引入了systemd,这使得我们要这样改:
ln -s /lib/systemd/system/multi-user.target /etc/systemd/system/default.target
1.2 reboot
reboot
1.3 从新安装显卡驱动
./ati-driver-installer-11-5-x86.x86_64.run
2. 用live-user登录,强行卸载ati显卡驱动
2.1 以live-user登录,进入ati安装目录
[root@wjpc ~]# cd /media/_Fedora/usr/share/ati/ [root@wjpc ati]# ls amdcccle drv.list lib64 preun_doc.sh amd-uninstall.sh fglrx-install.log libGLdir.txt preun_km.sh ATI_LICENSE.TXT fglrx-uninstall.sh postun_cp.sh cp.list KernelVersionList.txt postun_drv.sh doc.list km.list postun_km.sh
2.2 将该目录下的*.sh和*.list文件中路径替换并卸载驱动
for i in `ls *.sh *.list`
do
echo $i
mv $i $i.back
cat $i.back | sed 's@/etc@/media/_Fedora/etc@g;s@/usr@/media/_Fedora/usr@g;s@/lib/modules@/media/_Fedora/lib/modules@g' > $i
done
chmod +x *.sh
./amd-uninstall.sh --force
2.3 reboot
reboot
TeX 快速参考手册
接触[tex]\TeX[/tex]排版系统已经两年了,其漂亮的排版带给了我无限的喜悦和点点自我成就感,但在这好看的TeX文档背后有着我辛酸的学习历程。需要学习的东西太多了,我又是那种懒得一点点地去研究文档的人,所以不知道什么时候我就习惯了Google各种TeX信息,然后常常被Google带到http://bbs.ctex.org社区。相信很多\TeX老手或是新手都有相同的经历吧,于是我决定写一份快速参考手册。这本手册的一大特点便是快速定位需要的信息,主要按照“代码——效果”的对应方式来组织,希望给众多\TeX爱好者一点帮助。
目前这份文档还在起草。敬请关注。