SYNERGY-E-NEWS
News and Updates for Synergy/DE Developers

October 8, 2012

 

Beta Test Synergy/DE 10

For your users

Read More


Yield Better Code in Version 10

By Jim Sahaj, Sr. System Software Engineer

Read More


Welcome Back, DBL

“We were wrong… and many of you were right!” Read from the General Manager’s blog

Read More


Quiz

Synergy/DE pros, see if you can answer this question!

Take Quiz

twitter.com/synergyde
 

Synergy/DE Supports Newly-released Visual Studio 2012

Develop modern applications across Microsoft’s platforms

Read More


Sending Us Data So We Can Help You Troubleshoot an Issue?  STOP!

Read this article first

Read More


Synergy/DE Tech Tip

Print preview displays incorrectly in Synergy Windows printing API

Read More


Platform News

Read a selection of recent articles

Read More

 

 

 

Beta Test Synergy/DE 10

For your users

Synergy/DE 10 will deliver significant enhancements to help you create better applications and be more productive. It also includes significant changes to the Synergy DBMS file system. Take care of your users by trying out the v10 beta release today.

  • Make sure your applications work with the new ISAM revision.
  • Prepare your applications for Windows 8 (before your users need it).
  • Validate the latest bug fixes against your applications.
  • Start taking advantage of the new features, including HTTP/HTTPS enhancements, multi-user Repository, change tracking, and Synergy .NET enhancements.

Click here for more information or to download Synergy/DE 10 Beta 2.

Synergy/DE Supports Newly-released Visual Studio 2012

Develop modern applications across Microsoft’s platforms

Microsoft launched Visual Studio 2012 last month, giving developers enhanced tools for developing modern applications across Microsoft’s platforms.

Synergex worked closely with the Visual Studio team during the months prior to the launch—beta testing, providing feedback, and making sure Synergy/DE would fully support the new features—so that our customers would be able to use VS 2012 on launch day. Roger Andrews, Synergex CTO, stated, “Visual Studio 2012 brings significant advantages to Synergy developers. These include improved productivity through faster project loading, a cleaner development experience, improved editor performance, new asynchronous capabilities in the Synergy DBL language, and the ability to create Windows Store applications.”

To use Visual Studio 2012, just download the early release of Synergy/DE 10 available on our beta site.
Because of our close collaboration with Microsoft, we had the opportunity to include a short video on Microsoft’s launch web site, which discusses Synergy DBL’s integration with Visual Studio and introduces our new KitaroDB offering. Click here if you would like to check that out

For more information:



Yield Better Code in Version 10

By Jim Sahaj, Sr. System Software Engineer

Do you ever wish you could write code that can create a collection on the fly by performing complex logic and keep it separate from the logic that iterated over it?  In Synergy .NET version 10, we introduce the new YIELD language construct that works with enumerations to do just that.

To see how to create a collection on the fly using YIELD, let’s look at an example:

import  System.Collections
namespace ns1
public class List
    public static method Power, @IEnumerable
        number, int 
        exponent, int
    proc
        data counter, int, 0
        data result, int, 1
        while (counter < exponent)
        begin
            incr counter
            result = result * number
            yield mreturn result
        end
    endmethod
endclass
endnamespace
main
proc
data i, int
foreach i in  ns1.List.Power(2, 8)
        Console.Write("{0} ", i)
end

In this code, the Power() method takes a number and produces a power of that number up to the exponent power.  Note that the YIELD is on the MRETURN of a method that returns an Enumerable interface.  Under the covers, the compiler creates an enumeration that gets filled by successive calls to YIELD MRETURN in Power().  Each time Power() is called the YIELD MRETURN adds the value to the enumeration and the loop is essentially suspended at that place until the next call of Power(), at which point it will retest the conditional (counter < result) and proceed from there.

The YIELD statement comes in two forms, YIELD MRETURN expression and YIELD EXIT.  The YIELD MRETURN gives the next value to put in the collection.  It will continue returning until the YIELD MRETURN statement isn’t reached because of surrounding conditionals, in this case when counter >= exponent.   If you need to terminate the addition of values, without regard to surrounding conditionals, use YIELD EXIT.

When YIELD is specified, the compiler creates state-based code that stores the values in variables within Power() across calls to Power() through a hoisting mechanism.   In this example, counter, result, number, and exponent values are preserved across calls, enabling the calculation of the next value based on these values.  This enables us to put the complex calculation in the Power() method and put the processing of the collection in a separate loop away from the complexity of that calculation, making the code easier to follow and more readable. 

You can start using the YIELD statement today by downloading the Synergy/DE 10 beta. Check out the Synergy Language Reference Manual for more detail on this powerful version 10 feature.



Sending us data so we can help you troubleshoot an issue?  STOP!

Read this article first

Occasionally you might need to send us customer data so we can help you analyze and troubleshoot issues. While we are happy to use your data if required, we need to take special care with it. Many categories of data are considered restricted or protected by government regulations. In the United States, for example, the security and privacy of health industry data is regulated by HIPAA, credit card data is regulated by PCI Security Standards, and banking data is regulated by the FDIC. Also, in some cases, protected data may include government-issued IDs, such as Social Security numbers, and personal data such as addresses.

To stay in compliance with all the regulations, Synergex employees follow specific rules when handling customer data, and we request that you follow the guidelines below.

Before you send any data
If you believe you need to send us data (restricted or not), first contact Synergy/DE Developer Support to discuss the issue you are having and the reason for sending the data. Let us know if the data contains any restricted information. (If you’re not sure, find out before you call.) We will review the issue to determine if other troubleshooting methods or solutions are available.

If you need to send data
If you and Synergex mutually agree that you need to send data, use the following procedure:

  • If the data does not contain any restricted information, send it to us via FTP or e-mail.
  • If the data contains restricted information that you can remove, remove the restricted information (“cleanse” the data) and then send it to us via FTP or e-mail.
  • If the data contains restricted information that you cannot remove, send the data to us via courier service on encrypted stand-alone media. (Do not use FTP or email to transfer restricted data.)
  • If the data cannot be cleansed, encrypt the data with a temporary encryption key and provide us with that key.
  • If data needs to be sent to a third-party, such as Microsoft or Trifox, send the data directly to that company.

While restricted data is on site at Synergex
Synergex will use the following procedures with any restricted data you send:

  • Synergex employees will load and use the restricted data on a machine that is not part of the Synergex domain and has restricted access.
  • The media containing the restricted data will be stored in a secure file cabinet.
  • Synergy/DE Developer Support will track and document all access to the data.
  • If Synergex uses the restricted data improperly or discloses it in any way, Synergex will document the incident and notify you of the improper use or disclosure.

Upon closure of the support case, the data will be removed from Synergex’s systems and the media will be returned to you via courier service.

If you have any questions about these procedures, please contact Developer Support.

For more information
About HIPAA: http://www.hhs.gov/ocr/privacy/hipaa/understanding/index.html
About PCI compliance: http://www.pcicomplianceguide.org/
About FDIC: http://www.fdic.gov/quicklinks/bankers.html
The information from this article is also available in the Synergy/DE Resource Center: https://resourcecenter.synergex.com/helpdesk/sending-data-proc.aspx

 


Welcome Back, DBL

We were wrong… and many of you were right!

Back before the turn of the century, we went through some re-branding efforts of our development tools—and renaming “Synergy DBL” to “Synergy Language” was one of the biggies.
Read more in William Mooney’s blog.


Synergy/DE Tech Tip

Print preview displays incorrectly in Synergy Windows printing API

Question
Something is wrong with my print preview display in the Synergy Windows printing API. How can I fix it?

Answer
This problem may be due to an increase in size in one of the WinPrint API structures (winprint.def), causing the variables to have "random" information. To resolve this issue, initialize the new variables in the code that is setting the font. For example, you might change these variables:
 
                  orientation            ,i4   ;Character orientation in tenths of a degree from x
 
                  escapement        ,i4   ;Text baseline escapement in tenths of a degree
 
Note: We recommend that you use the INIT statement to initialize the record first, and then set the variables, instead of just setting the variables.  

 


Quiz

What is the output of the following Synergy.NET program?

main
record
      x     ,int, 1
proc
      open(1,o,"TT:")
      lambda x()
        begin
          mreturn 2
        end
      xcall sub(x)
end

subroutine sub
      x,    n
proc
      writes(1,string(x))
      xreturn
end

a. Nothing
b. 1
c. 2
d. This does not compile

Click to read the answer


Platform News

Windows

Microsoft augments JavaScript for large-scale development
http://www.infoworld.com/d/application-development/microsoft-augments-javascript-large-scale-development-203737

Microsoft co-founder dings Windows 8 as 'puzzling, confusing'
http://www.computerworld.com/s/article/9231964/Microsoft_co_founder_dings_Windows_8_as_puzzling_confusing_?taxonomyId=89

Windows Server 2008 Support Lives On, XP Won't
http://www.informationweek.com/windows/operating-systems/windows-server-2008-support-lives-on-xp/240007952

Visual Studio 2012 Launch
http://www.visualstudiolaunch.com/vs2012vle/Home

Windows Server 2012: Microsoft's Cloud OS Leaves the Gate
http://www.serverwatch.com/server-news/windows-server-2012-microsofts-cloud-os-leaves-the-gate.html

 

OpenVMS

HP OpenVMS Roadmap Updated
http://www.openvms.org/stories.php?story=12/09/11/2512711

2013 OpenVMS Boot Camp
http://www.connect-community.org/?2013VMSBootCamp

Oracle to Continue Porting Its Software to HP's Itanium Servers
http://www.eweek.com/c/a/IT-Infrastructure/Oracle-to-Continue-Porting-Its-Software-to-HPs-Itanium-Servers-894630/

 

UNIX

Linux 3.6 Delivers Solid Progress
http://www.serverwatch.com/server-news/linux-3.6-delivers-solid-progress.html

The State of Linux in 2012
http://www.serverwatch.com/server-news/the-state-of-linux-in-2012-linuxcon-jim-zemlin.html

SUSE Launches OpenStack Cloud Platform
http://www.informationweek.com/cloud-computing/infrastructure/suse-launches-openstack-cloud-platform/240006419