Calling Dr. Marteens...
If someone promises you a future, be sure he's stealing your present



Call me Ian. I earn my pay training advanced programmers in Borland products (Delphi & C++ Builder). Currently, I'm living in Madrid, Spain. I enjoy playing my guitar and keyboards, and reading books like "The Golden Bough" and "Hamlet's Mill". Well, it could be worse...

I cannot tell you how, but I managed myself to write a book on Delphi. A friend of mine suggested its title: "The Dark Side Of Delphi". I published it in Spain and the book sold pretty well. Now I'm preparing a couple of books: "The Dark Side of C++ Builder 4" (very original, isn't it?) and "Delphi: The Missing Link" (it has nothing to do with apes, but with the Windows API and the low-level implementation of the VCL).

You can reach me at


  1. Religion Wars in Lilliput (about how BDE implements navigation)
  2. Using pseudo-indexes (contributed by Dave Hernandez)

I'm preparing a new paper that extends on the topics covered by Religion Wars.


These koans are currently in Spanish. Maybe you can find here some interesting code.

  1. When two are one and one is two...
  2. Life after death
  3. Are all TStrings equal?


Also in Spanish. If you want to see some of these tricks translated, please let me know it, and I'll gladly try to find some time...

  1. Refreshing only one row from a dataset
  2. Optimizing Last method call for InterBase tables
  3. How can we get SQLCODE from a database operation
  4. Getting the Paradox user list
  5. Some common problems when installing a SQL database server
  6. Unique indexes in dBase 7
  7. Tips about component creation
  8. Collections and persistence
  9. Writing on a window's caption
  10. Using const with string parameters
  11. Bitmaps, MDI windows and subclassing
  12. Sequences in Oracle
  13. Things to avoid in C++ Builder
  14. Enhancing Locate's security
  15. Modifying BDE parameters at runtime
  16. First steps with the OpenTools API
  17. Adding properties to a custom form

Back to the Spanish page