Skip to content

Blog

09/02/2013 public release

gmBasic 10.06B9<br />[+] Added support for translation subsystems. (select subSystem="id")<br /> A subsystem is a named set of language translation rules that implement a custom migration.<br /> For example producing WPF translations is done by activating the WPF subsystem.<br />[+] VB6 forms to WPF forms feature (supports most VB6 Intrinsic controls)<br />[+] Added ControlData API to gmSL. This also supports custom control migrations such as WPF.<br />[+] Additional migration events added to gmSL (AuthorProperties, CodeReference, AdjustProperties)<br />[+] Added Refactor-HasWeakSetter for accessors that take object<br />[+] Added Refactor-Declare to deal with missing declarations in ASP<br />[+] Added Refactor-RemoveResumeNext to deal with overly complex on error resume next functions<br />[+] Simplify FRX to RESX convention to avoid issues with special characters in resx filenames.<br />[+] Improved support for support for Graphics operations including Circle and Line command B and BF options<br />[+] Improved support for upgrading VB6 FileSystem listbox controls<br />[+] Improved support for source codes and COM components that use international character sets<br />[+] Support for '-' in ASP file names.<br /><br />
MetaLang<br />[Add] lang\WPFsubSystem.gmsl -- WPF Forms Authoring (beta)<br />[change] idf\Language.std.xml <br />[change] idf\MigrationSupport.dll.xml<br />[change] idf\ReferencesAudit.dll <br />[change] lang\netControls.xml <br />[change] lang\VB7Lang.xml <br />[change] lang\VB6IDL.XML <br />[change] lang\vbcontrols.xml <br />[change] lang\OPCODES.XML <br />[change] lang\TOOLLANG.XML <br />[change] lang\enumerations.xml <br />[change] lang\auditvbi.gmsl <br />[change] lang\VBASIC.XML <br />[change] lang\authortext.gmsl <br />[change] lang\GMSLANG.XML <br /><br />
gmStudio<br />[+] Improve UI responsiveness when running long processes<br />[+] Improve user control over scrolling session log to screen<br />[+] Update References/Definitions reports to use AuditVBI.gmsl<br />[+] Added Rules Samples management to Settings form<br />[+] Simplify view menu; removed items that are handled on Settings form<br />[!] Correct issue with report selector list not showing up in Trial Mode<br />[!] correct SrcFile path in NET Build Log report for ASP includes<br />[!] correct translation switches being cleared from the task in memory<br />[!] correct report type list being empty in trial mode<br /><br />
Samples<br />[+] Rework Scantool to filesystem listbox migration<br />[+] Rework FileExplorer sample to use new IDFs and gmSL for Common Controls replacements<br /><br />
Installation<br />[R] Retire GMNI DLLs that are now handled using gmSL <br />[+] Retire ReferenceAudit.dll<br />[+] Add ASPGlobalIncludes.dll to standard distribution (preparing for new Web Samples)<br />[+] Added a template GlobalImports script to settings folder (preparing for new Web Samples)<br />[+] Added a template GlobalIncludes script to settings folder (preparing for new Web Samples)<br />[+] Update the contents of extras\RefactorLibrary with more current samples and move to support\rules

07/05/2013 public release

gmBasic
[+] V10.05: Improvements for VB6 translation correctness
[+] Improvements for ASPX/ASCX correctness
[+] Ensure gmBasic generates code to properly initialize page reference in ASCX.CS files
[+] Support for rewriting GoSub as function call
[+] Added Refactor/Declare to explicitly add missing variables
[+] Added Select LinearizeFiles=on|off to work around build cycles among ASPX folders
[+] Additional support for reporting variable scope in References reports using AuditVBI.gmsl


MetaLang
[Change] idf\asplang.gmsl
[Change] idf\ASPLANG.XML
[Change] idf\MigrationSupport.dll.xml
[Change] lang\AspAuthor.gmsl
[Change] lang\auditvbi.gmsl
[Change] lang\authortext.gmsl
[Change] lang\enumerations.xml
[Change] lang\GMSLANG.XML
[Change] lang\OPCODES.XML
[Change] lang\ReferenceReports.xml
[Change] lang\TOOLLANG.XML
[Change] lang\VB6IDL.XML
[Change] lang\VBASIC.XML
[Change] lang\vbcontrols.xml


gmStudio
[+] Added UI support for VS2012 (beta)
[+] Improved TypeLib resolution from explicit script reference
[ ! ] Fixed TypeLib resolution from ProgID on Win64
[ ! ] Fixed undercounting GUI Lines in ASP by one in Code Structure Report
[ * ] UI Support for COM Replacements (Rules Management - pre-release requires Special license)

06/04/2013 public release


gmBasic
[+] 10.05B6 Various ASP/VB6 compiler improvements

MetaLang
[Change] lang\VB7Lang.xml default Setting to ExceptionHandling=Simple
[Change] lang\authortext.gmsl MigrationSupport naming changes
[Change] lang\VB6IDL.XML MigrationSupport naming changes
[Change] lang\VBASIC.XML MigrationSupport naming changes
[Change] lang\VBconstants.XML MigrationSupport naming changes
[Change] lang\VBcontrols.XML MigrationSupport naming changes

[Change] idf\asplang.xml additions
[Change] idf\Language.std.xml MigrationSupport naming changes
[Change] idf\mig.stdole2.tlb.xml MigrationSupport naming changes
[Change] idf\MigrationSupport.dll.xml MigrationSupport naming changes

gmStudio (Configuration Date = 6/04/13 22:48:01)
[+] Add Activate Project Specific config file feature to Settings form
[+] Improve Handling of VBPs that reference missing files
[+] Change Default Setting to ExceptionHandling=Simple
[+] Improve refresh of Details panel after logged operations
[+] Turn off translation log redirection when ShowSessionLog=false or MaxSessionLines==0
[+] Rename interop folder to runtime folder, also adding script variable %RuntimeFolder%
[!] Correct problem with Reference report libDesc field when library helpstring=""
[R] Standardize build platform to x86 (required for TLI implementation)
[R] Remove some dead codes

MigrationSupport
[+] Rename Lib class to Utils
[+] Add features to Utils class and to the UI and DataLib namespaces

Improve your ROI for Modernization

A couple weeks ago, I attended a webinar by Steve McConnell, CEO of Construx. Steve is a top author and speaker on software development practices.

The title of the webinar was “The Business Case for Better Software Practices”. It made a bold assertion:

Improved Software Practices are Business’s Last Great Frontier
Aka “There’s gold in them thar hills!

As far as I was concerned, Steve was preaching to the choir, I have seen both sides and I know how much process matters. In my prior role, I helped overhaul the SCM processes for an enterprise IT organization and those improvements increased work capacity and productivity by about 300%.

A couple things about Steve’s presentation really resonated with me:

  • The data shows that software development (SD) process improvements result in big productivity improvements (a lot bigger than one might think).
  • From the Agile Manifesto: Individuals and interactions over processes and tools.

As evidence of the first point, Steve presented SD process improvement ROI results from many organizations and summarized them in this slide: ROI_for_best_practices.png

Steve’s presentation went on to stress how building staff capability is critical to implementing improved software processes. This fact is known by anyone who has worked with SD teams for a while: the people and how they work together matters - a lot. Ultimately, process improvements require people to correctly and consistently use new skills in doing their work. While new tools and technologies facilitate advanced SD processes, the ability of people to use those new tools and technologies is essential.

Taken together, these two matters are very interesting to me as a software modernization evangelist. Many of our prospective customers are struggling to make a sound business case for upgrading their software assets. They struggle because the sponsor views the upgrade as a zero-feature release that does not help the bottom line. However, now we have a considerable body of data that shows SD process improvements can have a great ROI for the organization. Furthermore, moving your system and your people to a contemporary platform is a prerequisite for improving your SD processes. Two specific forces are at work:

  • Developing software using contemporary tools and languages will help you recruit and retain people who are most motivated to build their capabilities.
    Ask yourself this question: Can you successfully recruit and retain highly motivated and capable IT professionals if your software is maintained in VB6 or ASP classic?
  • Developing software using contemporary tools and languages positions you to take advantage of best practices. In the vast majority of cases, these best practices are designed for and around the newer tools and languages:
    Ask yourself this question: Are the latest SD tools, techniques, books, and articles designed for VB6 and ASP classic or for more contemporary platforms like .NET?

If you agree that people are important, you need to set the stage to attract them to your organization and ultimately that means moving your legacy systems into the present.

So, in summary, if you are struggling to make a compelling business case for a large scale software upgrade project, consider repositioning the upgrade as part of a more comprehensive SD uplift including staff training and process improvements. The improved productivity can be the “carrot” to go along with this “stick” business case outlined here.

I trust a lot of readers out there will read this and say: Really? It’s hard enough to make the case for these type of things by themselves; there is no way I can make the case for both at once. I admit, this is a valid objection, I have been there and I know we both appreciate that making process changes in the development organization is hard and getting funds to pay for changes in the development organization is really hard. I am not saying it will be easy; but I am saying it will be easier if you can offer increased productivity and quicker delivery as part of the answer to the question “What’s in it for me?”

Thanks go to Steve McConnell and Construx for permission to reproduce material from the webinar.

05/12/2013 public release

gmBasic
[+] 10.05B3
[+] Additional gmSL improvemetns
[+] Various base VB6 translation improvements: collections
[+] Various base ASP translation improvements


Metalang
[Change] lang\VB7Lang.xml
[Change] lang\authortext.gmsl
[Change] lang\GMSLANG.XML
[Change] lang\OPCODES.XML

gmStudio
[+] Include *.gmsl files in User and Lang search reports
[!] Correct filtering on task filter on multiple fields

gmStudioPlugin (beta)
[!] Correct form resize issue