IT log

moral & concision is my dream.

Archive for May 10th, 2009

Discovery SysinternalsSuite

其实 SysinternalsSuite 工具包在我电脑上安装已经好几年了, 最初我只认识其中的 procexp, 并不知道它是属于 sysinternals, 后来又相继接触了 zoomit, autoruns , adrestore, junction 等功能, 似乎我知道 sysinternals 是在启用了其自动运行检测功能时发现的一篇文章.

不过今天我所要谈的是其中 Desktops 程序, 这个程序功能我以前也早就知道, 但一直没有放在心上, 但恰好的是前些天使用 linux 下的 GNOME 时我比较羡慕其中的多个工作平台切换的功能, 这样就对于程序员来说会很方便, 因为我时常要同时打开 msn, firefox, thunderbird, sqlserver, mysqlquerybrowser, D:, php_manual.chm 等好多个文件, 导致桌面空间不够使用, 最小化切换很不方便, 当时就幻想在Windows 中有一个类似的桌面/工作台切换功能的程序就好了.

而就在不久我在清理电脑上的工具软件时, 再次打开SysinternalsSuite 文件夹使用了Desktops 后, 立马察觉到这不就是我正需要的吗.

我清理软件的方法就是, 把所有的工具软件都趁 damipan.com 在测试期间不收费, 把5G(以前高峰时超过30G)左右的软件都上传上去, 以后如果收费的话, 我会先删除盗版系统盘, 再删除大于100M的, 最后删除网上不易找到的.

下面对我以前用过的其他几个程序的功能简单介绍一下:

zoomit,  放大屏幕, 可有利于在线阅读. 其中的 live zoom模式可以在放大屏幕的同时进行页面操作

autoruns , 查看系统启动时运行的所有程序

adrestore, 恢复域控制器的用户目录

junction, 在windows生成类似linux中的符号链接

posted by Leon Tsang in Live - Work and Struggle and have No Comments

DIY Development Framework

我刚进一步完善了自己的页面调试代码以及修复了其他一些和 W3C标准不兼容的地方.

我觉得自己做的这么辛苦(包括写自己的代码和整合别人的代码), 如果要我以后完全放弃而使用其他的 PHP Framework 我肯定难以做到, 下面是我刚完成的两个文件 c_debug.php d_debug.js , 虽然还是需要一些修正, 但大部分功能都已经可以正常运行了, 小部分功能在测试页的情况下正常但复杂页面情况下还有问题.

c_debug.php
————————————————-

<?PHP
echo <<<END
<script type='text/javascript' src='/inc/d_debug.js'></script>
<script type='text/javascript' src='/inc/de_maths.js'></script>
<script type='text/javascript' src='/inc/de_base64.js'></script>
<script type='text/javascript'>
document.oncontextmenu = nocontextmenu; 
</script>
END;

$post=base64_encode(arridx2str($_POST));
$get=base64_encode(arridx2str($_GET));
$session=base64_encode(arridx2str($_SESSION));
$request=base64_encode(arridx2str($_REQUEST));
echo <<<END
    <input name=htmlsrc type=button value=HTML onclick="dispvar(Base64.encode(document.documentElement.innerHTML));">
    <input name=POSTtsrc type=button value=POST onclick="dispvar('$post');">
    <input name=getsrc type=button value=GET onclick="dispvar('$get');">
    <input name=SESSIONsrc type=button value=SESSION onclick="dispvar('$session');">
    <input name=REQUESTsrc type=button value=REQUEST onclick="dispvar('$request');">
END;

echo <<<END
    <input name=fillform type=button value="Fill Form" onclick="filltext();">
END;
?>

d_debug.js
————————————————-

// JavaScript Document

//display global variable
function dispvar(svar){
    var win_html=window.open('about:blank','_blank');
    win_html.document.write('<textarea cols=150 rows=30>'+Base64.decode(svar)+'</textarea>');
}

//fflag=1 change existing  value
function filltext(fflag){
    fflag=(typeof(fflag)=="undefined")?0:fflag;
    var formarr=document.forms;
    var formlen=formarr.length;
    if(formlen>0){
        for(var i=0; i < formlen; i++){
            var eles=formarr[i].elements;
            var elelen=eles.length;
            if(elelen==0){continue;}
            for(var j=0; j < elelen; j++){
                var ele=eles[j];
                if(ele.type=="radio"){ele.checked;}//alert(ele.value);
                if((fflag || ele.value) && (ele.type!="hidden") && (ele.type!="button") && (ele.type!="radio")){
                    switch(ele.type){
                        case "text":
                            ele.value=randoms(5,0,1);
                            break;
                        case "textarea":
                            ele.value=randoms(50,1,1);
                            break;
                        case "select-one":
                            var idx=randomir(ele.options.length);
                            ele.options[idx].selected;//alert(ele.options[idx].value);
                            break;
                        default:
                            alert(ele.type);
                    }
                }
            }
        }
    }
}
Tags: ,
posted by Leon Tsang in Live - Work and Struggle and have No Comments