Wednesday, January 23, 2013

"Protected mode is currently turned off for the Internet zone"

Want to disable the IE7 pop-up saying "Protected mode is currently turned off"?

Solution: Just right-click the message and click "Don't show this again".

Tuesday, January 22, 2013

Ljava.lang.String; Error

This is a simple one. You're asking java to return an Array as a string.

Solution: Put Arrays.toString( ) around your Array.

Java Exceptions - Catching All Errors

"Exception is the base class for all exceptions"

"Thus any exception that may get thrown is an Exception (Uppercase 'E')."

Meaning, catch(Exception e) will catch any type of exception that is thrown, as opposed to specific Exceptions.

try {
    // code
}catch(Exception e)
    //catch all exceptions

Tuesday, January 15, 2013

Jquery Slideup Jerking Effect In IE9

This website has code to help get rid of the jerking effect on Jquery SlideUp in IE9:

You just add this code after you include your Jquery library:

// Define overriding method.
jQuery.fx.prototype.hide = function(){

// Remember where we started, so that we can go back to it later
this.options.orig[this.prop] = this.elem, this.prop );
this.options.hide = true;

// Begin the animation
this.custom(this.cur(), 1);

Monday, January 14, 2013

Raspberry Pi - No Ethernet Caused By Charger

I was using the following charger, but I couldn't get my Raspberry Pi to connect over Ethernet (ethernet lights showed no link):

The charger was definitely the problem. I swapped it with a Motorola OEM charger and the Ethernet started working again. I did some quick googling, and haven't seen many reports of this issue yet. I have the Model B, Rev 2.0 board with 512MB RAM.

Sunday, January 13, 2013

WHMCS LDAP User Creation Action Hook

I created an Action Hook for WHMCS which will create an user when they are added as a client. With this script, we no longer need to add our users to LDAP manually. I'm thinking about turning it into a module, and making it easier to other users to use.

LDAP_ADD PHP - Object Class Violation

If you are trying to use php's ldap_add to add an user and are getting an object class violation, try to copy all the fields of a working user exactly. Most likely you are missing some of the required fields of the objectclass you are trying to add.

Reading RFID With Raspberry Pi (or any linux device) + Reader

I'm using the following Parallax USB RFID reader:

First you will need to ensure you have PySerial installed by trying to "import PySerial" while running Python's IDLE. If you receive an error:
Install PySerial:
    1. Install python's setuptools: apt-get install python-setuptools
    2. Install PySerial: pip install pyserial

Once you have PySerial installed, open IDLE again and use the following code to see output from the reader:

Why didn't return the same unique identifier as what is written on the fob?:
  • If the key on the card says 30788590 and the reader returns 3501D5CBEE. The "1D5CBEE" part is the card number. Try going from the card number in DEC to HEX it in the windows calculator while it's in scientific mode if you don't believe me.

Monday, January 7, 2013

"margin-left: auto;" and "margin-right: auto;" Not Working In IE8

To get something centered within a div in IE8, it requires doing something unusual. I wasn't able to get the "display: block;" trick working. But this worked:

#super-wrap { position: absolute; width: 100%; text-align: center; } 
#page-wrap { position: relative; width: 970px; margin: auto auto;  }

I had to do this to get the InfoGrid ( to center in IE8. The div with the ID of #page-wrap already exists, but the super-wrap div needs to be created outside of the page-wrap div.

Using "nth-of-type" with IE8

IE8 apparently doesn't support the CSS selector "nth-of-type".

You can fix it by adding this script to your page:

You will also need to add the following script to the bottom of your page (of course you will need to swap the numbers with your own):

$("div:nth-of-type(1)").css("background", "#b44835");

I used this to fix an IE8 compatibility issue with something called InfoGrid:

Sunday, January 6, 2013

PHP - Generate SSHA (sha1) Password For LDAP User

$info['userpassword'][0] = "{SHA}" . base64_encode(sha1("pass", TRUE));

Function To Find Largest UID Number In LDAP

 I got most of this function from It will find all the uidNumbers, sorting them largest to smallest, then return the largest number.

$ds = ldap_connect("localhost");  // assuming the LDAP server is on this host

    function findLargestUidNumber($ds)
      $s = ldap_search($ds, "ou=people,dc=yourdomain,dc=com", 'uidnumber=*');
      if ($s)
         // there must be a better way to get the largest uidnumber, but I can't find a way to reverse sort.
         ldap_sort($ds, $s, "uidnumber");

         $result = ldap_get_entries($ds, $s);
         $count = $result['count'];
         $biguid = $result[$count-1]['uidnumber'][0];
         return $biguid;
      return null;

$largestUID = findLargestUidNumber($ds);

LDAP shadowlastchange - Weird Date Format

I'm working on a PHP script that adds an user to a directory using LDAP.

Here's the formula required to get the date format that shadowlastchange uses:
$unixTimeDays = floor(time()/86400);

It's the days since the last epoch.