3 tháng 7, 2009

Thủ thuật trong window 7

1. Chống phân mảnh siêu tốc

Dữ liệu lưu trên ổ cứng thường bị phân tán sau một thời gian hoạt động. Điều này khiến quá trình hoạt động, tốc độ truy xuất dữ liệu của hệ thống sẽ bị giảm đi và chống phân mảnh ổ cứng là việc cần làm thường xuyên. Tuy nhiên đây lại là một công việc khó chịu trên các phiên bản Windows trước bởi nó mất khá nhiều thời gian. Microsoft đã cải thiện vấn đề này trên Windows 7 bằng việc tăng tốc quá trình chống phân mảnh đồng thời cho phép người dùng thực hiện thao tác này trên nhiều phân vùng ổ cứng cùng một lúc.

Tất cả những gì người dùng cần làm là gõ dòng lệnh: defrag /c /h /u /r

Trong đó /r là để chống phân mảnh nhiều ổ cứng cùng một lúc, /h để tăng tốc quá trình này, /u để hiển thị toàn bộ quá trình đang diễn ra.

2. Khởi động IE nhanh hơn

Một số add-on trên trình duyệt Internet Explorer (IE) khởi động khá ì ạch khiến quá trình khởi động và làm việc của IE cũng từ đó chậm chạp theo. Kể từ phiên bản IE 8 người dùng đã có thể can thiệp vào vấn đề này. Chọn menu Tool > Manager Add-ons, chọn Load Time trong cột bên phải và bạn sẽ thấy ứng dụng nào đang làm cho IE của bạn chậm đi. Hãy tắt nó nếu không cần thiết.

3. Chạy ứng dụng phụ bị chặn

Microsoft đã nâng cao tính bảo mật trên Windows 7 bằng cách không cho phép chạy các chương trình phụ trợ nếu chức năng quản lý tài khoản người dùng (UAC) bị tắt. Điều này giúp cho các chương trình chưa được kiểm chứng (và có thể chứa mã độc) không thể chạy được trên Windows. Nhưng nếu bạn đã tắt UAC mà vẫn muốn chạy một chương trình nào đó với một chút ít rủi ro, bạn vẫn có thể làm được.

Tại menu Run, gõ REGEDIT >> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curr entVersion\Sidebar\Settings. Bấm phải chuột để tạo một DWORD mới, đặt tên là AllowElevatedProcess và nhập giá trị 1. Thoát khỏi Registry và khởi động chương trình của bạn.

4. Thay thế tổ hợp phím Alt + Tab

Lâu nay chúng ta thường có thói quen dùng tổ hợp phím Alt+ Tab để chuyển đổi qua lại giữa nhiều cửa sổ khác nhau. Nhược điểm của phím tắt này là chúng ta khó có thể tìm lại được cửa sổ cần thiết một cách nhanh chóng bởi buộc phải lướt qua tất cả các loại cửa sổ (của nhiều loại chương trình, ứng dụng khác nhau). Windows 7 có cách giải quyết: Bấm và giữ phím Ctrl rồi nhấp chuột vào biểu tượng Explorer hoặc biểu tượng của chương trình nào đó.

5. Tắt chức năng sắp xếp cửa sổ thông minh

Windows 7 có một tính năng mới khá hay đó là người dùng có thể tự sắp xếp các cửa sổ của mình một cách tùy ý, ví dụ chỉ cần kéo một cửa sổ lên phía trên của màn hình, cửa sổ này sẽ tự động mở ở trạng thái toàn màn hình (full screeen). Nhưng nếu chúng ta đã quen với sự đơn giản cổ điển của các phiên bản Windows trước, chúng ta có thể tắt tính năng này đi bằng cách khởi động REGEDIT >> HKEY_CURRENT_USER\Control Panel\Desktop, thay đổi giá trị của WindowArrangementActive về 0. Khởi động lại máy.

6. Tùy chỉnh chức năng System Restore

Kể từ Windows Vista người dùng đã có thể điều chỉnh một chút vào chức năng ghi nhớ tình trạng hệ thống và chọn thời điểm khôi phục lại (System Restore). Ở Windows 7, chúng ta còn có thể làm nhiều hơn thế. Trong menu Start bấm phải chuột vào biểu tượng Computer> Properties > System Protection > Configure, chọn Max Usage nếu bạn muốn Windows lưu lại nhiều thời điểm khôi phục (nhưng tốn nhiều bộ nhớ) hoặc chọn các giá trị nhỏ hơn tùy ý.

7. Chạy chương trình từ một tài khoản khác

Nếu bạn đăng nhập vào hệ thống thông qua một tài khoản khách (Guest) hoặc một tài khoản bị giới hạn (Limited), để phòng chống virus nhưng có một số chương trình chỉ có thể chạy trong tài khoản cấp cao nhất (quản trị - administrator). Tính năng Run as có thể khắc phục được nhược điểm này mà không yêu cầu bạn phải đăng nhập vào nhiều tài khoản. Bấm phải chuột vào biểu tượng của một chương trình nào đó, chọn Run as trong menu hiện ra và sau đó chọn tài khoản trong danh sách.

Thực ra chức năng Run as đã xuất hiện ở Windows XP nhưng sang Windows Vista Microsoft đã loại bỏ nó.

8. Tùy chỉnh âm lượng

Theo mặc định, Windows 7 sẽ tự động giảm âm lượng của tất cả các chương trình nếu nó phát hiện bạn đang thực hiện một cuộc gọi VoIP. Tuy nhiên, điều này có thể làm bạn không thích hoặc bạn muốn tắt tất cả âm thanh của các chương trình khác nhằm thực hiện cuộc gọi hãy bấm chuột phải lên biểu tượng loa ở thanh tác vụ chọn Sound> Communications và chọn tính năng nào mà bạn muốn.
-->đọc tiếp...

Thủ thuật trong window 7: Remove WaterMark: "Evaluation Copy"

Remove WaterMark: "Evaluation Copy"
http://www.mediafire.com/?djnam3zmxmb
Tắt UAC, làm nhanh bằng cách: vào SearchBox của StartMenu gõ: uac rồi Enter, kéo thanh chạy xuống dưới cùng rồi OK.
Rồi chạy phiên bản thích hợp trong file mới download về.
-->đọc tiếp...

30 tháng 6, 2009

Start and stop the server in Linux
Start, stop, or restart Flash Media Server

1. Log in as a root user.
2. Change to the directory where the server is installed.
3. Open a shell window and type one of the following:
•./fmsmgr server start
•./fmsmgr server stop
•./fmsmgr server restart

Start, stop, or restart the Administration Server

1. Log in as a root user.
2. Change to the directory where the server is installed.
3. Open a shell window and type one of the following:
•./fmsmgr adminserver start
•./fmsmgr adminserver stop
•./fmsmgr adminserver restart

Start, stop, or restart Flash Media Server using the command line

1. * cd /.
2. Enter ./server [start | stop | restart].

Start, stop, or restart the Administration Server using the command line

1. * cd /.
2. Enter ./adminserver [start | stop | restart].
So I SSH’ed into the server … and I run the Linux commands. The fmsmgr adminserver restart command worked. I therefore assume the server restart command will also work, riiight???
Nope.
The way to restart the server is using the “command line” version up there. I.E.: ./server restart.

Let the labrynthian torture festival continue.
-->đọc tiếp...

Shared object & Other information

Shared object
Shared object that you are probably English ha ~ SharedObject,
there are two types of flash en sharedObject,
local sharedobject (LSO) and remote sharedobject (RSO),
which is the local share and remote sharing,
remotediscussion, But before you go to learn the best understanding of local, good for you ...
RSO initialization with the server need to establish a connection, continued the previous section,
we first establish a connection with the server

// Initialize to use a remote shared-channel nc
var myNC = new NetConnection();
myNC.onStatus = function(info) {
if (info.code == "NetConnection.Connect.Success") {
// Success using this nc initialization rso
initRSO(this);
}
};

Like with the previous code, just connect a number of successful initRSO () function, can not read the back to re-take a look at the first...

function initRSO (NC){
/* On the server to establish myRSO.fso paper, the first two parameters specify nc channel, the first three designated file on the server to retain a lasting, even if the server restart, or have */
my_rso = SharedObject.getRemote("myRSO", NC.uri, true);
my_rso.onSync = function(list) {
// list [{name:"x",code:"success"},{name:"y",code:"success"}]
// list is an object array, similar to this [(name: "x", code: "success"), (name: "y", code: "success")], below shall be saying more about
// Initial success
};
my_rso.connect(NC);
}

Uri check error

mync = new NetConnection ();
mync.onStatus = function(info) {
if (info.code == "NetConnection.Connect.Success") {
trace ( "connection successful");
}
};
uri = "rtmp://localhost/connect";
if (mync.connect(uri, "???")) {
trace ( "trying to connect server");
} else {
trace ( "do not try to connect server error ???");
}


application.onConnect = function (client, name) {
trace(name);
if (name == "N God") {
/*
Refuse to connect, and return an error object (msg: "server does not want to" + name + "go, ha ha ~"),
contains an error message
*/
application.rejectConnection (client, (msg: "server does not want to" + name + "go, ha ha ~"});
} else {
//Success can not be returned to the client information
application.acceptConnection(client); application.acceptConnection (client);
}
};

The server returns the information:" + info.application.msg
-->đọc tiếp...

Sample FMS: Online list for FMS




application.onAppStart=function(){
trace("------onAppStart----");
/*
Khởi tạo danh sách người dùng online.
*/
application.onlineList=[];
}
application.onConnect=function(newClient,IDNUM,IDPASS){
trace("------user onconnected------");
newClient.IDNUM=IDNUM;
/*
Thêm người dùng này vào danh sách người online
*/
application.onlineList.push(IDNUM);
application.acceptConnection(newClient);
for(var i=0;i
/*
Gửi danh sách người online bằng cách gọi hàm onlineList và truyền danh sách đến từng người.
*/
application.clients[i].call("onlineList",null,application.onlineList);
}
}
application.onDisconnect = function (newClient){
trace("------user disconnected------");
for(var i=0;i<=application.clients.length;i++){ if(application.onlineList[i]==newClient.IDNUM){ application.onlineList.splice(i,1); } } for(var i=0;i
/*
Gửi danh sách người online bằng cách gọi hàm onlineList và truyền danh sách đến từng người.
*/
application.clients[i].call("onlineList",null,application.onlineList);
}
};
-->đọc tiếp...

server side Authoricator

server side Authoricator:
file: main.asc

load("N2Authoricator.asc")
application.onAppStart = function()
{
this.authoricator = new N2Authoricator("allowedHTMLdomains.txt","allowedSWFdomains.txt");
}
application.onConnect = function(p_client)
{
this.authoricator.checkClient(p_client) ? this.acceptConnection(p_client) : this.rejectConnection(p_client)
}

N2Authoricator.asc

/*
------------------------------------------
allowedHTMLdomains.txt and allowedSWFdomains.txt
------------------------------------------
# This configuration file can be used to specify the domains which are
# allowed to host an HTML file which can possibly embed a client .swf file
# for Live (out of the box) application. By default, this authentication is
# disabled
#
# - There can be at most one domain entry per line e.g. to add domains
# http://myhost1.com and https://www.abc.myhost2.com the corresponding entries should be:
#
# myhost1.com
# www.abc.myhost2.com
#
# NOTE: There must not be any space character in the line containing a domain entry.
# Such entries are discarded by this application after logging a warning Message .
#
# - Adding an entry for a domain also allows all its subdomains to have file hosting
# permission.
#
# - An Asterisk (*) can be used to allow all domains to successfully authenticate.
#
# - Applicable only for the cases when the html page is accessed through http/https URL.
#
#
# To enable domain name based authentication for HTML file hosts, remove the following *
# and add new entries.
-----------------------------------------
*/

try { var dummy = N2Authoricator; } catch ( e ) {

load("N2StringUtils.asc")

N2Authoricator = function(htmlAuthFile,swfAuthFile)
{
trace("#Authoricator# constructor ");
this.HTMLDomainsAuth = this.SWFDomainsAuth = false
if(htmlAuthFile!=undefined && htmlAuthFile!="")
{
this.HTMLDomainsAuth = true
this.allowedHTMLDomains = this.readValidDomains(htmlAuthFile,"HTMLDomains");
}
if(swfAuthFile!=undefined && swfAuthFile !="")
{
this.SWFDomainsAuth = true
this.allowedSWFDomains = this.readValidDomains(swfAuthFile,"SWFDomains");
}

}

//public
N2Authoricator.prototype.checkClient = function (p_client)
{
trace("## Authoricator pageUrl ## "+ p_client.pageUrl)
trace("## Authoricator referrer ## "+ p_client.referrer)
if(p_client.agent.indexOf("FME")==-1)
{

// Authenticating HTML file's domain for the request :
// Don't call validate() when the request is from localhost
// or HTML Domains Authentication is off.
if ((p_client.ip != "127.0.0.1") && this.HTMLDomainsAuth
&& !this.validate( p_client.pageUrl, this.allowedHTMLDomains ) )
{
trace("unknown pageurl " + p_client.pageUrl + ", rejecting connection");
return false;
}

// Authenticating the SWF file's domain for the request :
// Don't call validate() when the request is from localhost
// or SWF Domains Authentication is off.
if ((p_client.ip != "127.0.0.1") && this.SWFDomainsAuth
&& !this.validate( p_client.referrer, this.allowedSWFDomains ) )
{
trace("unknown referrer " + p_client.referrer + ", rejecting connection");
return false;
}
return true
}
}

// public
N2Authoricator.prototype.isFME = function (p_client)
{

return p_client.agent.indexOf("FME")!= -1

}

//private
N2Authoricator.prototype.validate = function( url, patterns )
{
// Convert to lower case
url = url.toLowerCase();
var domainStartPos = 0; // domain start position in the URL
var domainEndPos = 0; // domain end position in the URL

switch (url.indexOf( "://" ))
{
case 4:
if(url.indexOf( "http://" ) ==0)
domainStartPos = 7;
break;
case 5:
if(url.indexOf( "https://" ) ==0)
domainStartPos = 8;
break;
}
if(domainStartPos == 0)
{
// URL must be HTTP or HTTPS protocol based
return false;
}
domainEndPos = url.indexOf("/", domainStartPos);
if(domainEndPos>0)
{
colonPos = url.indexOf(":", domainStartPos);
if( (colonPos>0) && (domainEndPos > colonPos))
{
// probably URL contains a port number
domainEndPos = colonPos; // truncate the port number in the URL
}
}
for ( var i = 0; i < patterns.length; i++ )
{
var pos = url.lastIndexOf( patterns[i]);
if ( (pos > 0) && (pos < domainEndPos) && (domainEndPos == (pos + patterns[i].length)) )
return true;
}
return false;
}

//private
N2Authoricator.prototype.readValidDomains = function( fileName , domainsType )
{
var domainFile = new File(fileName);
var domainsArray = new Array();
var index = 0;
var lineCount = 0;
var tempLine;
domainFile.open("text", "read");

// Read the file line-by-line and fill the domainsArray
// with valid entries
while (domainFile.isOpen && ! domainFile.eof() )
{

tempLine = domainFile.readln();
lineCount++;
if( !tempLine || tempLine.indexOf("#") == 0)
{
continue;
}
tempLine = N2StringUtils.trim(tempLine)
//tempLine = tempLine.trim();
if(tempLine.indexOf(" ")!=-1)
{
trace("undesired , domain entry ignored. "+fileName+":"+(lineCount+1));
}
else
{
domainsArray[index] = tempLine.toLowerCase();
index++;

if(tempLine == "*")
{
switch (domainsType){

case "HTMLDomains":
trace ("Found wildcard (*) entry: disabling authentication for HTML file domains ") ;
this.HTMLDomainsAuth = false;
break;

case "SWFDomains":
trace ("Found wildcard (*) entry: disabling authentication for SWF file domains ") ;
this.SWFDomainsAuth = false;
break;

default:
// Do nothing
break;
}
}
}
} // End while

// Something is wrong! the domains file must be accessible.
if( !domainFile.isOpen){
trace("Error: could not open '"+fileName+"', rejecting all clients except localhost. ");

}
else
{
domainFile.close();
}

return domainsArray;
}
}

N2StringUtils.asc

try { var dummy = N2StringUtils; } catch ( e ) {

N2StringUtils = function(){}

N2StringUtils.trim = function (str)
{
return str.replace(/^\s*/, "").replace(/\s*$/, "");
}

N2StringUtils.hiliteURLs = function(msg)
{

//+
//escape all <
//-
var escaped = "";
var ltPos = msg.indexOf("<");
while (ltPos != -1) {
escaped = msg.substring(0, ltPos) + "<" + msg.substring(ltPos+1,msg.length);
//trace ("escaped: "+escaped);
msg = escaped;
ltPos = msg.indexOf("<");
}

//+
//escape all >
//-
var escaped = "";
var ltPos = msg.indexOf(">");
while (ltPos != -1) {
escaped = msg.substring(0, ltPos) + ">" + msg.substring(ltPos+1,msg.length);
//trace ("escaped: "+escaped);
msg = escaped;
ltPos = msg.indexOf(">");
}

//+
//highlight urls
//-
var url_begin = msg.indexOf("http:");
if ( url_begin == -1 )
url_begin = msg.indexOf("www.");

if ( url_begin == -1 )
return msg;

var hilited = msg.substring(0, url_begin);
var url_end = msg.indexOf( " ", url_begin );

var urlstr = "";
if ( url_end == -1 )
urlstr = msg.substring(url_begin);
else
urlstr = msg.substring(url_begin, url_end);

var urlref = urlstr;
if ( urlstr.indexOf("www.") == 0 )
urlref = "http://" + urlstr;

var trailer = "";
if ( url_end != -1 )
trailer = this.hiliteURLs( msg.substring(url_end) );

hilited += "" + urlstr + "" + trailer;
//hilited += "" + urlstr + "" + trailer;

return hilited;
}
}

detail here:
http://fmsguru.com/forum/messages.cfm?threadid=4122C516-C410-E2B3-D4A94F0F87E4949F
http://nshen.net/blog/article.asp?id=595
-->đọc tiếp...

29 tháng 6, 2009

Following is the netstatus handler for one net stream


Following is the netstatus handler for one net stream
private function nsStatus(e:NetStatusEvent):void
{
trace("ns status : ", e.info.code);
switch (e.info.code)
{
case "NetStream.Play.Start" :
ns.pause();
trace("ns started playing");
break;
case "NetStream.Buffer.Full" :
nsBuffered = true;
if (ns2Buffered == true)
{
ns.resume();
ns2.resume();
}
else
{
ns.pause();
}
trace("NS Buffer Full");
//ns.bufferTime=expandedBufferLength;
break;
case "NetStream.Buffer.Empty":
nsBuffered = false;
ns.pause();
//ns.bufferTime=startBufferLength;
break;
case "NetStream.Buffer.Flush":
break;
}
}

similarly, i am doing for other stream. Also, i am running one timer to update the seek bar. in the timer event handler, i have used one condition to check both nsBuffered and ns2Buffered flag to resume the playback.
It runs ok for sometime but suddenly application gets crashed.
Anyway, i am trying it at my end, but if you can put this topic as a tutorial, it will be really helpful...
-->đọc tiếp...

SharedObject.mark()

http://fmsguru.com/forum/messages.cfm?threadid=B9D09A82-C160-6409-743D4D599CF927B6
I am trying to restart a pending project and it is a bit hard ;)
So I want to implement the SharedObject.mark() functionnality to synchronize several properties in a single call, but I am missing something on the client side:
Here is the example of the fms doc:


Example
The following example calls the
mark()
method twice to group two sets of shared object property updates for clients:
var myShared = SharedObject.get("foo", true);
myShared.lock();
myShared.setProperty("name", "Stephen");
myShared.setProperty("address", "Xyz lane");
myShared.setProperty("city", "SF");
myShared.mark("onAdrChange", "name");
myShared.setProperty("account", 12345);
myShared.mark("onActChange");
myShared.unlock();
The following example shows the receiving client-side script:
connection = new NetConnection();
connection.connect("rtmp://flashmediaserver/someApp");
var x = SharedObject.get( "foo", connection.uri, true);
x.connect(connection);
x.onAdrChange = function(str) {
// Shared object has been updated,
// can look at the "name", "address" and "city" now.
}
x.onActChange = function(str) {
// Shared object has been updated,
//
}

-->đọc tiếp...

28 tháng 6, 2009

Thư đã gửi thành công!!!

Thông tin bạn gửi tôi đã nhận được. Tôi sẽ trả lời bạn trong thời gian sớm nhất có thể. Rất vui được bạn ghé blog của tôi. Thông tin trên webblog này có thể qui phạm quyền tác giả. Tôi chỉ ghi chép lại như là tài liệu của riêng mình. Không vì mục đích kinh tế nào cả? Tôi có thể xóa bài nếu có tác giả nào phàn nàn những thông tin mà tôi ghi trên web này.
Chúc bạn một ngày tốt lành!!!
-->đọc tiếp...
BlogWeb: tạo từ Blog của Google
Nội dung: lấy từ nhiều Nguồn khác nhau.
Mục đích: note lại bài Hướng dẫn hay và Đáng đọc.
Kết quả: nghiện Internet Nặng.
Tương lại: xuống lỗ Vẫn Nghiện nếu không có ai giúp.
Blog Web của: Trí Dũng đến từ Việt Nam - Liên kết đến trang Blog Cá Nhân
Tôi biết (^_^)
Thông tin về Tác giả. Chi Tiết
Sử dụng (FireFox | Google Chrome on Ubuntu) để xem tốt nhất. Học Nhiều Hơn Tại Đây
©2009 Google Blogger - HuuNguyen's Home