A while back I posted about my point and shoot camera research here. I still maintain that the Canon SD1000 is the best value point and shoot camera for the money. Especially after using it for a few months. But, recently Canon released the Canon G9 upgrading the G7 with some great features making it one heck of a little camera. I noticed that Amazon has it for a really great price of $443 and it comes with a 2 gig SD card if you buy it before Dec 3rd. If you take the plunge, use the coupon code "7ACBUY5F" at checkout, and have the card linked on the G9 page already in your shopping cart.
Monday, November 19, 2007
Canon G9 Deal on Amazon
Posted by
Chris Bensen
at
8:00 AM
0
comments
Friday, November 16, 2007
Change your Background Image and Get More Sleep
Earlier in the month this article was published. The thing I want to point out from the article is "stop staring at your 'Microsoft Blue' computer screen late at night, he said. Blue light appears to suppress the hormone melatonin, Avery said, which is released by the body to induce sleep." Our daughter is just over a year old so I'm always looking for more ways to get some extra sleep. So I changed my background image from a blue photo to a nice warm photo of maple leaves. Maybe it's just the change, because I don't change my background very often, but it seems more refreshing somehow. I say give it a try.
Posted by
Chris Bensen
at
9:00 AM
0
comments
Help Update
Be sure to grab the latest help update. Nick explains more about the help update Help Update.
Posted by
Chris Bensen
at
7:00 AM
0
comments
Thursday, November 15, 2007
Unicode: SizeOf is Different than Length Part II
One thing I forgot to mention in my last unicode post about SizeOf and Length. You can specify the size in bytes of a buffer two ways correctly:
var
ByteCount: Integer;
Buffer: array[0..255] of Char;
begin
ByteCount := SizeOf(Buffer); // Version 1
ByteCount := Length(Buffer) * SizeOf(Char); // Version 2
ByteCount := Length(Buffer) * SizeOf(Buffer[1]); // Version 2 with more clarity
end;
I suggest just going with the first version.
Posted by
Chris Bensen
at
1:00 PM
2
comments
Wednesday, November 14, 2007

As usual Apple, and in this case FileMaker which is owned by Apple, have struck a home run in my opinion. Bento is an easy to use database application for normal people. It hooks up to all the services Leopard has to offer such as iCal and Address Book and can sync with the iPhone and iPod Touch. I wonder if they are working on a version of Bento for the iPhone and iPod Touch? If you are running Leopard, which I'm not unfortunately, go give it a try with the free preview and post here your experience. The trial bombs out in two months.
Posted by
Chris Bensen
at
11:00 AM
0
comments
CodeGear Anniversary

One year ago today the creation of CodeGear was announced.
Posted by
Chris Bensen
at
7:00 AM
2
comments
Tuesday, November 13, 2007
Unicode: SizeOf is Different than Length
The next product on the on the Roadmap is Tiburón which focuses on Unicode. The Delphi Product Roadmap states "Delphi Win32 Unicode...means that the IDE, the VCL, and all types of development should be made fully Unicode-compatible. The standard string in the Delphi language will become a Unicode string, meaning that the IDE, the VCL – that is, the entire product – will be Unicode-based. Developers around the world will be able to develop applications for use in any language using the Unicode standard." So I figured some examples of how to watch out for common pitfalls would be in order.
When checking over your code to make sure it is unicode enabled, take a good close look at your calls to Length and SizeOf on Char arrays. SizeOf and Length return the same value so they've been used interchangeably, but they have different meanings. Given an array of AnsiChar and and array of WideChar:
var
AnsiBuffer: array[0..MAX_PATH - 1] of AnsiChar;
WideBuffer: array[0..MAX_PATH - 1] of WideChar;
Length(AnsiBuffer) and SizeOf(AnsiBuffer) are the same, in the unicode world Length(WideBuffer) and SizeOf(WideBuffer) are not the same. So be sure you call the correct function in the correct locations. Many functions require the size of the array in bytes, while others expect the count of characters.
Posted by
Chris Bensen
at
9:00 AM
18
comments
Monday, November 12, 2007
CodeRage II
Here is the press release for CodeRage.
CodeGear™ Hosts CodeRage™ II Virtual Conference for Developers
SCOTTS VALLEY, Calif. – November 12, 2007 – CodeGear announced today that it is holding its second online developers conference – CodeRage II Virtual Developer Conference, November 26-30. CodeRage I, held in March 2007, was a huge success with more than 2,500 developers participating in more than 50 sessions.
CodeGear, the independent developer tools business within Borland Software Corporation, said CodeRage II is targeted at developers, consultants, students and enthusiasts. The conference will feature streaming session rooms and more than 40 technical sessions led by developers and industry experts on applications development techniques, trends and tools related to Java, Eclipse, Windows, Ruby on Rails, PHP and SQL data bases.
“After our first CodeRage, we got a lot of developers asking us to do a sequel," said David Intersimone, Chief Evangelist at CodeGear. “They liked the technical sessions and chance to engage with each other and share ideas. And a big plus was it’s all virtual, they don’t need to travel or even get dressed.”
CodeRage II session highlights include:
* Building Reusable Data Layers for ASP.NET Applications
* Java Memory, Performance and the Garbage Collector
* JMX and Spring: Manageability for Spring-based Applications
* Object-oriented Programming in PHP
* Cross Platform Development with C++Builder®
* Panel Discussion: Delphi® Robot Rage
* Webcam Fun with Delphi
* Sneak Peek: JBuilder® Application Factories
In addition to the sessions by industry experts, attendees will be able to chat with other developers, check out the virtual exhibit hall and attend a virtual vendor reception on Thursday, November 29. Attendees will also have the chance to win prizes donated by exhibitors.
Visit http://conferences.codegear.com/coderage07 to learn more and register for this conference. Registered users of current CodeGear product versions, or those who upgrade to or purchase the latest version of a CodeGear product, can attend the conference for free. Those interested in attending CodeRage before deciding to upgrade or buy, may purchase a Conference Pass for $150.
Posted by
Chris Bensen
at
10:30 AM
5
comments
Friday, November 9, 2007
User Question: Creating a GUID Programmatically
Yesterday there was a question to my quick tip for creating a GUID in the Delphi IDE asking how to creating a GUID programmatically like this in one's own program. This simple console program demonstrates creating a GUID using the Windows API function CoCreateGuid:
program guid;
{$APPTYPE CONSOLE}
uses
SysUtils, ActiveX;
var
Uid: TGuid;
begin
if CoCreateGuid(Uid) = S_OK then
WriteLn(GuidToString(Uid));
end.
One thing I noticed when writing this example is I didn't need to make a call to CoInitialize. The CoInitialize documentation states "Applications must initialize the COM library before they can call COM library functions other than CoGetMalloc and memory allocation functions." So all Co.* calls must be called after a call to CoInitialize except for CoGetMalloc. Interesting. Does anyone know the answer to this? I suspect the documentation is just wrong.
Update: I changed the code originally posted because I was relying on a unreleased RTL and VCL.
Posted by
Chris Bensen
at
9:00 AM
5
comments
Labels: Delphi
Thursday, November 8, 2007
Creating GUIDS in Delphi
Creating a GUID in Delphi is as easy as CTRL + Shift + G. Bam! Instant GUID.
Posted by
Chris Bensen
at
2:00 PM
3
comments
Labels: Delphi
Tuesday, November 6, 2007
I'm not Upgrading to Leopard Just Yet
You'll never see me being the first one in line to upgrade my OS. I only upgrade once all critical applications work. Within the first few days I got a call from a friend who bought a new MacPro and couldn't get his Epson 7600 printer working with Leopard. Epson has enough printer driver issues, but I know of a number of other people having printer problems so I'm pretty sure there is a problem with Leopard. I also use Aperture and people have been having a lot of small but annoying problems. I'll just wait until the kinks are ironed out. I'll let other people be the guinea pigs. I'm on the forefront of too many other things.
Honestly though, I'm surprised how well Leopard does work right out of the box. I'd say this is a about as bug free of an OS release that I've seen.
Posted by
Chris Bensen
at
7:00 AM
2
comments
Friday, November 2, 2007
November Photo of the Month
In October the Monarch Butterflies start arriving in Santa Cruz at Natural Bridges State Park and feed upon the abundant Milkweed plants in the area. They don't start to cluster in the grove until later in the year at which point they will reproduce and die.
This photo was taken this year just when they arrived using a 500mm lens, a 1.4x extender and an extension tube (to make the lens a macro lens) on a full frame Canon 5D for an effective focal length of 700mm.
I've added a link on the side bar to all the photos of the month for your convenience.
Update: I accidentally deleted the photo over the weekend but it's back now.
Posted by
Chris Bensen
at
10:00 AM
1 comments
Labels: photo
