2010 – The year for debt reduction

I have been on a course of reducing debt over the last few years. More purchases using cash, paying most bills as quick as possible. But like most Canadians (Americans as well) I carry some credit card debt. My interest rate for my cards was quite reasonable so I had gotten somewhat use to using them to make mostly online purchases. Over the last little while my rate had jumped several percentage points. I was upset, however I decided that I could live with an increase for now. However today on my latest credit card statement the rate was bound to jump another 2%. I can absolutely understand when the cost of debt is high or that the account is in poor standing that interest rates would reflect those realities, however neither is the case here since the current overnight lending rate in Canada is 1/4 percent and my credit card account is always been in good standing. I am not going to speculate on why this is happening, when I spoke to the representative on the phone I was told that lots of accounts were going up and that the actual base rate was almost 20%. I have decided out of principal that I can no longer deal with the vendor and be cancelling my credit card (paying off the remaining balance). After this we will be down to one household card, just enough for those emergency requirements/needs. I suspect I am one of the fortunate ones that can afford to pay off and close out an account but I wonder how many others will do the same when faced with this reality.

Sage SalesLogix Mobile Pick Lists (BlackBerry)

When working with Sage mobile from time to time you will find that there is missing functionality that you expected to be there but is not. One such piece of functionality involve pick lists and recently worked on a project that required ‘must exist in list’ functionality. By the way did I say how much I like using Eclipse when I have to do java development. Well I do.

Must Exist In List

MustExistInList is a property of Sage Saleslogix web and Lan client picklist. This ensures that the end user cannot enter any free form text into the pick list edit area. This property however has yet to make it up to the mobile implementation. Since the property does not exist and it is not possible to introduce new controls into the form building process I had to take a more intermediate step. The first thing to remember is that most of the controls that exist on the BlackBerry device start as a HorizontalFieldManager.

Generally the following layout for each control is followed

< Label Field > + < Seperator Field > +  < Edit Field >

however with the lookups and picklists the following layout is followed

<Label Field> + < CMPImage > + < Seperator > + < Edit Field >

Now I was not completely sure on the layout of the control, so to help me on a way I wrote a simple helper method that did nothing more then to iterate through the embedded fields on the HorizontalLayoutManager and inform me of the embedded class names.

Once I had this information in hand I built out a pick list adapter method. I should have created a full adapter to allow for future expansion however sometimes KISS should be honored especially if under the gun to deliver in short order.

Its a simple method but effective in providing the functionality.

public static void setPicklistEditable(CMPPickList field, boolean editable ) {
    HorizontalFieldManager manager =  (HorizontalFieldManager) field;
    EditField edit = (EditField)manager.getField(3);
    if (edit != null) {
        edit.setEditable(editable);
    }
}


Note that the index for the field is 3 even though there is 4 embedded controls as arrays in java are 0 based .

Read a book – Beginning BlackBerry Development

Beginning BlackBerry Development is a Light read at 238 pages. However there are enough golden nuggets of information to make it well worthwhile picking up this book. Remembering back to the days when I started BlackBerry development there was a complete lack of documentation with exception to the SDK guides to help the novice navigate the in and out’s of mobile development. I could imagine that I would have spent less time banging my head against the wall if I had a guide that would explain in simple terms the fundamentals of developing of with the platform. The book takes a basic approach and covers many of the topics required to get up and running and provides some insight into the 2 major development platforms for BlackBerry development, the JDE and Eclipse. I highly recommend this book for anyone getting into BlackBerry development and it is well worth the cover price in the time it will save in ramping up.

– Mark