BlackBerry Curve 8330 slow after Verizon pushed Bing

We recently just upgraded our BlackBerry Enterprise Server (BES) to version 5 service pack 1. Shortly after that time our Curve users started complaining about how slow their devices were going. We knew the issue would not be application related as applications are not allowed to be installed on these phones. The only way to resolve the issue for a short period of time was to do a battery pull. Today while looking into the situation again I noticed that when on the main Applications screen the Bing icon would show/hide itself automatically without touching anything on the phone. The phone would take a long time to move the trackball and it was a challenge getting the right icon on the home screen due to this icon showing/hiding itself. After doing some poking around I found that there was a Bing service book that once deleted seems to resolve the issue. After talking with Verizon about this there they suggested that the service book get deleted and that there is no long term fix for this issue at this time. The tech support representative stated that there is a good chance that Verizon would just push the service book back out again.

How to delete Bing service book:

  • Go to your main Applications screen by pressing the BlackBerry button next to the green answer button
  • Find the Options menu. On the BB Dimension themes this icon is a small wrench. On the default Verizon screen it is a gray box with green, red and blue sliders.
  • Select Advanced Options from the Options menu
  • Select Service Book which is towards the bottom of this menu
  • Then find the Bing VPL [BrowserConfig] service book. Press the BlackBerry button on the phone to bring up the menu and then select Delete.

This should resolve the phone speed issue along with removing the Bing icon from the main Applications screen until Verizon pushes that service book back out.

Fix Dell laptop keyboard with Scotch tape

Since I work with so many laptops on a daily basis something is always broken around my desk. Either re-loading the operating systems, software issues, screws loose or broken keyboards, it never ends! Many of our laptops are reaching the end of their warranty or we need to get the laptop back out into the field in a pinch so we get creative. One recent issue is that the laptop with a problem was out of warranty and the keyboard would just start typing random characters when you push down on the case between the touchpad and the keyboard. If the laptop was still under warranty I would call Dell and get a replacement keyboard and the problem would be solved. Below is a quick/dirty/temporary fix to this issue if you have no way to replace the keyboard entirely.

Step 1: Remove the keyboard from the computer. Usually there is a cover that goes over the top of the hinges and has the power button on it. You will need to remove the 2 screws that are under this cover along with removing the ribbon cable connecting the keyboard to the motherboard. (I am showing a Dell Latitude D520 below)

IMG_0558

Step 2: Look at the ribbon cable on the keyboard and look for a small wear mark near the keys.

IMG_0552

Step 3: Place a small piece of clear Scotch tape or other rather thin tape over this wear mark. This tape acts just like the plastic covering the wires on this inside of this cable and keeps the case from making contact to these wires.

IMG_0554

Now just put the laptop back together and try it out. When placing your wrists on the palm rest while typing it should no longer randomly type characters until this tape gets a wear mark in and needs to be replaced.

Using Notepad++’s Function List plugin for PHP development

One thing I really love about Notepad++ is the plugin’s that are available. One of such plugins that I enjoy is the Function List plugin to automatically search my code to pull classes, functions and much more into an easy to see pane on the right side of my screen. I had previously posted tutorials on another site but now I have made the process for “installing” these new rules easier by posting the XML as well as adding more features. Once you have followed the below steps the Function List plugin will show all of the following:

  • PHP classes
  • PHP class variables – (public, protected and private)
  • PHP functions – already does this by default
  • CodeIgniter Views
  • CodeIgniter Helpers
  • CodeIgniter Libraries
  • CodeIgniter Models
  • PHP include()
  • PHP include_once
  • PHP require()
  • PHP require_once()

Update: I updated the instructions based on a comment below to close Notepad++ while editing the .xml file

Step 1: Close Notepad++
Step 2: Navigate to C:\Program Files\Notepad++\plugins\Config – This is the default installation folder, it may be different on your system.
Step 3: Open the FunctionListRules.xml file in your favorite editor other than Notepad++. The settings may not save if you open this file in Notepad++.
Step 4: Do a search for the following line: (This will more than likely be at the end of the file.)

<Language name="PHP" imagelistpath="">

Step 5: Add the following code between the opening and closing Language tags:

<Group name="Classes" subgroup="Functions" icon="0" child="0" autoexp="4" matchcase="1" fendtobbeg="" bbegtobend="\{" keywords="">
            <Rules regexbeg="class" regexfunc="[\w_ ]+" regexend="" bodybegin="\{" bodyend="\}" sep="" />
        </Group>
        <Group name="Class Variables" subgroup="" icon="0" child="0" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg="public\ " regexfunc="\$.*[^;]" regexend=".*;" bodybegin="" bodyend="" sep="" />
            <Rules regexbeg="protected\ " regexfunc="\$.*[^;]" regexend=".*;" bodybegin="" bodyend="" sep="" />
            <Rules regexbeg="private\ " regexfunc="\$.*[^;]" regexend=".*;" bodybegin="" bodyend="" sep="" />
        </Group>
        <Group name="Functions" subgroup="" icon="0" child="0" autoexp="4" matchcase="1" fendtobbeg="" bbegtobend="\{" keywords="">
            <Rules regexbeg="function[\s&amp;]+" regexfunc="[\w_]+" regexend="\s*\(.*\)" bodybegin="\{" bodyend="\}" sep=";" />
        </Group>
        <Group name="CodeIgniter Views" subgroup="" icon="0" child="0" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg='\$this-&gt;(.*)load-&gt;view\([&apos;&quot;]' regexfunc='[&quot;\/\w_ ]+' regexend="" bodybegin="" bodyend="" sep="" />
        </Group>
        <Group name="CodeIgniter Helpers" subgroup="" icon="0" child="0" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg="\$this-&gt;(.*)load-&gt;helper\(array\(" regexfunc='[&apos;,&quot;\w_ ]+' regexend="" bodybegin="" bodyend="" sep="" />
            <Rules regexbeg='\$this-&gt;(.*)load-&gt;helper\([&apos;&quot;]' regexfunc='[&quot;\w_]+' regexend="" bodybegin="" bodyend="" sep="" />
        </Group>
        <Group name="CodeIgniter Libraries" subgroup="" icon="0" child="0" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg="\$this-&gt;(.*)load-&gt;library\(array\(" regexfunc='[&apos;,&quot;\w_ ]+' regexend="" bodybegin="" bodyend="" sep="" />
            <Rules regexbeg='\$this-&gt;(.*)load-&gt;library\([&apos;&quot;]' regexfunc='[&quot;\w_]+' regexend="" bodybegin="" bodyend="" sep="" />
        </Group>
        <Group name="CodeIgniter Models" subgroup="" icon="0" child="0" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg="\$this-&gt;(.*)load-&gt;model\(array\(" regexfunc='[&apos;,&quot;\w_ ]+' regexend="" bodybegin="" bodyend="" sep="" />
            <Rules regexbeg='\$this-&gt;(.*)load-&gt;model\([&apos;&quot;]' regexfunc='[&quot;\w_]+' regexend="" bodybegin="" bodyend="" sep="" />
        </Group>
        <Group name="Include" subgroup="" icon="0" child="0" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg='include\([&apos;&quot;]' regexfunc="*.*[\w]" regexend="" bodybegin="" bodyend="" sep="" />
        </Group>
        <Group name="Include Once" subgroup="" icon="0" child="0" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg='include_once\([&apos;&quot;]' regexfunc="*.*[\w]" regexend="" bodybegin="" bodyend="" sep="" />
        </Group>
        <Group name="Require" subgroup="" icon="0" child="0" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg='require\([&apos;&quot;]' regexfunc="*.*[\w]" regexend="" bodybegin="" bodyend="" sep="" />
        </Group>
        <Group name="Require Once" subgroup="" icon="0" child="0" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg='require_once\([&apos;&quot;]' regexfunc="*.*[\w]" regexend="" bodybegin="" bodyend="" sep="" />
        </Group>

My full section including the Language tags looks like this:

<Language name="PHP" imagelistpath="">
        <CommList param1="#" param2="" />
        <CommList param1="//" param2="" />
        <CommList param1="/\*" param2="\*/" />
        <Group name="Classes" subgroup="Functions" icon="0" child="0" autoexp="4" matchcase="1" fendtobbeg="" bbegtobend="\{" keywords="">
            <Rules regexbeg="class" regexfunc="[\w_ ]+" regexend="" bodybegin="\{" bodyend="\}" sep="" />
        </Group>
        <Group name="Class Variables" subgroup="" icon="0" child="0" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg="public\ " regexfunc="\$.*[^;]" regexend=".*;" bodybegin="" bodyend="" sep="" />
            <Rules regexbeg="protected\ " regexfunc="\$.*[^;]" regexend=".*;" bodybegin="" bodyend="" sep="" />
            <Rules regexbeg="private\ " regexfunc="\$.*[^;]" regexend=".*;" bodybegin="" bodyend="" sep="" />
        </Group>
        <Group name="Functions" subgroup="" icon="0" child="0" autoexp="4" matchcase="1" fendtobbeg="" bbegtobend="\{" keywords="">
            <Rules regexbeg="function[\s&amp;]+" regexfunc="[\w_]+" regexend="\s*\(.*\)" bodybegin="\{" bodyend="\}" sep=";" />
        </Group>
        <Group name="CodeIgniter Views" subgroup="" icon="0" child="0" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg='\$this-&gt;(.*)load-&gt;view\([&apos;&quot;]' regexfunc='[&quot;\/\w_ ]+' regexend="" bodybegin="" bodyend="" sep="" />
        </Group>
        <Group name="CodeIgniter Helpers" subgroup="" icon="0" child="0" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg="\$this-&gt;(.*)load-&gt;helper\(array\(" regexfunc='[&apos;,&quot;\w_ ]+' regexend="" bodybegin="" bodyend="" sep="" />
            <Rules regexbeg='\$this-&gt;(.*)load-&gt;helper\([&apos;&quot;]' regexfunc='[&quot;\w_]+' regexend="" bodybegin="" bodyend="" sep="" />
        </Group>
        <Group name="CodeIgniter Libraries" subgroup="" icon="0" child="0" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg="\$this-&gt;(.*)load-&gt;library\(array\(" regexfunc='[&apos;,&quot;\w_ ]+' regexend="" bodybegin="" bodyend="" sep="" />
            <Rules regexbeg='\$this-&gt;(.*)load-&gt;library\([&apos;&quot;]' regexfunc='[&quot;\w_]+' regexend="" bodybegin="" bodyend="" sep="" />
        </Group>
        <Group name="CodeIgniter Models" subgroup="" icon="0" child="0" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg="\$this-&gt;(.*)load-&gt;model\(array\(" regexfunc='[&apos;,&quot;\w_ ]+' regexend="" bodybegin="" bodyend="" sep="" />
            <Rules regexbeg='\$this-&gt;(.*)load-&gt;model\([&apos;&quot;]' regexfunc='[&quot;\w_]+' regexend="" bodybegin="" bodyend="" sep="" />
        </Group>
        <Group name="Include" subgroup="" icon="0" child="0" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg='include\([&apos;&quot;]' regexfunc="*.*[\w]" regexend="" bodybegin="" bodyend="" sep="" />
        </Group>
        <Group name="Include Once" subgroup="" icon="0" child="0" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg='include_once\([&apos;&quot;]' regexfunc="*.*[\w]" regexend="" bodybegin="" bodyend="" sep="" />
        </Group>
        <Group name="Require" subgroup="" icon="0" child="0" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg='require\([&apos;&quot;]' regexfunc="*.*[\w]" regexend="" bodybegin="" bodyend="" sep="" />
        </Group>
        <Group name="Require Once" subgroup="" icon="0" child="0" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg='require_once\([&apos;&quot;]' regexfunc="*.*[\w]" regexend="" bodybegin="" bodyend="" sep="" />
        </Group>
    </Language>

Step 6: Save and close, then open up a PHP file in Notepad++ to see if it shows the desired output in the Function List tool.

Notepad++ upgrade

At work my main workstation is a Microsoft Vista box. I do most of my development in Notepad++ and a little bit in PSPad. I had previously been running an older version of Notepad++ (v5.4.5 UNICODE to be exact) and I was upgrading to v5.6.4 UNICODE. Here are a few things to keep in mind when upgrading:

  • Windows Vista: Give your user login full permissions to the c:\Program Files\Notepad++ folder. This allows you to make theme changes and other changes in the system and have those changes get saved automatically.
    • Open My Computer and navigate to c:\Program Files
    • Right click on Notepad++ folder and go to Properties
    • Select the Security tab and click the Edit button
    • Click Add and search for your name
    • Once you have added your name click on it under Group or user names
    • Check the Full control allow checkbox and click OK on the remaining properties boxes.
  • If you use the Function List plugin make sure you visit here and download the FunctionList20091109_dll.zip file and place this .dll in the plugins folder (c:\Program Files\Notepad++\plugins\). This download is compatible with the Unicode version of Notepad++ 5.5 +.

Enabling / Disabling Bcc field in Microsoft Outlook

The use of the Bcc field in email is something that more people should use. Over the summer I had purchased a new home and gave my realtor my email address to email me new listings. A few months later her husband (her partner in the real estate firm) sent out some mass emails and placed everybody’s email address in the To field. The problem with this is that I along with every other one of her clients now have the email addresses of all of her clients, some of which I recognized. To prevent this you can use the Bcc field which will hide all of the recipients. Enabling this field in Microsoft Outlook 2003 and 2007 is rather easy.

Outlook 2003
Step 1 is open Outlook and create a new email. Once in the new email you will need to find the Options button that is located on the main toolbar. Click on the small down arrow just to the right of the word Options.

Bcc Outlook 2003

Step 2 is to click on the Bcc option which is 2nd from the bottom.

Bcc Outlook 2003

You will now see the Bcc address line just above the Subject field.

Bcc Outlook 2003

Outlook 2007
Step 1 is to open Outlook and create a new email. Once in the new email you will see the ribbon at the top. You will need to click the Options tab.

Bcc Outlook 2007

Step 2 is to click on the Show Bcc button in the Fields section of the Options ribbon.

Bcc Outlook 2007

The Show Bcc field will now be highlighted and the Bcc field will be placed just above the Subject field.

Bcc Outlook 2007

That is how easy it is to show the Bcc field in your new emails so you can hide the email addresses of the recipients of your email.

How To: Replace BlackBerry Screen Glass Protector

At my work we have many BlackBerry Curve 8330 phones. It is amazing what nurses and home health aids can do to their phones due to every day usage. One particular employee had fallen on her phone and scratched the screen and keyboard up really good. As a result of that unfortunate event I got the lucky job of replacing the clear plastic cover that protects the screen. Below I will outline what was done.

Tools:

  • T5 Torques screwdriver
  • Plastic pry tool – for opening the the case without leaving marks
  • Knife
  • Scissors

Read the rest of this entry »

Outlook cannot find archive.pst after auto archive disabled

Recently we have added a new Windows Terminal Server into network and network load balanced the two servers. Shortly after allowing users to login on the new server we started having issues with Microsoft Outlook (2003) on select users saying that it could not find the archive.pst file.

The file c:\Documents and Settings\(username)\Local Settings\Application Data\Microsoft\Outlook\archive.pst could not be found.

Read the rest of this entry »

BlackBerry Self Test

A nice “hidden” feature of BlackBerry phones is the ability to run a self test application to diagnose usability issues. You can test most of the functions on the phone from the keyboard, trackball, screen, vibrate mechanism, gps and much more.

Read the rest of this entry »

How To: Fixing an electric Swingline stapler cheaply

At my job there are only 2 IT people. We get requests to fix just about anything that is an electronic device. Sometimes we can fix things and sometimes it is just a little out of our ability. We have several employees with electric Swingline staplers on their desks and several of them have broken over time. The usual cause is the staple tray release button. Below I will outline what I did to quickly fix 2 of these staplers so they did not have to order new.

Read the rest of this entry »

Cell phone tip of the day: Battery pull

At my work most of the staff have cell phones. As time goes on you find that a cell phone will stop functioning just like anything else. When you first experience a problem with your cell phone the best tip / troubleshooting technique you can use is to pull the battery out and try again. I frequently have users that cannot get the keypad to work, earpiece volume does not work, can’t make/receive calls or some other strange combination. It is best to pull the battery while the phone is turned on. This is especially true for troubleshooting BlackBerry devices.

Switch to our mobile site