April 26th, 2008.
ISA 2006 and BlackBerry Enterprise Server
I recently was required to install BlackBerry Enterprise Server (BES) on our corporate network. I did the usual configuration following the step that I found on the BB site here.
I then proceeded to make an ISA Firewall Rule that enabled outbound acccess from the bes server (a computer object) to external on port 3101. I also created the corresponding inbound rule on port 3101 as well just to be extra sure.
I followed the steps word for word (or so I thought), and tried syncing a BlackBerry to the servers, and it just timed out on me. So then I went back to the drawing board, and realized that I didn’t setup my permissions on the Active Directory (AD) user accounts properly. So I uninstalled the server, followed the following steps:
- Local Administrator rights on the BlackBerry Enterprise Server
- Local Security Policy permissions for the BlackBerry Enterprise Server service account
- Microsoft Exchange permissions at the Administrative Group level
- Microsoft Exchange permissions at the Microsoft Exchange Server level
- Send As permission at the Domain level
- Database permissions for managing the BlackBerry Configuration Database
And reinstalled the server. Still no avail. I looked into the logs and noticed this line in the BES_DISP logfile:
IPPa] {User Name} Forwarding status to BES Agent (S61887304_001), intTag=5, extTag=1
[30222] (03/20 16:20:19.482):{0×898} {User Name} MTH: contentType=OTAKEYGEN, sizeOTA=216, sizeOTW=216, TransactionId=-941432706, Tag=2
[30310] (03/20 16:20:19.482):{0×898} {User Name} Forwarding internal data to device, contentType=OTAKEYGEN, routing=S61887304, device=301D4AC4, size=258, cmd=0×3, ack=0, TransactionId=-941432706, intTag=8, Tag=2, Submit=1
[30375] (03/20 16:20:19.576):{0×8A0} {User Name} Packet returned as FAILED – could not be delivered to device, Tag=2
After doing some research, I found out that you NEED to have the BES option on your phone which can only be set by your carrier. To find out if you have this or not, just go to options -> advanced settings and see if theres an option for Enterprise Activation anywhere. If there isn’t, that means that you do not have the BES package. To get this, just phone your carrier, and ask them to add BlackBerry Enterprise Services (BES or pronounced B’ezz) to your account and you should be good to go!
Brennan
April 19th, 2008.
Two PHP Snippets for URL Parsing
I recently was coding in PHP, and needed to get just the fully qualified domain name from the (FQDN) $_SERVER[’HTTP_REFERER’] variable. So I whipped a quick function up that may help some of you beginners out there looking to parse a URL:
function domainviaurl($url){
$parsed_url=parse_url($url);
$fqdn = $parsed_url['host'];
return $fqdn;
}
This will just spit out the domain name. The next one will take it one step further, and actually get the IP address of the referrer via the domain name.
function ipviaurl($url{
$parsed_url=parse_url($url);
$tld = $parsed_url['host'];
$ip = gethostbyname($tld);
return $ip;
}
Hope this helps out!
Brennan
April 3rd, 2008.
WP-Super-Cache for WordPress 2.5
I’ve recently upgraded to WordPress 2.5 and realized that WP-Cache has stopped working. I decided to search for alternative solutions for WordPress caching, and on a comment for WP-Cache, I discovered WP-Super-Cache. It seems a lot better than WP-Cache from my preliminary analysis. Wp-Super-Cache can handle nearly 2500 requests per second (as opposed to 4 without any caching). I do notice a faster load speed even by using my browser (I have 5 static IPs, and since my switch isn’t working correctly, all my network traffic is getting routed to my ISP and back).

To install the plugin, just download it from here,install it as usual by putting into your wp-content/plugins folder, activate it using the Plugins menu. Now, before configuring the plugin, you must put the following code in your .htaccess in the ROOT of your web server:
—————–.htaccess—————–
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} !.*s=.*
RewriteCond %{HTTP_COOKIE} !^.*(comment_author_|wordpress|wp-postpass_).*$
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz -f
RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz [L]
RewriteCond %{QUERY_STRING} !.*s=.*
RewriteCond %{HTTP_COOKIE} !^.*(comment_author_|wordpress|wp-postpass_).*$
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html -f
RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html [L]
# BEGIN WordPress
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
—————–.htaccess—————–
After you have done that, you should be able to configure all the features in WP-Super-Cache.
By the way, if anyone is wondering, and/or anybody wants a GREAT PuTTY mod to use, use PiETTY. I have been using this client for over a year now. It has full UTF-8 Asian language support, and alphablend transparency. It looks sweet when used together with Vista’s Aero.
Brennan
March 17th, 2008.
iPod Touch Jailbreak Guide
Here is a quick guide on Jailbreaking an iPod touch. I personally recommend just capping it at 1.1.3 until 2.0 comes out with full SDK support. You get all the vibrating icons, and movable icons, and still get to install the ‘unofficial’ official iPod touch applications (eg. Mail, Weather, Stock, and RSS).
Jailbroken Touch

- Firstly, if you already upgraded to the official 1.1.3, downgrade to 1.1.1 and navigate to jailbreakme.com to jailbreak your iPod using the TIFF exploit.
- Then, add http://ijailbreak.com/repo.plist to your Installer.app Sources.
- Now, a crucial step before you run the Jailbreak. Go to Settings->General, and disable Auto-Lock. THIS IS ABSOLUTELY CRUCIAL
- Launch Installer and you should find a new version of Installer is available (refresh your Sources otherwise.) Install the Update. Be sure to follow its instructions.
- You will also update the “Community Sources” package. If not, go and install the it; it’s under the “Sources” category.
- Now you want to install the “BSD Subsystem” package. You can find it under the “System” category. After installing it, you must reboot your iPod touch by holding down the Power button until the Red Slider appear, otherwise iJailbreak.app will not work.
- Go to the “iJailBreakMobile” category and select either the “iJailBreakMobile 1.1.1″ or the “iJailBreakMobile 1.1.2″ (depending on your current iPod touch’s firmware version) package to install. After installation, you will find a new app by the name iJailbreak
- Tap on iJailbreak on your mail screen. If you see that it’s stuck with just a spinning wheel on the screen, it’s safe to manually reboot the device. But you want to do so after at least 45 minutes since you started.
- Launch Installer and install the “Remove 1.1.3 Upgrade Data” package. It’s in the “iJailBreakMobile”. You can Uninstall it after it’s done.
- You are done! Install your third party apps
without having to pay!
Brennan
March 15th, 2008.
iTunes Memory Usage
I recently started to notice that I’m having an awful shortage of RAM after upgrading to the latest version of iTunes. I remember back when I was using 6.x iTunes used no more than around 30 MB of RAM. Now that I have an iPod touch, I have to upgrade to 7.6. I don’t mind upgrading at all. As a matter of fact I am an upgrade freak. But when that upgrade causes the program to use 200MB of RAM, that’s an issue. My specs are:
* Intel Core 2 Duo E8400 @ 4.0GHz
* 4GB Crucial Ballistix Low Latency RAM
* nVIDIA GeForce 9800GTX * 2
* 6356 Songs with around ~85% with Cover Art

I use Adobe Illustrator, Photoshop and Dreamweaver… frequently simoultaneously. And I can’t have software hogging up already scarce RAM.
How is everyone else’s RAM usage using iTunes 7?
March 8th, 2008.
ISA 2006 and Outlook Anywhere
Another one my wonderful fixes/tutorials on what Microsoft should have flippin documented in the first place. But I guess they can’t test and document everything eh?
Well heres how you get ISA 2006 and Outlook Anywhere with Exchange 2007 to work nicely using NTLM Authentication.

WARNING: You must have OWA and Outlook Anywhere running on different web listeners.
- First Configure your Firewall Rule authentication method to “No authentication, but client may authenticate directly”
- Then set your Web Listener to HTTP Authentication with Basic and Integrated authentication methods selected.
- Go to the Exchange Management Console and make sure that Outlook Anywhere is set to NTLM Authentication mode. You can do this under the “Server Management” area.
- Go to the IIS Management Console, and make sure that Integrated Authentication is enabled for your Outlook Anywhere Web Site (usually “Default Web Site”)
- Switch over to NTLM Authentication in Outlook, and you should be rockin!
By the way, this isn’t as secure as using Basic authentication because ISA is just passing the session through to the Exchange server, and not proxying everything. But I’d say not having to type your password everyime is worth that sacrifice.
Brennan
March 2nd, 2008.
Tyan K8WE Option ROM Issue
A few nights ago, I needed to get a couple Promise FastTRAK SATA RAID cards because my onboard ones just weren’t cutting it. I connect them to my PCI32 3.3V slots, boot up my system, and it goes through the whole detection process for my JBOD disks. Then it tells me that there is not enough Optional ROM space to continue…. WHAT?! I mean this is a $500+ board we are talking about here! Not enough space?! Give me a break.

I was running BIOS version 1.03, and there didn’t seem to be any fixes related to the BIOS looking at the updates, but I decided to upgrade to 1.05 just for the hell of it.
No Luck.
I tried disabling all the on-board features (SATA, SCSI, MAC PXE OptROM), and it still errored out on me. Why should I even have to try that on a high-end, server-class board.
No Luck.
I ended up taking one card out, configuring the RAID, and switching the cards and configuring the other one. Then I put both cards in, disabled the OptROM Boot Error Check, and just living with the issue. But why should a board of this class have issues like this? I’m seriously tempted to phone Tyan to get a replacement board or some kind of solution for their crappy-ass quality control.
Brennan
February 27th, 2008.
ISA 2006 and Dynamics CRM 4.0
Some of you may be having a hard time configuring CRM 4.0 and ISA 2006. All seems well when you use the web client, but when you try to configure your Outlook Client, you get:
“The request failed with HTTP status 401: Unauthorized ( The server requires authentication to fufill the request. Access to the Web server is denied. Contact the server administrator. ).”

I finally found a solution(s)!
Method 1:
- Run the following SQL command (replace addresses with yours (address:port)
USE MSCRM_CONFIG
Update DeploymentProperties SET NVarCharColumn = ‘my.crmserver.inet:80′ WHERE ColumnName = ‘AsyncSdkRootDomain’
Update DeploymentProperties SET NvarCharColumn = ‘my.crmserver.inet:80′ WHERE ColumnName = ‘ADSdkRootDomain’
Update DeploymentProperties SET NvarCharColumn = ‘my.crmserver.inet:80′ WHERE ColumnName = ‘ADWebApplicationRootDomain’
- Run regedit on the CRM host computer, and navigate to HKEY_CURRENT_USER\SOFTWARE\Microsoft\MSCRMClient. You now have to update the following keys
• IntranetDiscoveryUrl
• IntranetServerUrl
• IntranetWebAppUrl
• PlatformRoot
To point to your External CRM URL.
- Enable just Basic HTTP Authentication on the Web Listener in ISA
- In the Authentication tab of the Firewall Policy for the CRM, select “No authentication, but client may authenticate directly”.
- In the To tab of the Firewall Policy for the CRM, make sure “Foreward original host header” and “Requests appear to come from the original client” is selected.
- In the Users tab of the Firewall Policy for the CRM, make sure it is “All Users” Instead of “All Authenticated Users” (CRUCUAL STEP)
- Apply the settings in ISA.
- Now go to “Internet Settings” on the client computer, and navigate to the security tab.
- Click custom level on the trusted site, and scroll to the very bottom and select “Automatic logon with current user name and password”.
- Add the CRM url to the trusted sites without the prefix (aka. not http://crm.company.com and just crm.company.com).
- Navigate to http://crm.company.com and type in your login credentials. AND CLICK REMEMBER PASSWORD.
- Run the configuration wizard, and it should work *smile*
Method 2:
- Download the Internet Facing Tool from Microsoft.
- Extract the downloaded file to drive:\Program Files\Microsoft Dynamics CRM\Tools
- Run the tool.
- In the IFD boxes, type in your EXTERNAL URL and in the internal box, type in your INTERNAL URL.
- Select whether to use HTTP or HTTPS for both the IFD Address and Internal address.
- Apply, and reboot!
- Now go to “Internet Settings” on the client computer, and navigate to the security tab.
- Click custom level on the trusted site, and scroll to the very bottom and select “Automatic logon with current
- user name and password”.
- Add the CRM url to the trusted sites without the prefix (aka. not http://crm.company.com and just crm.company.com).
- Navigate to http://crm.company.com and type in your login credentials. AND CLICK REMEMBER PASSWORD.
- Enjoy!
If you don’t have any internal users, I’d recommend using Method 1, and if you want SSL and/or want to differentiate between external and internal users, use Method 2.
Brennan
January 26th, 2008.
The site will be back shortly.
I had a major data corruption issue and I ended up having to rebuild the server this site was hosted on. I’ve got all the articles stored locally, so as soon as I get a change I will restore the content on the site.
Bear with me for just a little longer.
Next Posts »