Jan 16
通过AVG杀毒,不放心的话就跳过吧。

NTSD的功能非常的强大,用它强行结束某个比较顽固的进程还是很好用的,基本上除了WINDOWS系统自己的管理进程,ntsd几乎都可以杀掉。XP下是自带的,但是Win7没有,下载后解压到C:/windows/system32下,然后在cmd下,就可以进行操作了。

命令格式:
ntsd -c q -pn ***.exe (***.exe 为进程名,exe不能省)
ntsd -c q -p PID

命令范例:ntsd -c q -pn explorer.exe

下载文件 (已下载 10769 次)
Jan 13
google搜到的一篇Disable Outlook's Junk E-mail Filter @
http://www.outlook-tips.net/howto/disable_junkfilter.htm

需要打开注册表编辑器,C:\Windows\regedit.exe

如果是Outlook 2007,修改 (如果没有就创建):
HKEY_CURRENT_USER\Software\Policies\Microsoft\office\12.0\outlook
DWord: DisableAntiSpam
Value: 1

如果是Outlook 2010,那么路径中的12变成14,其他不变:
HKEY_CURRENT_USER\Software\Policies\Microsoft\office\14.0\outlook

删掉这个键可以恢复垃圾邮件过滤。

--

p.s. 在outlook 2010中,“最小化到托盘”的设置不知道在哪里,我也是通过直接修改注册表实现的:
在上述路径下创建Dword键MinToTray值为1即可。

正如sandy所言,“折腾了很久,我决定放弃了,还是去下载office03算了,一个软件能做到如此难以掌握也亏M$费心了。”
Dec 12

VNCServer分辨率设置 不指定

felix021 @ 2010-12-12 20:26 [IT » 软件] 评论(0) , 引用(0) , 阅读(4247) | Via 本站原创
不用费心机去搞 lxrandr 或者 xrandr 或者 Xorg.conf 什么的了,只要启动server的时候这样:

$ vncserver -geometry 640x480
Dec 2
前一阵发现"gcc -static -lm a.c"总是会出现编译错误,后来不得已改成"gcc -static -lm a.c /usr/lib/libm.a",才通过,也算是歪打正着。最近int ijk同学在使用我的woj-land,给我反馈了这个BUG,mark一下,并查到了原始文档,详情如下:

zz from http://gcc.gnu.org/onlinedocs/gcc/Link-Options.html

3.13 Options for Linking

......

-llibrary
-l library

Search the library named library when linking. (The second alternative with the library as a separate argument is only for POSIX compliance and is not recommended.)
It makes a difference where in the command you write this option; the linker searches and processes libraries and object files in the order they are specified. Thus, `foo.o -lz bar.o' searches library `z' after file foo.o but before bar.o. If bar.o refers to functions in `z', those functions may not be loaded.

The linker searches a standard list of directories for the library, which is actually a file named liblibrary.a. The linker then uses this file as if it had been specified precisely by name.

The directories searched include several standard system directories plus any that you specify with -L.

Normally the files found this way are library files—archive files whose members are object files. The linker handles an archive file by scanning through it for members which define symbols that have so far been referenced but not defined. But if the file that is found is an ordinary object file, it is linked in the usual fashion. The only difference between using an -l option and specifying a file name is that -l surrounds library with `lib' and `.a' and searches several directories.
Dec 1
防火墙只开了80端口,因此在外网连接服务器的ssh比较麻烦。不过可以通过apache提供的proxy模块来绕过这个限制。

在Ubuntu下面:

$ sudo a2enmod proxy
$ sudo a2enmod proxy_connect
$ vi /etc/apache2/mod-enabled/proxy.conf
引用
<IfModule mod_proxy.c>
    ProxyRequests On
    <Proxy *>
        AddDefaultCharset off
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyVia On
    AllowConnect 22
</IfModule>

$ sudo apache2ctl restart

然后就可以通过apache提供的http代理来连接服务器的22端口了。

因为ProxyRequests On,以及AllowConnect 22,所以可连到任意网站22端口,所以最好在Allow from all上面做一点限制,避免这个http proxy被滥用。如果需要访问其他服务,可以在AllowConnect后面增加更多端口,比如AllowConnect 22 443,这样就支持https的代理了。
Nov 17
数码相机拍下来的照片普遍偏大,在很多情况下,需要保存的照片并不需要很高的分辨率和压缩质量,所以会用一些程序,比如ACDSee、QQ影像、ImageMagick之类的程序来批处理照片,将它们的尺寸缩小,并适当降低压缩比,使得照片的存储、传输更方便。

这样一来会遇到的问题是,EXIF信息的丢失。上述的这些工具在处理照片的时候都有意无意地忽略了EXIF,让人很郁闷(令人感到惊奇的是,粗糙的windows画图板在缩放、保存图片的时候EXIF信息是不会丢失的)。

最近处理WHUMSTC10周年party照片的时候就遇到这个问题。照片总共有605张,使用Canon 450D最高分辨率拍摄,一共2.4G+,一张照片平均有4MB。通过QQ影像压缩到原来的1/4,并且压缩质量调整为85%,所有照片的体积立即缩小为176M左右。但是EXIF信息的丢失,使得很有含金量的“照片拍摄时间”也随之丢失。

于是试着去解决。本来想用PHP自带的EXIF库(最熟PHP,没办法-.-),但是发现它只支持Read,不支持Write。又找了找PYTHON的,挺多,但是用起来总不对头,就没继续折腾。最后还是在Ubuntu下apt-cache search exif,发现了exiv2这个实用工具,非常赞。

对一张照片处理,执行:
引用
$ exiv2 ex xxx.jpg
(ex=extract)会将照片的exif信息保存到同文件夹下的xxx.exv文件中;
引用
exiv2 in xxx.jpg
(in=insert)则会将同文件夹下的xxx.exv信息插入到xxx.jpg中。

需要批量处理的话,完整过程是这样:

1. 使用QQ影像或者使用命令行的ImageMagick将src/*.jpg压缩转换,保存到dest/*.jpg。注意相同文件的文件名保持不变。

2. 在src下面执行
引用
~/src$ exiv2 ex *.jpg
将所有文件的exif信息导出

3. 将所有exv文件拷贝到dest文件夹
引用
~/src$ mv *.exv ~/dest

4. 恢复exif信息
引用
~/dest$ exiv2 in *.jpg


如果是windows,可以從這裡下載exiv2的可執行文件:http://www.exiv2.org/download.html ;如果有Ubuntu的話,直接apt-get install exiv2就好,當然也可以自己編譯安裝,只要身體裡兩個圓形的器官不會隱隱作痛就行。。

終り.
Nov 1
因为这两个东西占了地方,每次选盘符时总需要往下拉滚动条,很不爽。在网上搜到3篇文章,这里转载记录一下。

http://bbs.pcbeta.com/viewthread.php?tid=729301
http://bbs.pcbeta.com/viewthread.php?tid=729310
http://bbs.pcbeta.com/viewthread.php?tid=733262

“库” @  [HKEY_CLASSES_ROOT\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}]
“家庭组” @  [HKEY_CLASSES_ROOT\CLSID\{B4FB3F98-C1EA-428d-A78A-D1F5659CBA93}]

修改注册表这里,需要右键->权限,给Administrators “完全控制” 的权限。

如果需要去掉这两项的显示,分别把键值 ShellFolder\Attributes 由原来的 b080010d 改为 b090010d,然后注销(其实Kill掉explorer也行)就行了。如果不想去掉显示,那么修改 SortOrderIndex 键值(默认是0x42、0x43),改到0x52或者更大,就会排到“计算机”后面了。

点击在新窗口中浏览此图片
Oct 29

闲谈 Restricted Function 不指定

felix021 @ 2010-10-29 21:02 [IT » 软件] 评论(4) , 引用(0) , 阅读(16390) | Via 本站原创
这个词组在ACM/ICPC的各大OJ出现频率还是很高的,意思是使用了“受限制的函数”。

而且几乎没有准确的文档可以定义什么是"Restricted Function"(RF,非彼“RF”)。因为开发者也很郁闷。一个大致可以接受的解释是,任何可能威胁到系统安全的代码都不应该被执行。更严格一点,任何解题所不需要用到的函数都不应该调用。但是这两个解释都不够准确。

作为一个需要编译并运行用户任意代码的系统,必然需要对用户的代码/程序进行额外的处理,过滤可能对服务器产生危险的操作。在woj-land ( http://code.google.com/p/woj-land ) 的实现中,是采用运行时监控程序的执行,通过ptrace来拦截并检查每一个系统调用,如果发现系统调用不在白名单中,即出现RF。具体的代码可参见:http://code.google.com/p/woj-land/source/browse/trunk/code/judge/rf_table.h

白名单机制是最安全的了,但是有缺陷。

首先是很难考虑到所有的情况。举例来说,你用C语言写的A+B来测试的话,需要的系统调用只有几个。大多数情况下能够满足要求,但是有时候却发现不对。比如说SYS_futex这个系统调用,如果不被允许,glibc写的程序在执行时可能会出问题。

其次是过于严格,导致部分常用且不影响系统安全的函数被限制死。比如说fflush,只需要用到SYS_lseek调用即可。

再次是有些异常情况。一个典型的情况是使用 qsort(arr, N, sizeof(arr), cmp); 这样的代码。实际上应当是sizeof(int),不小心写错了,访问出错。典型的情况是某些非法内存访问,Glibc会open("/dev/tty",...),write()一些错误信息,然后open("/proc/self/maps", ...)把进程的内存映射表输出。还有一个更常见的情况,那就是用qsort。GCC的qsort实现,会主动open(/proc/meminfo),获取一些信息,通过这些信息来最优化排序时的内存管理。于是本来应该是运行时错误(段访问异常),即Runtime Error(SIGSEGV)的情况也被误判为Restricted Function了。

終り.

闲谈 Restricted Function #2
分页: 4/12 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]