An interview with Damian Mehers
by Douglas Reilly
I have never met Damian Mehers, but I know him by way of a tool he created, called PromptSQL. I have, over the years, used a number of tools that promised to bring Intellisense into the SQL Server world, but the way PromptSQL works is unique.
Once installed and loaded, PromptSQL works inside the editing environments you already use, such as Query Analyzer and Visual Studio (2003 and 2005). There is a Channel 9 post that points to a video on PromptSQL, which was voted third out of 25 in the PDC Show Off event. I have the product on a one-month trial, and expect it will be worth purchasing after using it for that period.
Damian answered the following questions via email.
Doug: How did you get involved in database-related work? Was it a natural fit or an accident of convenience?
Damian: It was more an accident of convenience. I do a lot of consulting with customers building ASP.NET and Windows applications, and more often than not there is a SQL Server database involved. My background is more general software developer than database specialist.
Doug: Do you use any databases other than SQL Server?
Damian: It’s all SQL Server. The last time I used a different database for an extended period was when I worked for DEC, where I did a lot of work with its RDB database. That was before DEC became Compaq, and Compaq became HP. It’s ironic, given that HP was once number three behind DEC, with IBM on top. Incidentally, DEC’s RDB was sold to Oracle.
Doug: How did you decide to create a tool to add Intellisense for SQL statements? I presume you are more comfortable typing in SQL code than using the visual designers?
Damian: I am more at home with the command line than the visual design tools. I have more control. Even so, when first using an unfamiliar database, it can be tricky to navigate through it, remembering all the tables, columns and relationships between tables. I’m a believer in the old adage that necessity is the mother of invention. I needed SQL Intellisense in Query Analyzer.
Doug: A bit of genius in PromptSQL is that a tooltip with the complete layout of a table appears when that table is highlighted in the Intellisense window. How did that feature evolve?
Damian: Through the early betas of PromptSQL, there was a natural tension between my desire to release the product and the need to add one more cool feature. This was a feature I knew people would like, and once I started working on it, it wasn’t too difficult to implement.
Once I’d implemented it, however, I needed to add one more feature—to delay the showing of the tooltip for a moment so that if you are speeding down the popup, the changing tooltip isn’t constantly shown.
When I had done that, there was one more cool thing to add… and so it went!
Doug: Are there plans underway for v.next of PromptSQL?
Damian: Right now I’m rounding out the basic product. The first version was released about a month ago, and there is a long list of things that have been suggested as enhancements.
There are several disadvantages to being a one-person company, but the big advantage is flexibility—being able to implement a suggested feature and have it in the product, online and ready to download within a couple of days.
Doug: You used C# to create PromptSQL. What is your programming language background? Do you have Java experience? If so, how did you find the transition from Java to .NET and C#?
Damian: I started off in C, ADA and C++, but made the move to Java in the mid-1990s. Although I was focused on Java, I kept my hand in the Microsoft world with a fairly successful product I created called J-Integra. It bridged Java and COM with a Java implementation of the DCOM protocol; it’s the only one I know of.
The transition to C# was pretty painless. In the early days I remember typing Java code and it working as C#. After writing software for 25 years, when you know that something must be possible, it is just a question of wading through the documentation to find out how to do it. And if you can’t find it, then maybe there is a product opportunity :-).
Doug: Does PromptSQL keep you busy full time?
Damian: By day I work as an independent consultant at a large multinational company in Lausanne, Switzerland, where I develop ASP.NET applications with SQL Server as the back end. I’m just a PromptSQL user there. The hour-long train journey to their offices and back is where I do PromptSQL, plus the occasional evening and weekend.
Doug: What do you think about using VB.NET or C# for stored procedures, functions and triggers? How do you think CLR stored procedures will fit in?
Damian: I’m with those who say there is a lot of room to use C# for the things SQL is not good at; string manipulation is a primary example. I don’t think we should look to replace SQL stored procedures wholesale with C#.
Doug: Have you read any good database-related or general programming books lately?
Damian: I do most of my reading online, with blogs as my main source. The last programming book I read was the new edition of Code Complete. If only I could live up to it!
Doug: What music do you listen to these days?
Damian: With a two-year-old and a four-year-old, "Twinkle, Twinkle Little Star" and "Rock-a-Bye Baby" are firm favorites at the moment.
Do you know someone who deserves to be a Database Geek of the Week? Or perhaps that someone is you? Send me an email at email@example.com and include "Database Geek of the Week suggestion" in the subject line.