XieWenjie's blog
Around emacs, linux, etc.
Around emacs, linux, etc.
May 22nd
第三天的目的地是库布齐沙漠,大自然真的很奇特,黄河北边是草原,南边就是沙漠,路线从包头向南经过一个浮桥一直向西,一路都是县道,虽然路面偶尔有破损,但是基本上都很好走。
在黄河南边那段路上经常找不到信号,中间GPS掉了几次,所以有漂的比较厉害的点,直接无视就好了,反正就是沿着黄河南岸的县道走的。
May 22nd
历时7天的旅程在昨晚8点抵达北京后画上了一个句号,7天里一路经过了草原、荒漠、沙漠绿洲、陕北、壶口瀑布、平遥古城,中间四度穿越黄河,沿着走过黄河的大半个几字,独自但不孤独。
本着一个理科生应有的精神,对全程做了GPS记录,忽略那些没找到信号导致的比较奇特的点,全程如下图,最后一段蓝色的是全程高速,没有记录的意义就直接补上去的。
七天共计走了3127公里,其中省道县道国道等非高速占了约1/3,而最有乐趣的就是这三分之一。下一次的行程我估计会把这比例扩大到2/3以上,高速只能单纯用来赶路。
简单汇报一下七天的装备准备
7天油费、过路费、住宿、吃饭等等开销合计在3500左右,住宿约占了1000元,延安没有快捷酒店连锁住的是几天里最好也最贵的,沙漠里那天找了个当地村子里投宿,50已经算贵的了
总体就差不多这么多,下面分天图文记录~
May 15th
Maemo 5 的sdk是我目前装过的最费劲的一个手机开发sdk,先不说步骤要分好几步,单是去nokia网站上接受一个什么条款然后装上nokia-binaries这个我就一直到很后来很后来才发现不装跑不了能在Xephyr里显示的运行环境,不过话说虽然我装上了,但我现在还是没跑起来……
不过开始看Qt on maemo后,装了个madde + qt creator 2.0 beta,手机上装个mad-developer,wifi连接,好用多了。但缺点也有啊,就是比如QtMobility,想整到madde里就麻烦了些,我现在的做法是先在scratchbox里装上libqtm-dev,然后把一堆so和include拷到madde里,还没试验是否真的可用。
回过头来再看看android的界面开发,不管是gtk还是qt,不管是maemo还是symbian,不管在界面开发上还是整个程序的开发上都要更费事些,所以这门槛就高了许多,开发成本也就跟着上来了,开发人员们也就懒得为你折腾了。
那么放弃gtk放弃qt放弃html+css来一套全新的就像android那样做?这也不见得是件好事,因为你迫使大量有可能进入这个领域的开发人员放弃自己以前熟悉的来适应你来学习一套全新的开发方式。对于资深一些的开发人员来说,这是一个很不爽的事情。
想做平台,你就得伺候好两类人,一类是用户,他们需要漂亮的界面和好用的程序;一类是开发者,他们要简单和熟悉的开发方式和强大的创造空间。
May 7th
今天给erminig提了个patch 加了个定时同步功能 不得不说 小场景下python很好用 改界面都不用任何多余的操作 改完保存就能测试 也没装sdk 直接在手机上vi python做界面 c做service 似乎也是一种模式
Apr 14th
这两天在帮ld的discuz站做优化,不得不说,discuz在这方面还很不够,列一些原则和方法出来,供参考
提速通常从两方面入手
discuz现在最让我头疼的就是资源图片太过零碎和dom嵌套层次太深
Apr 3rd
令天仔细看了下ipad的相关文章,发现和我想要的还是有点差距,我想要的是这么一个东西:
于是,我只能继续等待,嗯,不对,我还有一个选择,就是放下手机,起床,打开我那近3公斤的笔记本:)
Mar 28th
两个产品的交锋比作兵事一点也不过分。蓝海红海长尾,都是得好的诠释。十则围之,五则战之,不若则避之。这些说的是要不要打,在哪和谁打,而怎么打呢?这就是文题所说,以正合,以奇胜。
何谓正合,当头炮马来跳,这就是正合。好比大家都来做输入法,你没拼音,没词组,出词慢,词库少,这能行吗?不行。这就是以正合。当然,你若一心一意去做五笔,这是另外一个战场,暂且不提。把核心的东西做好,做好了你能围别人,做不好那就等着被围吧。这就是以正合。说到这,潜台词就出来了,正合完了,就该是奇胜了。
何谓奇胜,火烧连营,暗度陈仓,这些都是奇胜。再拿输入法来说,前有紫光后有微软,左有智能ABC右有拼音加加,搜狗怎么杀出血路的?互联网词库,皮肤,这就是奇胜。你有别人没有的,同时又是用户喜欢的,这就是奇胜。
然而,往往我们只记住了奇胜,却忘了背后的正合。远的不说,为何会有长征,为何会有星火燎原,图的是正合,只打对的不打贵的,打的起贵咱再打贵的。同样咱们做产品也不能一心想着出奇招,一招定天下。不去练内功,不去练基本招,别说定天下,来个人一招你都接不下。做事业也同样是这样,不能只想学别人一夜暴富,忘了学人家那么多年的苦功。
而如果只正合呢?那就是官渡赤壁的翻版,只不过你翻版的是败方。所以我们做产品,正合之余必需奇胜,两手抓两手都要硬才行。
Feb 24th
随着android平台的成熟,智能手机混战再起。且不论3G的渗透速度,移动互联网的崛起是必然的趋势。趋势就不多废话了,总之,已经投身到手机和互联网应用的战场了,这里只单纯谈谈这段时间对几大移动平台的体会。
闲话搁下不提,最近在研究Android,写下对它的一些看法。
Android基于linux,这个没有意外,但是Android抛开了xwindow,也没有试图采用某种流行的GUI解决方案,而是把一个叫Dalvik的东西推上了舞台。
Dalvik是个虚拟机?没错,但它不仅仅是个虚拟机,Google在Dalvik里加入了手机需要的API,加入了进程管理,更关键的是,它把GUI彻底的做进了Dalvik。所以,完全可以这样认为,Android就两层:Linux,Dalvik。
那么,想做界面开发?不好意思,你只有JAVA可选。对广大的其他语言开发者来讲,这是个坏消息,但对Android来说,这却是个好消息。开发语言的单纯性会让基础平台的积累迅速且有效,开发将会更简单更快捷,同样,应用的丰富也会更迅速。
唔,如果Dalvik里的GUI接口是能够从C里调用的话,QT/GTK的移植应该并不是难事,届时,广大其他语言开发者就真的开心了。
Jan 19th
see http://thread.gmane.org/gmane.emacs.orgmode/7675 for more informations
以下是我用来export单个文件的命令
生成html
emacs --batch --eval '(progn (setq user-full-name "Your Name")(setq user-mail-address "Your Mail Address")(find-file "/path/to/file.org")(org-export-as-html 3))'
生成txt
emacs --batch --eval '(progn (setq user-full-name "Your Name")(setq user-mail-address "Your Mail Address")(find-file "/path/to/file.org")(org-export-as-ascii 3))'
Jan 18th
From http://wiki.xda-developers.com/index.php?pagename=Hermes_Modem_With_Linux
但并不是一定得用Hermes这个机器,我用的是Dopod D600,所谓的GENE,按照文中所述编译安装了usb-rndis-lite后,在手机上用Internet共享拨号连接后,NetworkManager就找到了一个新的网络设备,这时候就连接成功了
Jan 6th
Dec 1st
dump-emacs 是个好东西,不过最近老是dump失败
gdb了一下 发现挂在unexec那
google之至http://bugs.gentoo.org/show_bug.cgi?id=221281#c6
The breakage is caused by the “randomize brk()” patch.
See the LKML, http://lkml.org/lkml/2007/10/23/435:This is known to break older versions of some emacs variants, whose
dumper code assumed that the last variable declared in the program is
equal to the start of the dynamically allocated memory region.The corresponding kernel parameter is accessible via
/proc/sys/kernel/randomize_va_space, the breakage occurs if its value is 2.
结论为执行下sysctl -w kernel.randomize_va_space=0再dump即可
shell里这么写
#!/bin/bash MYEMACS=/home/x/bin/emacs-dump EMACS=/home/x/bin/emacs cat > /tmp/dump-emacs.el <<EOF (load "/home/x/.emacs") (dump-emacs "$MYEMACS" "$EMACS") EOF OLD_VASPACE=`sysctl kernel.randomize_va_space|tr -d " "` sudo sysctl -w kernel.randomize_va_space=0 $EMACS --batch --load /tmp/dump-emacs.el sudo sysctl -w "$OLD_VASPACE"
即可
Oct 16th
以前tcpdump用的比较多,主要用在诊断的时候。tcpreplay则是把tcpdump记录下来的包原样发回去
这样tcpreplay就可以用来以极快的速度复现记录下来的数据从而实现压力测试,好处在于数据比较真实
More >
Oct 6th
去年的时候发在水木里的
类似sawfish下的jump-or-exec
用于查找名为buffer-name的buffer,如果不存在则调用func,如果存在的话切换到这个buffer,如果这个buffer就是当前的buffer且给出了可选参数onfocused的话就把这个buffer作为参数来调用onfocused
因为不会用正则匹配查找buffer,所以只能全匹配。
Oct 6th
最初是因为compiz不成熟,所以一直在用sawfish,最近切到了compiz后就不能用sawfish了,非常好用的jump-or-exec也没了,本来打算自己搞个的,发现已经有人弄过了。地址在 http://pluskid.lifegoo.com/wiki/JumpOrExec.html
通过一个python脚本和wmctrl来实现的jump-or-exec,配合xbindkeys,基本上不用再担心切换wm的问题了
不过python脚本的启动明显没有shell脚本来的快,改写成shell脚本代码如下
More >
Recent Comments