What is a Redundant Server?

5 06 2009

If you want to know a simple explanation of what a Redundant Server is, here it is:

A redundant server is a backup server, up and running on the network, that can take over instantly if the primary server fails.

Often, if the primary and secondary are both functional, both will share duties, increasing overall throughput. But in the event one fails, the redundant box takes over full duties until the primary is back on line.

Reference.



Using The Post Method In Ajax

22 09 2008

In the Rasmus’ 30 Second Ajax Tutorial, we’re using the get method to send our request:

function sndReq(action) {
     http.open('get', 'rpc.php?action='+action);
     http.onreadystatechange = handleResponse;
     http.send(null);
}

But what if we want to use the post method? Well, let’s modify that function to do just that:

function sndReq(action) {
    http.open('post', 'rpc.php', true);
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", action.length);
    http.setRequestHeader("Connection", "close");
    http.onreadystatechange = handleResponse;
    http.send(action);
}

That’s it, that’s all you need to modify. Of course, you’d need to modify your rpc.php page to receive requests using the post method.

Remember, this is one way to do it.

Hope this helps.



Denying Directory Listing With htaccess

24 04 2008

Just type:

Options -Indexes

That’s it!



Happy New Year

8 02 2008
Xin Nian Kuai Le - San Nin Fai Lok - Happy New Year
Xin Nian Kuai Le!
San Nin Fai Lok!

May the best things in life be bestowed upon you and your loved ones! :)



Convert Pixels to Points to Ems

14 01 2008

I was looking for a way to convert pixels to ems for a website project I was working on, and came across this conversion table which, I’m sure, will be a useful reference to you if you ever need to convert pixels to points or ems (or percentage).

In case you don’t know, using pixel units to set font sizes is of bad practice; use ems or % units instead to display fonts on the monitor, and points for printing.

HTH



Retrieving The Value Of A Flash DataGrid Cell

10 01 2008

Well, kinda late, but I wish you all a Happy New Year!

This year, I want to blog more. And to accomplish this, I’ll be managing my time better. It won’t be easy but I’ll do it.

Okay, now on to today’s tip.

Because I’m kinda rusty in ActionScript, one of my goals is to develop more Flash applications.

Anyway, here I’ll give you a very simple example on how you can retrieve the value of a Flash DataGrid cell. I had to do something like this at my job, and I had to spend quite some time doing some research to figure this out. This tip, hopefully, will save you some time.

Ah! I’m assuming you already have some flash/actionscript experience, so I’ll keep this as short as possible. Read the rest of this entry »



Cryptographically Random Unique String

15 08 2007

Looking for a way to create a Random Password Generator, I came across the following code written by Peter Bromberg (I thought to post it here in case it saves someone some time). This code will generate a cryptographically random unique string of any length you want.

Ah! BTW, I’ve made a very small modification to the original code

using System.Security.Cryptography;
using System.Text;
 
namespace UniqueKey
{
    public class KeyGenerator
    {
 
        public string GetUniqueKey()
        {
 
            int maxSize = 8;
            char[] chars = new char[62];
 
            chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890".ToCharArray();
            byte[] data = new byte[1];
 
            RNGCryptoServiceProvider crypto = new RNGCryptoServiceProvider();
            crypto.GetNonZeroBytes(data);
            data = new byte[maxSize];
            crypto.GetNonZeroBytes(data);
            StringBuilder result = new StringBuilder(maxSize);
 
            foreach (byte b in data)
            {
                result.Append(chars[b % (chars.Length - 1)]);
            }
 
            return result.ToString();
        }
    }
}

Thanks Peter for the code!






LiveSTRONG