SmartInspect presentation available for download

Every since we started offering free SmartInspect license vouchers and flyers to user groups, we also wanted to make a quick SmartInspect presentation available to interested groups and customers. We’ve just built such an introductory presentation which is now available for download:

SmartInspect in 15 Minutes

Download SmartInspect in 15 Minutes (3.55 MB)

The presentation is primarily intended for user group meetings to quickly introduce SmartInspect to all attendees. User group members are encouraged to visit our website and download the trial if they are interested in learning more about SmartInspect. The presentation is also a great way to introduce SmartInspect to your other team members and to quickly explain the benefits and architecture of SmartInspect.

There are two versions of the presentation available: one with notes and one without (both versions are included in the above download). Feel free to modify the notes or presentation to meet your needs. Of course, you can also just use the presentation as is if you don’t find the time to adapt it. If you have any suggestions for improving the presentation or if you find any errors, please let me know. Enjoy!

Posted in Gurock Software, Programming, SmartInspect, Websites | Leave a comment

SQLite logging for Delphi with SmartInspect

David Lambert was kind enough to send us his very nice SmartInspect SQLite logging protocol for Delphi and allowed us to make it available on our website. It can be used to write SmartInspect logging data to an SQLite database instead of typical log files, allowing for customized filtering and analysis with SQL tools. This SmartInspect protocol is licensed under the Creative Commons Attribution license and uses the DISQLite3 database library, which is available as a free personal edition or affordable professional version with additional features from Ralf Junker.


SmartInspect SQLite log viewed in SQLiteSpy

The logging protocol automatically creates and initializes a new SQLite database on its first use, making it very easy to deploy application with it. All SmartInspect packets such as log entries, watches and process flow entries are supported and stored in the resulting SQLite database. Please note that the protocol has been written for Delphi 2009, but there are only a few changes required if you want to use it with an older Delphi version. Update: The protocol works with multiple Delphi versions out of the box, including Delphi 2007 and Delphi 2009.

Until our upcoming new website with a more useful SmartInspect resources section has been launched (scheduled for next month), you can download David’s protocol here:

Download SiSqlite.zip (5 KB)

Posted in DelphiFeeds.com, Gurock Software, SmartInspect | Leave a comment

New DelphiFeeds.com launched

DelphiFeeds.com

We have just switched DelphiFeeds.com to the new website, after it has been tested by around 50 users in the past 2 weeks (all beta accounts and data have been moved to the new site, too, of course). Thanks to everyone who tested the new site and provided feedback! As a result of the feedback we’ve received, we have added an additional option to hide the popular section on the start page, allowing you to see more postings at once without scrolling (see the My Settings page for available options). So if you are a regular DelphiFeeds.com reader, make sure to create an account and start voting!

Posted in DelphiFeeds.com | 3 Comments

Choosing a Web Development Stack

We have been working on a new product in the past few months (besides improving our flagship product SmartInspect of course) and had to choose a web development stack for this project. The product will be an installable web application, meaning that customers can host the application themselves (in contrast to all those fancy hosted web apps out there).

We have posted about the requirements and pros and cons of all the available web development stacks over on our No bug left behind blog. So if you are in the process of selecting a web development platform, you might be interested in our experiences:

The application is coming along nicely and we hope to post some early information and screenshots about our next product in the coming weeks.

Posted in Business, Programming | Leave a comment

New DelphiFeeds.com Beta now online

We are very happy to announce a new beta of DelphiFeeds.com! We designed and developed the new site to be a mix of Digg, Stack Overflow and the old DelphiFeeds.com, allowing you to vote for postings, marking items off-topic and saving the best postings as favorites.

df

Popular postings, i.e. postings with many votes, are promoted to the Popular section of the front-page of the new site and thus get more attention. Popular postings are also featured on the new Popular pages, which makes it easy to track the most popular postings over time.

The new sidebar and widgets allow you to configure which newsgroups and community resources you want to see, and in which order they are displayed. We will add additional newsgroup and feed widgets soon, so if you have any suggestion for additional feeds that should be included, please let us know.

You can now also stay up-to-date on Delphi news and Delphi blog postings via Twitter by following @delphifeeds. This isn’t really a new feature and the DF.com crawler has been twittering for a few months now, but we haven’t announced it yet. So if you missed this, make sure to follow @delphifeeds!

We also finally updated the Blog of the Year award and determined the winners. It took us (a lot!) longer than expected, but there were always more important things to do, so my apologies for the delay. Anyway, congratulations to the blog authors and winners of the prizes and thanks to the prize sponsors!

So if you haven’t yet, make sure to check out the new site and please provide feedback. If no major issues come up during the beta, we will switch to the new site next weekend.

Posted in DelphiFeeds.com | 15 Comments

SmartInspect 3.2: new build available

I’ve just uploaded a new build of SmartInspect 3.2. The new build contains an important fix for a problem where the SmartInspect Console may become unresponsive/locked for a few seconds (while loading a log file or scrolling a view, for example). The exact version number of the new build is 3.2.0.8546. If you’ve already downloaded and installed the 3.2 earlier this week, please download and install the updated version. You can install the new version over your existing installation.

Posted in DelphiFeeds.com, Gurock Software, SmartInspect | Leave a comment

Delphi 2009 and backwards compatibility

In a recent blog post I saw on DelphiFeeds.com, Babnik argues that Delphi 2009 should have been compatible with older Delphi versions by still treating String as an AnsiString and introducing a parallel VCL with UnicodeStrings (think TEdit vs. TEditW). I don’t think this would have been a good idea.

I understand that there are many Delphi users who want to upgrade to Delphi 2009 to benefit from additional features but don’t care about the Unicode improvements (or already use a different technique to support Unicode such as the TNT Controls). Adding this compatibility mode would therefore be a great short-term solution for them but would result in huge technical debt for CodeGear.

For CodeGear, this would mean supporting two parallel versions of the VCL for at least the next few versions of Delphi. What a support and maintenance nightmare! Likewise, third-party vendors would have to ship two different versions of their products for Delphi 2009 and beyond. One compiled with Unicode support and one without. Again, a maintenance nightmare.

I admit that porting real-world applications to Delphi 2009 can be quite a bit of work. The just released version of SmartInspect now uses Delphi 2009 for the SmartInspect Console. Previous versions were built against Delphi 2006 and I can say that the transition wasn’t as smooth as I hoped for. Like Babniks product, the SmartInspect Console already supported Unicode by using WideStrings and the TNT Controls, so there wasn’t a need to update to Delphi 2009 just because of Unicode. But we wanted to fix a few Vista related bugs and other glitches and Delphi 2009 includes fixes for most of them. So we decided to give Delphi 2009 a try.

It turned out that converting the Console itself wasn’t that big of a problem. The warning messages of the Delphi 2009 compiler are really helpful and we got most of the Console running within about two weeks. A bit more problematic were some no longer maintained third-party controls and it took two more weeks to get the Console to a really stable state. That’s more than I expected but still okay for such a one-time conversion (the Console has about 50K LoC + forms, the unmaintained third-party controls were about 10K I guess).

In retrospect, I think it was well-worth the time and Delphi 2009 feels like a good version. The IDE is much more stable than Delphi 2006 and the language and VCL finally got some much-needed improvements. We are also happy that we could throw away the WideString and TNT related code. Using Delphi 2009 makes the Console code much cleaner. It also got a bit faster because of the performance improvements of UnicodeString compared to WideString.

So, while I can understand that not everyone wants to invest the time for the Delphi 2009 conversion, I do not think that adding this compatibility mode would have been a good decision, especially not in the long run.

Posted in DelphiFeeds.com, SmartInspect | 13 Comments

SmartInspect 3.2 is available

We are happy to announce the release of SmartInspect 3.2. Besides adding some often requested features to the Console and logging libraries, we made some major changes to the SmartInspect Console in how it loads and processes log files, reducing the memory usage during log file loading drastically and making it faster in general.

We’ve also upgraded the Console to make use of the latest development tools and third-party components available, integrating it better with Windows Vista and preparing it for Windows 7.

If you have been using the beta versions, you won’t notice a lot of changes as we have only added a few additional bug fixes since the last beta. Here are the main changes of SmartInspect 3.2 compared to the previous stable release:

  • New: Connection variables for automatically replacing variables in a connection string
  • New: Width format option for text protocol pattern string
  • New: Custom timestamp format for text protocol pattern string (platform-specific)
  • New: Exception.StackTrace support for LogException (Delphi only)
  • New: Support for protocol objects in addition to raw streams in the Dispatch method of the memory protocol
  • New: ‘View | Create View’ Console feature for quickly opening new filtered views
  • New: Console command line parameter /configdir and /pipename
  • New: Internal string pooling which drastically reduces the overall memory consumption of the Console
  • Improved: Log file loading performance increased and reduced memory consumption
  • Improved: Bookmarks in the Console now indicate whether they are already in use
  • Improved: Better view performance when displaying large Log Entry titles
  • Improved: Increased performance of title and data viewers

This is also the first release that includes the memory consumption improvements we implemented in the Console and explained on our software quality blog. You can download the release from My Gurock.com and the updated trial is available on our website. As usual, you can simply install the new version over your existing installation. For a complete list of changes, please see the online help or our announcement forum.

SmartInspect 3.2 is a great release and contains quite a few new features and lots of smaller improvements and fixes. You can expect a few blog postings about some of the new features to appear here soon.

Posted in DelphiFeeds.com, Gurock Software, SmartInspect | Leave a comment

Optimizing Memory Consumption with String Pools

For those of you who haven’t yet subscribed to our new software quality blog, here are links to an interesting post series Tobias has recently written and published on No bug left behind. Tobias explains how to reduce memory usage by making use of string pools and shows how we integrated this technique into the SmartInspect Console:

Integrating string pools into the SmartInspect Console means that you will be able to open and analyze even larger log files, as string pools can reduce memory usage by 40% and more. If you haven’t yet subscribed to our new blog and are interested in software quality, testing, usability and related topics, make sure to subscribe:

» No bug left behind Feed

Posted in Gurock Software, SmartInspect, Software Quality | Leave a comment

New SmartInspect beta versions

We’ve just uploaded a new beta build for the upcoming SmartInspect 3.2.0 release. The exact version number is 3.2.0.8496. This build integrates several additional techniques to reduce the memory consumption of the SmartInspect Console, the most important being a new string pool for caching and reusing strings. You can read more about this string pool on our new software quality blog. As usual, the new build can be downloaded via My Gurock.com. You can report bugs in our SmartInspect EAP forum.

We also updated the SmartInspect for PHP library. It contains a few bug fixes and can be downloaded from our SmartInspect resource page. Please see the smartinspect.php file for changes.

Posted in DelphiFeeds.com, Gurock Software, SmartInspect | 2 Comments