捡了个便宜:花600买了antec cp-850,这样我的p183就能形成底部风道了,哈哈!就是担心将来不知道怎么保修。
出了原来的电源,备图。这东西其实不错,就是不是原配啊。
Don’t let me think是UX界的名言,简洁而一语见的。
但是为什么要这样呢?其他领域为什么没有这个说法呢?
一个建筑的参观者不能对建筑说“don’t let me think”,我们也不能对小说有这样的要求。对电影可能会有这样的说法:“噢,不要搞的那复杂,我只想看一场肥皂剧。”
软件只是工具。你可能用Blender制作电影,然后喜欢上这个工具,觉得免费而且效率还不错。但其实你更在意的是最后制作出来的电影。
犹如电脑特技对电源的影响一样,纸张对书籍的影响更为深远。技术的发展是为了让思想更加便捷,比如计算机网络的出现让思想交流更为方便。
盖茨也说过:“I’m a great believer that any tool that enhances communication has profound effects in terms of how people can learn from each other, and how they can achieve the kind of freedoms that they’re interested in.”
为人服务的人成了让人羡慕的人,而且这种感情仿佛超过了对自由的兴趣。
这些天准备换个固态硬盘,60G要700块,价钱还行。不过想想看这么小的容量只能装一个系统,win7我平时用的比较多,那多给win7吧。不过这样系统和软件重装不说,大的软件还得放到机械硬盘上,不然60G一不小心就满了。复制来复制去我是最讨厌的了,算了。
后来想换换SB系统吧,i7 2000k,四核八线程,牛B啊。不过代价是:1)系统重装;2)黑苹果又得重新折腾,这个是最麻烦的。算了,我现在Q8300四核也行啊。
那就换个CPU散热器,不贵,500,HR-02。不过还要拆机箱,老麻烦啊!而且我觉得现在的散热器已经够用了,不值得折腾。
可以看到,硬件的折腾没啥意思,就是买东西,如果你没有特别的像高性能计算或者三维渲染之类的需求,而只是上上网、玩玩大众化的游戏,一般的计算机很容易就能满足你的要求。折腾的空间不大。继续的折腾也只是为了折腾而折腾,失去了方向。
(为什么这样?大概的说是没自信、无聊、好奇、还有完美主义。大概还有一点,是对机器的迷恋。为什么对机器迷恋?大概是机器有可靠性…)
—————————————————–
刚才看温网决赛,纳达尔输了,郁闷。本来以为对他都是很放心的,这小子总是越战越勇,关键时刻也不掉链子。不过今天对战小德-德约科维奇来看,还是战术上没有找到好的方法,一拉锯就不行,唉,神勇有啥用呢?
看别人打球总是惊心动魄,纳达尔输了也替他感到十分的惋惜,我甚至想,这下这小子怎么熬过今晚啊!而我们普通人生活总是平平淡淡,看别人在那里搏杀的激烈,回过头一想,我的生活还是继续过,多好啊,也没有输球的沮丧,当然也没有赢球的狂喜。对于我来说,那需要多么强大的内心。
(网球的魅力在于发球局的破发和反破发、局点40分制、抢七,这让比赛更有对抗性和戏剧性,反败为胜的例子经常看到。所以这种情况下,内心的强大十分重要,胜败都要保持内心的平衡,轻微的心理波动都会让球走样,所以选手大都是一副“扑克牌”脸。相同的还有围棋。中年人大多喜欢这种不动声色的游戏。)
看了这位老兄的blog后,我对webkit也有了兴趣。webkit可以根据布局结构来动态的产生HTML控件,这个在很多可视化开发工具里面可以看到,比如Netbeans,XCode都可以用拖放的方式开发UI。我原来很好奇,这些IDE是如何显示这些控件的呢?因为这些控件和IDE本身的控件有一致外观(OS的主题外观),如果使用普通的API来搞,比如”new JButton()”来构造UI,感觉有点头晕。
找了下,webkit的代码Source\WebCore\platform\gtk\RenderThemeGtk3.cpp是用来创建Gnome 3外观风格的控件,比如方法paintToggle就是对应单选框。我把里面的代码抽取出来,做了个小例子。费了老大劲,因为压根不知道如何得到context和cairo_t这些上下文信息(或者称为状态机,Functional Language反感的就是这个)。GTK的getting started在这里。
/**
this code show how to render a button with gtk 3
Some code copy from webkit/Source/WebCore/platform/gtk
*/
#include <gtk/gtk.h>
static gboolean
draw_cb (GtkWidget *widget, cairo_t *cr){
GtkStyleContext *context;
context = gtk_widget_get_style_context (widget);
gtk_style_context_save(context);
gtk_style_context_add_class(context,GTK_STYLE_CLASS_CHECK );
gtk_style_context_set_state(context, GTK_STATE_FLAG_ACTIVE);
int i;
for(i = 0; i < 20; i++){
gtk_render_check(context, cr, 10*(i+1), 10*(i+1), 10, 10);
}
gtk_style_context_restore(context);
}
int
main (int argc, char *argv[]){
GtkWidget *window;
GtkWidget *ebox;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
ebox = gtk_event_box_new ();
gtk_event_box_set_visible_window (GTK_EVENT_BOX (ebox), TRUE);
gtk_container_add (GTK_CONTAINER (window), ebox);
g_signal_connect_after (ebox, "draw", G_CALLBACK (draw_cb), NULL);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
gtk_widget_show_all (window);
gtk_main ();
return 0;
}
上面的截图中可以看到checkbox有native的looking(本人非Nike控),不同的是这些控件只是画上去的(没有JButton这种类的层次结构),没有event binding,也就是MVC只有MV。C的一块可能就由浏览器接过来来统一管理,那得遵循HTML Dom Event Model的规范。
这里不考虑CSS的外观。Gnome 3也是用CSS来控制外观,不知道是不是借鉴webkit。Windows的theme我还没有找到在哪里。
从webkit的代码看其已经支持Gtk+-3.0的back-end,不过Chrome还没有推出相应版本,据说是因为他跟Gtk+-2.0绑的太紧,跟Ubuntu走的太近(Ubuntu没有支持gnome 3)。唉,才几年又轻又快的东东就成了个史前巨无霸。