Felix Yan | 2011-04-12 | 215 views
今天公交车堵在路上, 蛋疼的拿出本本开机, 用爪机的Wi-fi hotspot打开了分享, 但是使用wifi-select的时候却提示连接失败…
失败时候的提示类似如下:
:: WirelessLAN up [BUSY]
...
DHCP IP lease attempt failed [FAIL]
经各种测试和纠结后, 后来在Archlinux论坛上找到可行解了:
修改此连接的profile文件, 增加一行:
然后…再连接就可以啦!
(因为Google搜索此问题这个解法并不在最前面, 而且前面的几个解都很ugly而且不好使..于是在此记录一下^_^)
参考资料: https://bbs.archlinux.org/viewtopic.php?id=55901
Felix Yan | 2011-04-12 | 133 views
Dabr里采用的靠谱的Autolink库让我在写新浪微博应用的时候很是心动, 于是拿来改了改…除了修改了@中文人名,#标签#等匹配方式, 和url匹配末尾的左方括号[问题(因为新浪微博上许多人发url后会按一个表情- -), 还增加了email匹配功能
请注意: 此代码继承原作者的 Apache License v2进行授权.
阅读全文(Read the rest of this entry »)
Felix Yan | 2011-04-12 | 301 views
为这个问题Felix搜索了一圈, 几个页面上的方法各有问题, 结合自己以前使用Ubuntu里dnsmasq的经验, 拼凑起来成功实现了, 于是就留下这篇笔记啦~
netcfg的前期配置这里不再赘述, 有需求的盆友请移步ArchWiki
新建Ad-hoc热点样例:
CONNECTION="wireless"
INTERFACE="wlan0"
SECURITY="wep-old"
IP="static"
ADDR="< 本机IP>"
ESSID="< 网络名>"
KEY="s:< 密码>"
PRE_UP="ifconfig wlan0 down; iwconfig wlan0 mode ad-hoc"
QUIRKS=(prescan predown)
如果网卡不一样请修改=.=
这个配置在我这里可以完全正常工作(虽然不知为何建立的网络会多两个双引号= =|||)
接下来配置dnsmasq: 修改/etc/dnsmasq.conf:
no-resolv
no-poll
server=4.2.2.1
server=2001:470:20::2
dhcp-range=192.168.0.100,192.168.0.200,12h
dhcp-option=3,< 本机IP>
dhcp-option=6,< 本机IP>
注意本机IP要和上面的IP段在一个网段哟^_^
最后…至于通用的iptables和sysctl.conf…我就不说啦..哈哈~~~
阅读全文(Read the rest of this entry »)
Felix Yan | 2011-04-11 | 341 views
Hello Felix~
于是…在上次愤怒的卸载掉arch几周之后, 我又忍不住伸出猫爪了~~
这次很乖的Follow着wiki安装, 可是某几个问题依旧没有在wiki上得到(能看懂的)答案, 于是在各种折腾之后…算是解决了吧!
在此记录下解决的过程, 以免自己以后忘掉~!
1, KDE英文locale启用ibus输入中文
首先是需求: 我选择的桌面环境是KDE, 而我要让所有的QT和GTK应用程序都能正确调用ibus输入法!
(题外话: 我把dbus @kdm都加到DAEMONS里才可以正常用KDE4的, 这个wiki里貌似没说耶…)
打开 ~/.bashrc, 在前面加上下面几句:
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
然后重启X就好啦~
注意: 如果在GTK程序里仍然不行(貌似不是必然的…吧?), 还需要编辑 /etc/gtk-2.0/gtk.immodules, 找到
"/usr/lib/gtk-2.0/2.10.0/immodules/im-xim.so"
"xim" "X Input Method" "gtk20" "/usr/share/locale" "ko:ja:th:zh"
替换为
"/usr/lib/gtk-2.0/2.10.0/immodules/im-xim.so"
"xim" "X Input Method" "gtk20" "/usr/share/locale" "en:ko:ja:th:zh"
(也就是让en的locale也能调用啦~!)
阅读全文(Read the rest of this entry »)
Felix Yan | 2011-03-24 | 172 views
猫在Linux里用习惯了配置后很好使的中键滚动(TP的小红点+中键来滚动神马的), 以及左键拖选/中键粘贴功能, 现在在Win下也想把他们找回来…
此脚本的效果是:
- 左键拖选文字: 复制
- 短按中键(<0.15s): 粘贴
- 长按中键(>0.15s): 滚动
- Shift+中键: 中键点击(用于浏览器新标签打开/关闭标签页等)
熟悉的朋友当然可以进一步更改这些行为以适合自己的需求^_^
*中键滚动: 虽然TrackPoint的官方驱动也提供了滚动的功能(而且算是好使), 不过他只允许中键滚动, 不能做到轻点粘贴, 此外默认情况下还不支持QQ..
**原脚本来自:
- http://www.autohotkey.com/forum/topic47816.html
- http://forum.notebookreview.com/5947142-post6.html
Felix 把这两个脚本进行了合并, 并进行了一些修改以使他们能共同工作, 以及修改了一部分的特性.
Changelog:
- 3/25/2011: 修复切换窗口时Ctrl-C的不正常表现, 修复windows cmd界面无法复制的问题.
- 3/24/2011: 第一个版本,基本可以做到正常工作…
阅读全文(Read the rest of this entry »)
Felix Yan | 2011-03-13 | 178 views
于是又为自己挖了个坑, 开了一系列新笔记…
基于某些原因(boa丑爆了而且Bug太多啊!!有没有!!)我放弃了wxPython, 投奔Qt了…
首先赞一下Qt Designer 简单的画窗口过程, 还是相当像我熟悉的VB6的(这个真不是贬低..)…
下面就是某些笔记啦!
1, Let’s Begin!
首先… 由于eric的编辑体验挺糟糕..(特别容易崩溃神马的, 而且我不知道怎么让它按F2直接运行别提示我输入参数….), 但是本懒猫又不肯放弃它一键compile ui到py(可以一键处理所有ui文件)的功能, 以及自动generate事件代码的功能, 于是…猫在eric里添加窗口, 然后调用Qt Designer编辑, 保存后compile, 然后generate dialog code神马的…之后在喜欢的编辑器Geany里打开generate了dialog code的那个py文件(主程序文件神马的), 再继续填充各种代码…
2, 多选菜单点击后不消失..
猫做了个多选菜单, 有十来项多选项… 如果每次点开菜单再选其中某个, 又要再次点开菜单选下一个, 还是一件挺崩溃的事情…
于是本猫手动添加槽(注意, 不能用Slots直接拖的方法, 因为你拖不到菜单项上, 必须在Signal/Slot Editor里手动添加):
菜单项actionXXX的triggered() => 相应的菜单menuXXX的show()
于是现在点击菜单项, 会勾上勾, 同时菜单也不会消失哟!
阅读全文(Read the rest of this entry »)
Felix Yan | 2011-03-10 | 387 views
今天本猫的本本突然开机后最大亮度只能调到30%, 各种漆黑一片纠结无比, 感觉有可能是intel驱动的bug(未确定)…
然后…很笨笨的一度以为是高压条灯管之类的出问题了, 直到某次重启发觉引导界面很亮- -
各种Google之后找到一篇blog及其评论里比较详细的介绍了两种命令行调节屏幕亮度的方法 原理不一样.其中的第一种解决了我屏幕亮度的问题, 第二种让我写出了一个很蛋疼的程序..恩..下面分别介绍.
1, 用setpci命令对显卡设备操作来硬调节亮度:
sudo setpci -s 00:02.0 F4.B=xx
其中的00:02.0来自于
命令输出结果中显卡对应的序号, 比如我的:
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
而xx对于不同显卡有不一样的取值规律, 在我这里是00最暗, ff最亮(16进制), 而原文作者和我正相反, 读者可以自己试试~~
2, 用xgamma来软调节亮度:
这里x的取值在0.1到10之间, 0.1最暗, 10最亮.
阅读全文(Read the rest of this entry »)
Felix Yan | 2011-02-26 | 128 views
Felix 弄来了一摞光硬碟(DVD-RAM), 打开 Wikipedia 看到了那个夸张的10W次重写和30年不损坏, 感到各种爽, 于是插入光驱随便存了一堆东西进去…
于是, 问题来了: Nautilus 把这张 DVD-RAM 当作普通空光碟了, gvfs 仅挂载了一个空刻录目录(就像WinXP自带的刻录功能一样), 而我把一坨东西拖进去点刻录, 会调用 brasero, 然后提示: 剩余空间不足…
WTF? 我的 DVD-RAM 是双面的, 每个单面也有 4.7G, 怎么可能装不下 3.3G 的不大的(小)电影呢?
于是跑去问谷哥, 悲剧的没有遇到和我遇到同样问题的人(貌似 DVD-RAM 实在太小众了?). 但是大家都纷纷指出(见这里)要用udf这个文件系统..于是我打开 Disk Utility, 点Format, 但是在列表中并没有找到udf这个文件系统…
于是…上命令行吧!
sudo apt-get install udftools
然后看看 Disk Utility 里这光盘的设备在哪里(我的在/dev/sr1), 然后手动建文件系统:
sudo mkudffs --utf8 --media-type=dvdram /dev/sr1
然后你会看到类似这样的输出:
start=0, blocks=16, type=RESERVED
start=16, blocks=3, type=VRS
start=19, blocks=237, type=USPACE
start=256, blocks=1, type=ANCHOR
start=257, blocks=16, type=PVDS
start=273, blocks=1, type=LVID
start=274, blocks=2236173, type=PSPACE
start=2236447, blocks=1, type=ANCHOR
start=2236448, blocks=239, type=USPACE
start=2236687, blocks=16, type=RVDS
start=2236703, blocks=1, type=ANCHOR
然后等光驱没动静之后手动弹出一下光盘再插入, Disk Utility 里就会惊喜的看到插入的 DVD-RAM 被识别出来了! 卷标 LinuxUDF 文件系统: udf. 然后用 Nautilus 挂载上来, 就可以和普通可移动磁盘一样操作了:)
PS: 值得一提的是写入速度确实够慢(3M/s), 不过仅仅用来 Data Backup 还是很不错的.
Felix Yan | 2011-01-25 | 1,259 views
首先赞PT大牛帮了很多忙, 本文大部分原型来源于 http://apt-blog.net/moinmoin-on-nginx-via-fastcgi-and-uwgi
UPDATE: 更新到 nginx 1.0 / uwsgi 0.9.6.8 的配置 – 2011/4/15
然而由于现在那几个玩意版本更新挺厉害, 有许多配置都不一样了, 再加上本猫是要让它运行bottle, 所以决定重新整理一下:)
下面这段关于 uwsgi 的介绍 来自PT牛的那篇文章:
uwsgi充当了python解析器的角色,使用wsgi的接口和Python程序交互,这个过程中做了优化,和上层nginx之间则设计了更加轻量的协议。nginx0.8.40以后官方默认带了uwsgi的协议模块,所以使用很方便。
恩, 由上面这段话 我们可以淡定的看出, 官方源里那个残念的0.7.x的nginx肯定是满足不了要求的啦!
阅读全文(Read the rest of this entry »)
Felix Yan | 2011-01-23 | 254 views
效果图: 
原插件来自 http://www.discuz.net/thread-1624289-1-1.html
原插件是 For Discuz 7.2 的, 我进行了一些修改使得它在 Discuz X1.5 下正常工作.
注: 本插件用到的 js/图片 资源请到上面的地址下载.
下面就是安装步骤了 很抱歉这个插件仍然一点都不GREEN
1, 编辑 source/function/function_discuzcode.php 找到这几行:
if($allowbbcode) {
if(strpos($msglower, 'ed2k://') !== FALSE) {
$message = preg_replace("/ed2k:\/\/(.+?)\//e", "parseed2k('\\1')", $message);
}
}
修改为:
if($allowbbcode) {
if(strpos($msglower, 'ed2k://') !== FALSE) {
$message = preg_replace("/\s*\[emule\](.+?)\[\/emule\]\s*/ies", "emu('\\1')", $message);
}
}
阅读全文(Read the rest of this entry »)