Blog

Blog posts made in November 2006
30Nov
2006
ColdFusion MX 7.0.2 Cumulative Hot Fix 1 Released

ColdFusion MX 7.0.2 Cumulative Hot Fix 1 (containing a total of 14 fixes) has been released.

Read More ›

30Nov
2006
RIAForge 100th Project

As Ray Camden just posted, RIAForge has hit a major milestone, it's 100th project posted. Thus far, RIAForge has blown away our usage projections!

Read More ›

30Nov
2006
Toronto Has A New Flex User Group

I presented CF/Flex and Scorpio sneaks to the Toronto CFUG earlier this week. At the event, Oliver Merk announced the formation of a new Toronto Flex User Group, and the inaugural meting is set for January 23rd, 2007. This is great news for the Toronto community!

Read More ›

30Nov
2006
Brazil Gets New National CFUG

Marco Martins wrote to let me know about the new Brazilian National ColdFusion User Group. ColdFusion has some very important customers and deployments in Brazil, but community support withered somewhat during the Macromedia era, and this new group is going to be an important part of reinvigorating the Brazilian ColdFusion community. The group had their first meeting earlier this week, and I want to publicly congratulate them on this important milestone. And yes, I am planning a trip to Brazil for early 2007, and will be sure that this new group makes it on to my agenda.

Read More ›

30Nov
2006
Changing Control Defaults By Using Flex Custom Components

A user e-mailed with an interesting question. He has a ColdFusion powered Flex application that uses lots of DateField controls. By default, DateField displays left and right buttons to change months, but no buttons to change years. Changing years is supported by specifying yearNavigationEnabled="true", but he wanted to know if there was a way to change the default behavior so as to not have to add that property over and over.

The solution is a very simple one, and is a nice demonstration of the simplest form of Flex custom components. This first code snippet is a new DateField2 component:

view plain print about
1<?xml version="1.0" encoding="utf-8"?>
2<mx:DateField xmlns:mx="http://www.adobe.com/2006/mxml"
3            yearNavigationEnabled="true" /
>

And here is the equivalent DateChooser2 component:

view plain print about
1<?xml version="1.0" encoding="utf-8"?>
2<mx:DateChooser xmlns:mx="http://www.adobe.com/2006/mxml"
3                yearNavigationEnabled="true" /
>

That's all there is to it, just use DateField2 instead of DateField, and DateChooser2 instead of DateChooser, and you're done.

Read More ›

29Nov
2006
Case Sensitive SQL Searches

SQL searches are usually case-insensitive, because most databases are set up by default for case-insensitive searching. Case sensitivity is defined by collation sequences, rules which define how strings are compared taking into account the specifics of individual languages (case, special characters, and more). Collation sequences can be defined at the database server level, at the specific database level, at the table level, and also at the individual column level. Collation sequences can also be overridden, so if a collation sequence is defined for a database or table, a specific column can have an alternate collation sequence.

Why do I bring this up? An app I am working on needs to use LIKE to perform wildcard searches against a table column, but those searches must be case-sensitive (so that %foo% will not match FooBar).

The simple solution would have been to modify the table so that the column used in the search would use a case-insensitive collation sequence. But that would have messed up other searches that need to remain case-insensitive.

So what to do? Here are a couple of solutions.

Collation sequences may be defined inline, right in the WHERE clause, as seen here:

view plain print about
1SELECT *
2FROM MyTable
3WHERE Col3 COLLATE SQL_Latin1_General_CP1_CS_AS LIKE '%foo%'

In this example, the default collation sequence was SQL_Latin1_General_CP1_CI_AS (the CI indicates case-insensitive), but in the above WHERE clause an inline COLLATE statement is specified so that collation sequence SQL_Latin1_General_CP1_CS_AS (the CS indicates case-sensitive) is used in this search.

Another solution, better suited for situations where both case-sensitive and case-insensitive searches are frequently needed, is to define the table with one sequence (whichever sequence will be used more frequently), and a VIEW based on that table with another. Here is an example, setting an explicit collating sequence for one column:

view plain print about
1CRETE VIEW MyTableCS AS
2SELECT Col1, Col2, Col3 COLLATE SQL_Latin1_General_CP1_CS_AS as Col3
3FROM MyTable

Read More ›

27Nov
2006
A Couple More Samsung BlackJack Comments

In addition to the comments I posted yesterday regarding my new Samsung BlackJack:

Pros:

  • Batteries can be charged via the included charger, or by connecting the phone to your computer, it uses the same USB connection to sync the device and to charge the battery, which is very nice. No need to carry a charger and a sync cable.
  • I've been using the phone actively today, and call quality is superb!

Cons:

  • Battery life is appalling! I do have Bluetooth activated all of the time, and that does drain power. But still, this device has the worst battery life of any device I have used. Not good at all.
  • As already noted, I like that the device charges via the sync cable. But, there is no easy way to determine when charging is complete! No light, no indicator, the battery strength indicator is not granular enough to distinguish between partially full and completely full.
  • And the biggie! As noted yesterday, the Bluetooth support works well. But, there is one MAJOR implementation flaw. You can pair as many devices as you like, including multiple headsets. But only one can ever be active at any time. What does this mean? I use two headsets continuously, one is a little ear headset and the other is my car. Both are paired with the phone, and so whichever is available should be used. This is how every other Bluetooth device I have used works, including multiple Sony Ericsson phones, the Nokia E62, the Treo 650, Windows devices like the Cingular 8125 and the Treo 700w (meaning that this is not a Windows Mobile limitation), and more. But not the BlackJack. To switch from one headset to the other I have to go to Settings, Communications, Bluetooth, Headset Settings and use the menu to manually select which one to use for connections (SET will appear next to the selected one and an X next to the other). This is a ridiculous and arbitrary limitation, and could be the deal breaker for me. :-(

More to follow, I am sure.

Read More ›

27Nov
2006
Toronto Presentations Tomorrow

I just arrived in Toronto, and will be presenting here twice tomorrow:

If you are in the area, please drop by! You probably won't want to attend both events, as there will be quite a bit of overlapping content (although you are more than welcome to do so).

Read More ›

26Nov
2006
Samsung BlackJack 24 Hour Review

I bought the Samsung BlackJack that I mentioned the other day. I've been using it on and off throughout the weekend, and so here are my initial thoughts:

Pros:

  • The form factor is incredible. The device is about the same height and width as the Treo, but it is considerably thinner and much lighter. Actually, the form factor is probably closer to that of the Motorola Q (which is not available for Cingular customers), but unlike that device, the BlackJack feels solid and rugged. It's also remarkably comfortable to hold next to your ear.
  • The back (which includes half of the depth) of the device is rubber coated. This makes it very comfortable to hold, it just grips and feels right in your hand.
  • The scroll wheel (for which the BlackBerry is famed) is well placed, intuitive to use, and just plain works. This is a big plus, and scroll wheels should be the standard on all devices like this.
  • The screen is very sharp and clear. It's small, smaller than the Treo and much smaller than the absolutely perfect Nokia E62 screen, but it is still easy to read and very bright.
  • The device is very responsive, easily as fast as the Treo (650), faster than the other Windows devices I've used (including the Cingular 8125 and the Treo 700), and orders of magnitude faster than the Symbian devices I have tried of late (including that horribly sluggish E62).
  • Audio quality is great, both on my end and on the other end of the connection.
  • Cell coverage is really good, this phone works in places where my Treo (and former Sony Ericsson devices) could get no coverage at all. (Incidentally, the Nokia was just as good in this respect).
  • Bluetooth support is decent, although not great. I'm listing Bluetooth as a pro because at the end of the day it does work with every device (including my car). But at the same time, it does not publish extended data (cell and battery strength), it does not always easily switch from headset (the one in my ear) to headset (my car). Although, to be fair, the week I spent with the Nokia E62 significantly raised the bar for what Bluetooth support should be, and frankly, I have yet to see any other vendor implement Bluetooth as perfectly as Nokia did in that device, and I doubt I'll be satisfied with any other Bluetooth implementations now.
  • The phone comes with 2 batteries, that's the good news. The bad news is that the second battery is needed, see below.
  • The 3G support is really good, and very fast. When it works, that is. More on that below, too.
  • The basic apps are great, although that is more a Windows Mobile function than the device itself.

Cons:

  • The screen is small. I know I listed this already under pros, because it is, it helps with the device form factor that I love. But at the same time, it is a bit too small for web browsing or for reading large documents or e-mails.
  • The keyboard is a bit cramped. And yes, I know I said that I like the small form factor. But the keys are a bit narrow, they are longer than the keys on the Treo, but the narrow shape makes it harder for big fingers to press just the one you want. The multi-directional toggle button is also really badly designed - it is flush with the other keys, including the red end-call key. I may get used to it, but for now I hit that end-call key way too often.
  • The text messaging app is not very good, nowhere near as good as the Treo's one. No as-you-type lookup, and no chat mode, are the biggest flaws. But at least it isn't the horrid integrated inbox text messaging app that other Windows devices have (like the 8125).
  • I already said that the 3G support is good, and it is, it is really fast. When it works. Every once in a while the device can't connect to anything! I don't know if it is the device, local coverage, or what - I'll test it some more while on the road this week, but requests that neither respond nor time out are downright annoying!
  • Battery life is poor, definitely worse than any device I have used previously. Good thing there are two batteries!
  • The back cover is absolute pain to get on and off, and, taking into account the previous item ,this is a real problem.
  • No voice dial.
  • Speed dial keys are basically useless. One of the things I really like about the Treo is that you can instantly access what you need, there are the dedicated calendar and messaging keys, you can assign speed dials easily to any letter, and there are also one touch soft buttons on the home screen. The BlackJack has two context sensitive softkeys, and a dedicated messaging key, but only one real programmable key (on the right, and only the long press is programmable). And it appears that you can only assign speed dials to number keys, and not letters. This coupled with no voice dial (as previously mentioned) means that you'll be digging through lists and menus far too often.
  • There seems to be a problem using ActiveSync when I am on a VPN connection. I know that this is not a Samsung issue, it's a Microsoft ActiveSync one, but still, having to disconnect from VPN to synch the device is frustrating.

My initial reaction to the Samsung BlackJack is a very positive one, primarily because of the form factor, the feel, and the performance. So far the pros outweigh the cons (I think). More to follow.

Read More ›

23Nov
2006
My Next Phone A Samsung?

I know, I've found my "next phone" many times over the past few years, only to be disappointed each time. But I am not giving up, and now the device that has caught my attention is the new Samsung BlackJack.

This device has a pretty sleek form factor, it's narrower than the Treo, the Nokia E61/62, and most BlackBerry devices (several reviewers find the form factor similar to that of the Motorola Q). It also features a scroll wheel, the one feature that BlackBerry got right and that Treo and the others failed to implement.

The BlackJack runs Windows Mobile 5, it's a quad-band GSM device with 3G support (it supports UMTS/HSDPA/EDGE/GPRS data connectivity), and initial data performance numbers are very impressive. Reviewers like the audio quality and phone volume (always a problem with Treo). The device supports Bluetooth 2, but no WiFi. It also features a 1.3-megapixal camera, which I'd rather not have.

So, nice form factor, decent screen (although it can't compare to the E62), Windows Mobile (in my experience faster than Symbian but slower than Palm), decent keyboard, quad-band GSM and great data connectivity but no WiFi ... humm, not perfect, but it definitely sounds like I need to take a look at it.

If you have any experience with this device, please share!

Read More ›