Posted in 生活 on April 26th, 2009 No Comments »
出自:http://blog.csdn.net/magicbreaker/archive/2008/03/09/2159289.aspx
傻B式的Vista,折磨人的操作系统收藏
用了2个月VISTA之后,我坚定的把它给卸载了。虽然还是正版的business。我一直觉得微软很人性化,98到2000,2000到XP,每次升级我都是很高兴的,可这次升级我实在太痛苦了。首先是该死的UAC,我启动一个程序它给我跳出来耀武扬威一番,刚装上系统这个功能就被我和谐了。另外启动慢,任务管理器里乱七八糟我都不认识,没启动过的程序横七竖八的在里面躺着。速度慢,打补丁时间长,对硬件要求高,兼容性差都不说啥了,你把我们已经熟悉的管理配置工具搞得面目全非算什么呢?
另外还有其他朋友总结出来的:
1、注册表变得更加臃肿了
注册表对于系统速度的影响,有点说不清道不明。微软设计注册表,给应用程序一个统一存放配置信息的地方,因为注册表在系统启动时加载,所以应用程序在启动时,使用注册表项比使用外部配置文件要快。但是如果注册表太大的话,将消耗很多的系统资源,为什么有那么多注册表清理软件存在,因为注册表垃圾太多了,不光是应用软件制造注册表垃圾,Windows自己也制造注册表垃圾。在制造注册表垃圾的软件当上,微软的软件应该是名列前矛,像Office、.NET Framework,都是写注册表达数量巨大的软件。Windows Vista的注册表,据估计至少比Windows XP臃肿一倍。
2、预装了更多的字体
Windows XP/2003只预装了60种左右的TrueType字体,到了Windows Vista,居然达到了190种之多,数量翻了三倍还多,大家应该知道,系统安装的字体越多,越影响速度。根据这篇文章的测试,安装100种字体,系统延迟增加5.33秒,Windows Vista预装190多种字体,那么系统启动速度将会增加延迟近10秒。而且问题是,这些字体我们需要吗?我们需要用这些字体写文档吗?需要用它们来做设计吗?基本上是不需要的。微软推出什么所谓的雅黑字体,号称花费上亿美元,一个字100美元,抄袭Mac OSX,也只是东施效颦而已,Windows Vista的界面,还是那么丑陋,和Mac OSX根本没法比。而且更搞笑的是,居然传出Windows Vista某个字体有缺字的情况。
3、捆绑了不止一个的.NET运行环境
这个东西是个速度杀手,而且是一般用户所不需要的。搞软件开发的都知道,.NET用来做Web应用还好,但是如果用来做桌面应用,是不好的,它实在太慢了,用户不能忍受一个启动时慢吞吞的,处理工作时延迟太久。所以到目前为止,用.NET开发的桌面应用软件仍然是少之又少,就像微软,也不敢用它来做Office的主要开发工具,最多只是在一些小功能上用到.NET。.NET的可恶之处,在于它与系统紧密结合,所以十分影响操作系统的速度。首先它在安装的时候写了太多的注册表项,至少几万条。第二点就是它在Windows启动时就加载了许多DLL,微软为了造成.NET速度快的假像,于是就在Windows启动时预先加载.NET的DLL(手法如同Office)。而且,Windows Vista还不止预装一个.NET运行环境。不信你去C:WINDOWSMicrosoft.NETFramework这个目录看一下,看有几个以版本号命名的目录。相比之下,.NET的对手Java就不是这样,在Windows平台上,它只注册了很少的DLL,而且并不在系统启动时加载。在非Windows平台上,Java还可以是绿色软件。
4、使用了更加复杂、花哨的界面技术
Windows Vista使用了所谓的Aero、Flip 3D界面技术,可惜这些东西并不能给用户带来方便,而且外观设计并不优秀,甚至比较丑陋。最可恶的一点是,它们消耗极大的系统资源。微软的界面技术,又是东施效颦,越效越恶心。没想到微软这种保守的跟屁虫公司居然敢把任务栏和标题栏做成黑色调,菜单栏做成青色,控制按钮搞得大小不一,而且尺寸加大,变成扁平状,这种设计好像很大胆,很有创意,但是不难发现,这种设计十分丑陋。如果说Mac OSX就像水晶一样美丽的话,那么Windows Vista看起来就像劣质的塑料和破麻布一般丑陋,要知道Mac OSX的界面那是6年前的设计呢。微软东施效颦算是效到底了,这回把图标也搞大了,可是那些图标除了带来系统垃圾以外,有什么用呢,谁要用你的大图标啊,再看看shell32.dll里面,新图标旧图标夹在一块,就是那么的不协调。什么Aero、Flip 3D,不仅是视觉垃圾,更是系统垃圾。
Posted in 生活 on April 7th, 2009 No Comments »
最近在用twisted做数据手法中间件,感觉lineReceiver的方式不足以满足对底层数据传输时的精确控制,比如压缩,按位传输之类。
因此考虑使用比较底层的dataReceived时间,那么可能需要如下代码来拆包解包。
#!python
import struct
class Test:
def __init__ (self):
self.__buffer = ”
def dataReceived(self, data):
self.__buffer = self.__buffer + data
while len(self.__buffer) >= 4:
[...]
Posted in 生活 on March 3rd, 2009 1 Comment »
真不容易,经历3天折腾,代理商让我改ip,说服务器要搬迁,我改了,他们没搬,又不会用non-windows系统,结果生生等了3天,把机器搬过来,才恢复正常。
Posted in 生活 on November 18th, 2008 Enter your password to view comments
There is no excerpt because this is a protected post.
Posted in 学习, 生活 on October 21st, 2008 No Comments »
import types
from django.db import models
from django.utils import simplejson as json
from django.core.serializers.json import DateTimeAwareJSONEncoder
from decimal import *
def json_encode(data):
“”"
The main issues with django’s default json serializer is that properties that
had been added to a object dynamically are being ignored (and it also has
problems with [...]
Posted in C++, 学习, 生活 on October 11th, 2008 No Comments »
小学就知道,数学定理中规定了余数永远非负,但是在计算机中的模运算不是这样,因此,不能把计算机程序设计中的模运算等同于数学概念中的取余数。
计算机取模运算的结果符号与被除数一致,也就是说取模运算的结果有可能为负数。
对于正数,二者计算出的结果是相等的,但是负数就不相等了。这就意味着,如果以后在使用数学中余数相关定理的时候,要注意计算机中余数的计算和数学定义不是完全一致的, 所以在计算机上,对于负数,数学定理并不完全适用。当然,对于正数,二者是没有区别的。至于为什么计算机上要这么实现,我想恐怕还是历史原因,最早的计算 机如果这样计算除法(取余是靠除法来完成的),那么就涉及到浮点数的计算以及取下界,这样,将比较大的降低效率,所以实现成了这样的方式,一直沿用至今。
Posted in NetBSD, Unix,Linux,BSD, 生活 on August 19th, 2008 No Comments »
最近整理了一下在NetBSD下建立Raid1的过程,当时建立bsdchina.org服务器的时候由于时间仓促没有将整个的制作过程记录下来,前两天抽时间在虚机中重新做了这个过程,跟大家分享。
起因:现在一些SATA的主板上自带的Raid控制器并不能被NetBSD识别,因此如何将双硬盘制作为Raid1从而提高数据安全性成为一个比较头疼的问题,最终在bsdchina.org服务器上,采用了软件模拟Raid控制器的方式来实现Raid1。使用的软件是NetBSD标准安装中自带的RaidFrame软件。
过程:
1 在VMware中建立虚拟机,两块硬盘大小10G。
2 安装NetBSD4.0系统至disk0。
3 启动系统后,dmesg|grep -i raid 检查内核是否支持RaidFrame,如果输出类似下面的格式则表示内核有RaidFrame支持。
# dmesg|grep -i raid
Kernelized RAIDframe activated
4 如果没有RaidFrame支持,请先编译内核使其支持RaidFrame。
5 执行df,查看硬盘使用情况。
disklabel -r wd0
# fdisk /dev/rwd0d
通过上面的一些命令,可以帮助我了解目前虚机中第一块硬盘的情况,接下来要在第二块硬盘上做一些准备工作,核心的操作就是将第二块硬盘wd1中的全部扇区用0填充,命令如下:
# dd if=/dev/zero of=/dev/rwd1d bs=8k count=1
执行完毕后,通过如下的命令来确认第二块硬盘上的mbr和全部的数据已经被清空。
# disklabel -r wd1
观察上面的信息,offset都为0证明全部分区没有数据占用。由此可以确定硬盘上既没有数据也没有mbr引导记录。
接下来,我将第一块硬盘上的mbr中的引导记录传送至第二块硬盘。在此之前,先将第二块硬盘wd1设置为可启动。
# fdisk -0ua /dev/rwd1d
按照如下的内容进行回答。
fdisk: primary partition table invalid, no magic in sector 0
Disk: /dev/rwd1d
NetBSD disklabel disk geometry:
cylinders: 19386, heads: 16, sectors/track: 63 (1008 sectors/cylinder)
total sectors: 19541088BIOS disk geometry:
cylinders: 1023, heads: [...]
Posted in Linux学习笔记, 生活 on August 11th, 2008 No Comments »
vino的密碼是放在gconf xml裡面, 而且是用base64編碼方式存放
所以我的作法是…先到online的Base64 Encoder and Decoder將自己的密碼encode後,
然後再下
gconftool-2 -s -t string /desktop/gnome/remote_access/vnc_password 編碼後的密碼
這樣一來就可以再次用vnc連上遠端電腦了
以密碼”test”為例 , 經過base64編碼得到”dGVzdA==”
gconftool-2 -s -t string /desktop/gnome/remote_access/vnc_password dGVzdA==
Posted in 生活 on May 19th, 2008 No Comments »
出处:http://axp1.csie.ncu.edu.tw/~rick/blog/?p=162
ubuntu 7.10 下使用 VirtualBox 時,欲設定 USB 裝置時,會跳出 “Could not load the Host USB Proxy Service (VERR_FILE_NOT_FOUND). The service might be not installed on the host computer.” 訊息,表示沒有權限。這個問題其實是因為 ubuntu 7.10 預設把使用 USB 的權限關了。解決方法如下:
1. 開啟 /etc/init.d/mountdevsubfs.sh
$sudo vim /etc/init.d/mountdevsubfs.sh
2. 找到這段文字:
#
# Magic to make /proc/bus/usb work
#
#mkdir -p /dev/bus/usb/.usbfs
#domount usbfs “” /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
#ln -s .usbfs/devices /dev/bus/usb/devices
#mount –rbind /dev/bus/usb /proc/bus/usb
將 comment [...]
Posted in 生活 on May 19th, 2008 No Comments »
安装过程中会提示编译vboxdrv的kernel-module 。需要准备以下软件包
apt-get install build-essentials
apt-get install linux-headers-`uname -r`
并且执行sudo m-a prepare,这句话必须执行