Saturday, April 30, 2005
I just discovered Delphree. As the site says, "Delphree goal is to encourage and provide support for Open Source development. Delphree activities are primarily focused on Delphi, but other Borland development platforms are supported as well."
posted by Kirby Turner | April 30 12:00 PM | comments (3)Thursday, April 28, 2005
I read an article that talks about how e-mail is becoming an information database for people. I have been thinking a lot about this over the last year as I have become more dependent on the information stored as e-mail. I keep most e-mails I send and receive especially those related to White Peak Software. I keep every e-mail sent to and received from my wife. I keep the receipts from online purchases, and so on. I even have archives of e-mails that date back to the mid-90s.
It has reached a point were managing all this information is a struggle. Programs I use no longer meet my needs for managing the information I wish to store. And while certain add-in products for the program I use help, I still feel like there has to be a better way.
I have traveled to the far ends of the web searching for a program that will meet my needs. I found many programs that satisfy certain requirements but I have yet to find the one product that addresses all my needs. Or even 80% of my needs. What's a poor software developer to do?
Well, this poor software developer has decided to take on a new challenge and produce a product that will satisfy the requirements I have for personal information management. This is by no means a simple task. This is not the type of program that I can crank out in a week or two and hope to start selling. The reality is that it will probably take a year or more to be as feature rich as I would like. But I believe this is something that White Peak can produce.
Fyi, the decision to produce this product explains why I have been toying around with Delphi over the last month. I personally believe there is no better development language for Windows development then Delphi.

He's a sharp looking, little man.
Wednesday, April 27, 2005
It's not often I'm blown away by a non-technical presentation but that's what happened last night at the ICCA NYC Metro meeting. Jeremy Rawitz presented an "in brief" version of his "Breaking the Rules...and Close more Sells" talk. In my opinion, this was the best presentation to date since I started attending the monthly meetings.
Jeremy uses an interactive approach to get points across. The exercises started with breaking the group up into teams, but instead of saying "Pick 4 people" or "This group of people is Team 1, this group is Team 2" and so on the teams formed themselves.
Pictures of animals were hanging on the walls. Jeremy asked the attendee to go stand by the animals that you feel best reflect yourself. People stood next to an animal of choice and next thing we knew teams were formed.
There was an instance bond on each team since each team member already shared something in common, the belief that the animal best represented him or herself. While the focus on the presentation was on a new sells approach, I was immediately impressed Jeremy's approach to breaking the group up into teams.
Things continued to get better from there. Teams did different exercises to understand the traditional sells process and the problems associated with it. Additional exercises and roll playing were used illustrating a new approach to sells, which felt like a more natural approach.
At the end of the meeting, I was left with wanting more. Jeremy's presentation was only a taste of his workshop, which I can only imagine is most excellent.
Tuesday, April 26, 2005
Jeremy Rawitz will be speaking at tonight's ICCA NYC Metro meeting on closing more sales. He will present new approaches that "will transfer the selling experience to one that produces win-win results every time." Click here for more information.
posted by Kirby Turner | April 26 12:56 PM | comments (0)Monday, April 25, 2005
Last week Melanie and I made a very special trip to Memphis. My sister Renay and her husband Tommie were expecting the delivery of their first born. Renay was admitted to the hospital around 6:30 am and Baby Noah decided to make his appearance some 13 hours later. Family and friends were able to meet Noah only a short two hours later. It was amazing to think that Melanie and I both got to hold Noah only hours after being brought into this world.
Pictures available in the gallery.
For the last 4 months I have been doing lots thinking about White Peak Software and the direction I want to take the company. I even hired a business coach to help me work through ideas and gain more focus. What I find interesting is that I knew 2 years ago what type of company I wanted. I just didn't realize it.
I have read a lot of business related books over the last 18 months. I have learned about networking, marketing, and building business relationships. I have talked to many entrepreneurs, some of which have become mentors for me. And I have become active with business related organization such as ICCA NYC, which has taught me a lot about the business of consulting.
With all this learning I feel like I have gotten an MBA without going to school.
While Delphi has the cool hotkeys for navigating source code - Alt+[Up Arrow] to find declaration and Alt+[Left Arrow] to return - it can only find the declaration within the current project. On the other hand, VS.NET can find the declaration across all projects within the solution. And since I partition my C# across multiple projects I have to say VS.NET's find declaration feature is better than Delphi's.
posted by Kirby Turner | April 25 04:59 PM | comments (0)I just discovered another useful key binding in the Delphi IDE. Alt+[Up Arrow] will take you to the declaration of the token and Alt+[Left Arrow] will return you to the previous position. These two bindings are very useful for navigating code. For instance, you can place the cursor on the name of a method anywhere in code, press Alt+[Up Arrow] to go to the implementation of the method, then press Alt+[Left Arrow] to return back to the original cursor position.
The old VB IDE did something similar with F7 and Ctrl+F7 (I think those were the bindings but I could be wrong). Unfortunately the VS.NET does not have bindings for these, which I have sorely missed.
Sunday, April 24, 2005
I start writing a Delphi application this morning to post entries to my blog. While writing the code, I needed to comment a block of code. VS.NET has a key binding for this, Ctrl+K+C to comment and Ctrl+K+U to uncomment, but I wasn't using VS.NET. I was using Delphi, so I searched the help file for a list of key bindings.
Unfortunately I did not find anything in the help file so I googled for the key bindings. And to my surprise I didn't find much there either. A key stroke here and a key stroke there was all I found.
I decided to search the IDE itself for key bindings by looking at menus and using trial and error. I did evenually find the key binding for commenting/uncommenting blocks of code (Ctrl+/) but not before typing up a list of other bindings, many of which are very useful. Here's the list. Hopefully others will find it useful.
Delphi 2005 Key Binding
| Keys | Binding | Remarks |
| Ctrl+K+I or Ctrl+Shift+I | Indent selected text | |
| Ctrl+K+U or Ctrl+Shift+U | Unindent selected text | |
| Ctrl+Shift+R | Start/Stop macro recorder | |
| Ctrl+Shift+P | Playback macro | |
| Ctrl+F11 | Open project | |
| Shift+F11 | Add file to project | |
| Alt+F11 | Use unit | |
| Ctrl+S | Save file | |
| Ctrl+Shift+S | Save all | |
| Ctrl+Z | Undo | |
| Ctrl+Shift+Z | Redo | |
| Ctrl+X | Cut | |
| Ctrl+C | Copy | |
| Ctrl+V | Paste | |
| Ctrl+Del | Delete | |
| Ctrl+A | Select all | |
| Ctrl+F | Find | |
| Ctrl+Shift+F | Find in files | |
| Ctrl+R | Replace | |
| F3 | Search again | |
| Ctrl+E | Incremental search | |
| Alt+G | Go to line number | |
| Ctrl+Alt+F11 | View project manager | |
| Ctrl+Alt+P | View tool palette | |
| F11 | View object inspector | |
| Alt+0 | View window list | |
| Shift+Alt+F11 | View structure | |
| Ctrl+Alt+B | View break points | |
| Ctrl+Alt+S | View call stack | |
| Ctrl+Alt+W | View watches | |
| Ctrl+Alt+L | View local variables | |
| Ctrl+Alt+T | View threads | |
| Ctrl+Alt+C | View CPU | |
| Ctrl+Alt+F11 | View FPU | |
| Ctrl+Alt+V | View event log | |
| Ctrl+Alt+M | View modules | |
| Ctrl+F12 | View unit | Works with active project only |
| Shift+F12 | View form | Works with active project only |
| F12 | Toggle form/unit | |
| Ctrl+Shift+E | Refactor: Rename | |
| Ctrl+Shift+V | Refactor: Declare variable | |
| Ctrl+Shift+D | Refactor: Declare field | |
| Ctrl+Shift+M | Refactor: Extract method | |
| Ctrl+Shift+L | Refactor: Extract resource string | |
| Ctrl+Shift+A | Refactor: Find unit | |
| Ctrl+Shift+F11 | Project options | |
| Ctrl+F9 | Compile project | |
| Shift+F9 | Build project | |
| Ctrl+Shift+F9 | Run without debugging | |
| F9 | Run | |
| F8 | Step over | |
| F7 | Trace into | |
| Shift+F7 | Trace to next source line | |
| F4 | Run to cursor | |
| Shift+F8 | Run until return | |
| Ctrl+F2 | Program reset | |
| Ctrl+F7 | Evaluate/modify | |
| Ctrl+F5 | Add watch at cursor | |
| F5 | Toggle breakpoint | |
| F1 | Help | |
| Ctrl+K+n or Ctrl+Shift+n | Create bookmark | where n is some number between 0 and 9 |
| Ctrl+n | Go to bookmark | where n is some number between 0 and 9 |
| Ctrl+K+P | Print selection | |
| Ctrl+N | Insert new line | |
| Ctrl+O+O | Insert compiler options | |
| Ctrl+K+C | Copy|paste selected text | |
| Ctrl+Shift+J | Sync edit mode | |
| Ctrl+K+W | Write selected block to a file | Great for saving code snippets to a text file |
| Ctrl+K+R | Read block from file | Inserts content from a text file |
| Ctrl+K+F | Upper cases sort of | |
| Ctrl+K+N | Upper case selected text | |
| Ctrl+Space | Code Completion | |
| Ctrl+Shift+Space | Code Parameter Insight | |
| Ctrl+Shift+K+O | Toggler gutter size | Seems to turn off code collapse feature |
| Ctrl+[left click] | Navigate to declaration | Click on the token name, i.e., variable, method, etc |
| Alt+[Up arrow] | Navigate to declaration | Same as Ctrl+[left click] |
| Alt+[Left arrow] | Return to the previous location | Used in conjunction with Alt+[Up arrow] |
| Ctrl+[Up/Down arrow] | Scroll page up/down | Does not move the cursor |
| Ctrl+Shift+G | Generate GUID | |
| Ctrl+J | Code template | |
| Shift+Alt+[arrow keys] | Colum select | |
| Ctrl+Shift+C | Complete class declaration | |
| Ctrl+T | Delete word right of cursor | |
| Ctrl+Shift+Y | Delete string right of cursor | |
| Ctrl+Shift+T | Add to do item | |
| Ctrl+Backspace | Delete work left of cursor | |
| Ctrl+F4 | Close the page | |
| Ctrl+Enter | Open file at cursor | |
| Ctrl+/ | Toggle comments | |
| Ctrl+Shift+Enter | Find reference |
Thursday, April 21, 2005
Delphi has moved up to position 7 on the April TIOBE Programming Community Index; two positions higher than C# and only one position below VB.
posted by Kirby Turner | April 21 10:32 PM | comments (0)Big congrats to Renay and Tommie on the arrival of Baby Noah. 8.1 oz, 21.5 inches...and he is cute to boot.
posted by Kirby Turner | April 21 10:29 PM | comments (1)Tuesday, April 19, 2005
Melanie and I are in Memphis this week awaiting the arrival of my new nephew. Yep, my baby sis if having a baby of her own.
Unfortunately none of the Starbucks in Memphis have T-Mobile HotSpot access to the Internet so I might be slow to respond to e-mails.
Sunday, April 10, 2005
Break out the sunblock, put on the geek t-shirt, and enjoy some fun in the sun. It's not a day on the beach. It's a day on the slopes enjoying some spring time snowboarding.
Melanie and I wrapped up our ski/snowboard season this weekend in Killington. The snow was great, a little heavy, but fast. We worked our legs to death. And the grilled burgers and tasty beers on the deck at Bear Mountain deck really hit the spot. We finished the season wanting more. I'm already excited about my next day on the slopes in November.
Wednesday, April 06, 2005
I've had a series of unfortunate events occur over the last week, from items taken from my checked bag when returning from Mexico to being a victim of identity thief resulting in thousands of dollars in illegal credit card charges to a hard drive crash earlier today that caused me to be down all day. But my luck is turning around with the arrival of my copy of Delphi 2005, which FedEx dropped off earlier this evening.
I wasted no time installing Delphi on my laptop...after getting the machine up and running again of course. Given the buzz last month about the future of VB, I decided it would be fun to open an old Delphi project and see if it would compile.
I found the source code for a time tracking application I wrote back in 1998. I copied the source to a sandbox directory and opened the project in Delphi 2005. Delphi needed to do was upgrade the project file so it prompted me for the target platform, Win32 or .NET. I selected Win32 because after all that was the target platform for the app back in '98.
As I expected /and hoped/, the application compiled and ran without a problem. And the original source code remained unchanged. I should mention the application does not use any 3rd party controls or library. It's a basic application written in Delphi using out-of-the-box VCLs only.
I decided I wanted to push the envelope so to speak and compile this application written in 1998 for the .NET platform. I copied the original source to a new directory and opened the project file. Once again Delphi prompted me to select the target platform. This time I selected .NET. I compiled the application and it ran. Yep, Delphi source code written in 1998 compiled and ran as a managed code application in 2005. And without having to change a single line of code!
Try that with the simplest of VB applications and you will not have the same results.
Tuesday, April 05, 2005
I am happy to announce that I have been elected President of the ICCA NYC METRO Chapter. I will be working with an excellent group of business professionals who make up the rest of the Chapter Board of Directors. Together we will continue to grow the Chapter and find ways to provide greater value to our members as started by the previous Board of Directors.
While this opportunity will present a new set of challenges for me, I'm excited by the fact I will be pushed beyond my comfort zone in certain areas which will help me improve my own soft skills. Thank you to the members who voted for me and to those who expressed their confidence in my abilities to be effective in this new role.
Check out these games developed in Delphi for the PGD - Dog Fight Competition 2005.
posted by Kirby Turner | April 5 08:47 PM | comments (0)Friday, April 01, 2005
My mom and sister got me good today with an April Fools joke. I had forgotten that it was April Fools Day and totally fell for the joke.
My sister is pregnant and is expected to deliver within the next couple of weeks. I received an e-mail from my mom with the subject line "We're on our Way!!!" The e-mail said, "Renay's going to the hospital. I think this might be it!!!!!"
Believing this to be true, Melanie and I jumped into action. I was on the phone calling Mom and Renay to confirm. Melanie was checking flights to Memphis. And we were already thinking about what we needed to pack. 2 minutes later after reaching Renay on her mobile, I heard the infamous phrase "April Fools!"
