JavaScript Confirm Box

2 Comments

Many times, in life, one needs to confirm things. For example, you might be writing a UI for a nuclear submarine and you need to add a confirm box whether the link should be followed (which might as a result launch a nuke or delete a record) or not. You can do it the hard way by writing PHP/ASP code but I like to do it the easy way, by using JavaScript.

A really simple approach is:

Delete

When the user clicks on it, this will produce the a pop up box, displaying that message and two buttons. If the user click yes, the link is followed otherwise nothing happens, and we live again ;)

Block access to .htaccess

2 Comments

Before I answer the ‘how’, let me answer the ‘why’.

.htaccess, now a days, plays a major role. It lets you re-write URLs, redirect traffic, and if you are really good with it, point people to different scripts on your website. It is also an excellent way to cloak your web space structure.

The problem occurs if someone is able to have a look at your .htaccess file and see how things are processed at the ‘back stage’. Or the reason could be that you have written a state-of-an-art .htaccess file and want those 16 year olds to stay away from it.

Just place this at the top of your .htaccess file and you can sleep peacefully, once again ;)


order allow,deny
deny from all

Sharing Folders in Ubuntu 9.10 using VirtualBox

5 Comments


I just wanted to share a folder in Ubuntu 9.10 which I have installed using VirtualBox. Whenever I tried mounting the shared folder using the mount command, I kept getting the following error:

/sbin/mount.vboxsf: mounting failed with the error: No such file or directory

After wandering through forum after forum and post after post, I finally got to share my folder in Ubuntu 9.10 using VirtualBox. The whole process was a mesh so I thought I should create a simple post, so here goes:

Adding Share Folder to VirtualBox

  1. Start by opening VirtualBox (making sure Ubuntu is Powered Off), right-click the Ubuntu Virtual Machine in the left column and choose Settings
  2. Click Shared Folders option in the left column
  3. Click the Add new shared folder button (its a folder with a + sign) located on the right
  4. A small window pops up asking you the Folder Path (a drop-down) and a Folder Name (no spaces)
  5. Once you are happy with everything, press OK twice to close this pop up and the Settings window. Now start the Ubuntu 9.10 Virtual Machine

Mounting Shared Folder in Ubuntu 9.10

  1. Start the Terminal by going to Applications > Accessories > Terminal
  2. Create a folder under mnt directory by:

    sudo mkdir /mnt/my_shared_folder

    replace my_shared_folder with whatever you want to call the shared folder

  3. Now mount the shared folder by:

    sudo mount -t vboxsf my_folder /mnt/my_shared_folder

    replace my_folder with what you entered in the Folder Name when you added the folder under Settings and replace my_shared_folder with whatever you have called the folder in the previous step

  4. You’re done!

Please do leave a comment if this works for you :)

Function to dynamically resize images using jQuery

19 Comments

UPDATE: I have created a jQuery plugin that dynamically resizes the images. It is faster and is optimized better (minified).

I have noticed that there has been quite a bit of interest in my post about dynamically resizing images using jQuery. I have created a function to do this job better. Not only it makes the code cleaner but it also makes it a lot easier to use it.

First, for those people looking for a quick lookup of solution, here is the optimized version of the function followed by a couple of examples to use it:

$.fn.resize=function(a){var d=Math.ceil;if(a==null)a=200;var e=a,f=a;$(this).each(function(){var b=$(this).height(),c=$(this).width();if(b>c)f=d(c/b*a);else e=d(b/c*a);$(this).css({height:e,width:f})})};

$("img").resize(200);
$("#thumbs img").resize(150);

And now the explanation.. The function takes one argument, a number, which is the maximum height and/or the width of the image. The function automatically decides what is the best way to resize the image as its all calculated from the proportions of the original image.

What follows below is an expanded (non-optimized) version of the function and explanation on what each statement does:

NOTE: I do highly recommend using the optimized version of the function above

$.fn.resize = function(max_size) {
m = Math.ceil;
if (max_size == undefined) {
max_size = 200;
}
h=w= max_size;
$(this).each(function() {
image_h = $(this).height();
image_w = $(this).width();
if (image_h > image_w) {
w = m(image_w / image_h * max_size);
} else {
h = m(image_h / image_w * max_size);
}
$(this).css({height:h,width:w});
})
};

Line 1 declares the function “resize” and accepts a variable for maximum height/width.
Line 2 stores the Math.ceil function to a single letter variable for calling up later by m(). It is same as calling Math.ceil() and is done this way for reducing the size of the script (called minifying).
Lines 3 to 5 check if a maximum height/width was specified, if not, the script defaults to a maximum size of 200px.
Line 6 sets two variables ‘h’ for height and ‘w’ for width to the maximum size. One of these variables will be changed depending up the proportions of the image being resized.
Line 7 starts the jQuery.each function that iterates over each image one by one.
Line 8 stores the image’s height to a variable and is for reducing the size of the script.
Line 9 stores the image’s width to a variable and is for reducing the size of the script.
Line 10 checks if the image height is greater than the image width.
Line 11 only executes when the image’s height is bigger than the width. It calculates the image’s new width with proportion to its original size (which would be less than the height).
Line 12 is basic else statement.
Line 13 only executes when the image’s width is bigger than the height. It calculates the image’s new height with proportion it its original size (which would be less than the width).
Line 15 uses the jQuery’s built-in CSS function to set the new height and width for the image.

Realtek’s network controller deep sleep mode issue

303 Comments

As I’ve noticed a fair bit of visitors interested in my post of Windows 7 and Network Controller Deep Sleep Mode problem, I thought I should write a “clean” version of the post (basically the fix for the problem minus my ramblings :) )

The problem starts when the computer goes into sleep/standby mode, a few components of the PC including the network controller (or adapter) are turned off. The issue occurs when the PC wakes up and power to everything is restored. The network controller doesn’t come on and as per Realtek installation message:

The RealTek Network Adapter/Controller was not found.
If Deep Sleep Mode enabled Please Plug the Cable

The best fix is to reset the motherboard and the best way to reset your motherboard is to remove your RAM chips. Leave them out for some time (in my case 30 seconds) and put them back in. And that is all! The motherboard will be reset and the network controller will come out of deep sleep mode!

Note: If this doesn’t work, leave the RAM out for good 10 minutes. Leaving the RAM out longer has worked for some people (see comments below).

Note 2: For laptops, removing the battery for 5-10 minutes has worked for a few.

Note 3: If nothing works, turn off the system and plug in a external hard drive (or a USB thumb drive) and then turn the computer on. Once on the desktop, Windows will try to install the external hardware. This, in some cases, has worked and wakes up the network controller.

Once you have it working, to make sure the network controller doesn’t go into sleep mode again, try this:

  1. Open Device Manager by:
    1. Go to Start
    2. Click Control Panel
    3. Choose System and Security
    4. Click Device Manager (under System)
  2. Open Network Controller properties by:
    1. Double-click Network adapters to expand it
    2. Double-click the Realtek Network Controller
  3. Turn off Deep Sleep mode by:
    1. Choose the Power Management tab
    2. Untick “Allow the computer to turn off this device to save power”

Doing this will make sure the network controller is not put in to sleep mode till someone fixes the issue!

Finally, if something does work you please post the Motherboard/Laptop model and the method that worked to help others!

Older Entries Newer Entries