Yesterday, Saturday, a customer contacted me and told me that icetips.com was not working. Sure enough the SSL certificate had expired!

It has been fixed now, but it took me a while to figure out exactly where and how I had set up the certificate originally!  Icetips is hosted on hostgator.com and after looking at comodo and godaddy and not finding any information about my last certificate I finally figured out that hostgator.com is kind enough to give one SSL certificate for free to their business and re-seller customers!  So it was a quick fix after all and the website should be working correctly again - at least it is from our office!

Apologies for any inconvenience this temporary problem may have caused!

Couple of days ago I stumbled on an excellent article about the pitfalls of code signing!

https://arstechnica.com/information-technology/2017/11/evasive-code-signed-malware-flourished-before-stuxnet-and-still-does/

Couple of excerpts:


"Now, researchers have presented proof that digitally signed malware is much more common than previously believed."

"Surprisingly, weaknesses in the majority of available AV programs prevented them from detecting known malware that was digitally signed even though the signatures weren't valid."

"The third key weakness in the code-signing ecosystem was the failure of certificate authorities to verify the identities of people applying for code-signing certificates. "

"Malware with the same digital DNA as Stuxnet—Duqu discovered in 2011 and the Duqu 2.0 that infected Kaspersky Lab's corporate network starting in 2014—also used code signing."


Just because an executable is code signed does not really tell much.  You can EDIT code signed executables and they will run just fine - assuming that you do not change the binary code that actually makes them run;)

You can protect your software by validating the code signature inside the application.  That way if the signature is tampered with, you can prevent the program from running.

Automator_wallpaper2016-sm

We have released Build Automator 2016, build 6.2.1359

The full install can be downloaded from the Build Automator website at http://www.buildautomator.com/downloads.php or by using the "Check for Updates" option under the Help menu in the program.

This build has several fixes including:

  • Clarion 9.0 installs were not always detected correctly.
  • Clarion 10.0 installs did not always show up as available version if only one more Clarion version was installed.
  • Icons were missing from some buttons as well as from some windows.
  • Maintenance Plan verification did not always work correctly.
  • Registration window was too short to show all the information.
  • In some circumstances {#INCLUDE(FileName)} could add 2-5 characters at the end of the resulting file.

There were some bugs in the Clarion 9 and 10 implementation.  I have simplified it so it should be easy to add new versions of Clarion as they are released.

The {#INCLUDE()} statement for the "Write Text To File" action had a bug in it causing extra characters to be written at the very end of the final file.

For more information, and some extra tips please read the full blog post on buildautomator.com

Automator_wallpaper2015-sm

We have released Build Automator 2015 build 5.12.1344

The full install can be downloaded from the Build Automator website at http://www.buildautomator.com/download.php or by using the "Check for Updates" option under the Help menu in the program.

There are several new features in this build, but there are also a lot of fixes behind the scene that make the program more stable than it has ever been.  The new feature list includes:

  • Full support for Clarion 10
  • Full support for SetupBuilder 10
  • Support for Code generation before build in Clarion 8, 9, 9.1 and 10
  • Drag and drop from Explorer is now supported on all entry and lists that use file names.
  • Generate Manifest now fully supports Windows 10.
  • Both the install and the program files are dually code signed with both SHA-1 and SHA-2 code certificates, prepared for Microsoft dropping support for SHA-1 certificates in 2016.

But the main change is that Build Automator 2015 is completely built in Clarion 10. We had decided that Build Automator 2014 would be the last build we did in Clarion 6.3.  It had served us well, but it really was time to move on.

It was not a pain free move!  Clarion 9.1 would consistently throw a non-descript "internal compiler error" on one of our classes and no matter what I did, it would never compile that particular code file.  Clarion 10 came around and lo and behold it would compile this particular file with no issues.  So on went the conversion process.  I found a few bugs along the way, both in Clarion and Build Automator!  Window resizing changed between Clarion 6.3 and Clarion 10 - don't know when - and it caused problems with most of the action windows causing quite a bit of work to get around that.

I would have liked to have more new actions and features in this build, but it has taken so long to get it together that I didn't want to wait any longer!  But with Build Automator now in Clarion 10 it will be much easier to dive back in and get some new things going.

FTP and Email are two of the things that I want to add and improve.  Currently you can only upload files, not download or do any other fancy stuff.  It would also be nice to be able to send emails from it in case of errors and attach the log file. Version control is another thing that needs better support.  Although I have implemented TortoiseSVN using "Run Program" and it runs great, it would be nice to have a more native support for the most popular version control programs today.

Our support for Clarion 6 is coming to an end.  While the actions to compile with the old IDE will stay in the Build Automator IDE there will be no further development on them.  One of the features I want to add is more flexibility in the MSBuild action, so that it could for example be used to build multiple solutions or multiple projects, in a similar way as the "Compile Multiple Clarion Applications" where there is a list of items to compile.

Arnor Baldvinsson

On October 15th, 2015 the renewal prices for expired Icetips subscriptions will go up. Until then you can renew for the same price as non-expired subscriptions and save money!

If you go to http://www.icetips.com/compare.php and look at the second table from the top, "Prices for Gold & Silver Subscriptions" you see a column with "Renewal Price Expired"

Those prices do not take effect until October 15th, 2015!

On October 15th all subscriptions that have been expired more than 30 days will have to be renewed at a higher price.

Check it out and log into your account to check your subscription status.

Arnor Baldvinsson

Autumn (or spring, if you're in the Southern Hemisphere) brings changes in weather and landscape, and Icetips, too, has some changes this season.

MONTHLY & AUTOMATIC BILLING OPTIONS

First, weve made it easier to pay for Icetips software subscriptions by adding automatic billing options and monthly payment options.

To buy a new Gold subscription, you can now make a partial payment of $149 up front, then pay the balance in 11 monthly installments of $15.  Or, you can pay for the whole thing up front, as always.

To renew a Gold subscription and have continuous access to all Icetips Software products, updates and support you can opt for a small, ongoing payment of only $15 a month.  Or, if you would rather, you can still pay your renewal fee once a year.  Now, though, you have the option of having your annual billing paid automatically (and get a discount!).

Solo and Silver subscriptions also have automatic annual payment options and discounts (but no monthly payment options).

For more information about our new payment options, please see our page on recurring/automatic subscriptions.

PRICE CHANGES

Icetips introduced the Gold Subscription in 2007 and we have held prices constant since then.  Unfortunately, costs have gone up – but we're still keeping our prices as low as we can.

If you opt for automatic renewals, prices will be the same as always.  For those who choose to renew their subscriptions manually, prices have increased a small amount.

Some people let a little time go by before renewing their subscriptions.  For those who renew their subscriptions over 30 days after the subscription has expired, renewal costs will be slightly higher.

For more information about our new price options, please see our subscription page.

ARNOR FOR HIRE

Whether you need just a little extra help, or a whole lot of lot of help, with a new or ongoing software or SQL project, Arnor is available for contract work.  $80/hour, 1 hour minimum, references available upon request.  For more information about hiring Arnor, please see the Icetips Solutions website.

HAPPY 20th BIRTHDAY, ICETIPS.COM

Twenty years ago this month, Arnor Baldvinsson and Rick Beckemeyer began working together to make a website for Clarion developers.  In October of 1995, Icetips.com was born.  In the early days, Rick took care of the URL and hosting, while Arnor took care of the website design and content.  In 2001, Arnor took over the administrative side, too.  Shortly after that, Arnor's business partner and wife, Sue Pichotta, began helping with Icetips' website design and some of the content.  There have been a lot of changes over the years, but through it all, Arnor and Sue have always been happy to be part of the Clarion community.  We're looking forward to the years ahead.  Happy Birthday, Icetips.com!

If you run into any problems with our new subscription system, please let me know!  This required a lot of changes and while I have tried to make sure everything is working 100% I may have missed something!  So please let me know if you see anything that doesn't look right or if prices are not showing up correctly!

Arnor Baldvinsson

Yesterday I was messing around in the IDE and noticed the ASCII table in the Toolbox pad and realized it was missing the Extended ASCII characters (ASCII 128-255)  This morning I got an email from ClarionHub, which hosts a repository on Github with some goodies - including an updated ASCII table with updates from Mark Goldberg.  I played around with it and have now added all the Extended characters to the table and committed it back to Github.  I have also made it available for download here on Icetips at http://www.icetips.com/files/ASCIITable.xml

Once you have saved the file, you need to go to the folder where Clarion is installed and then navigate to "data\options\TextLib" and you will find ASCIITable.xml there.  Make a backup copy of it and then copy the file from Icetips over it.  Restart the IDE and you should now get the full extended ASCII table.

There are two more files in the repository on Github, "CW File Access Modes.xml" and "CWErrors.xml"  The first one contains all the values for file access modes and the second one contains a list of run-time errors you may encounter and what they mean - see screenshot below:

Clarion10ToolboxWithCWErrors

 

So, check those files out - they may be helpful to you:)

Arnor Baldvinsson

Yesterday I uploaded some changes to the Icetips website that I hope will help make the site more accessible.  I'm working on a redesign that will be fully responsive, but that's going to take some time to complete.

We have changed the basic fonts so text is now more open and there is more white-space on the pages.  Colors have changed as well and the site as a whole is a bit brighter.  All the product pages now have tabs where there is information about features, compatibility, downloads and screenshots.

I have also added a "Version History" tab to 5 products, Utilities, Previewer, Outlookbar, Powertoolbar and Taskpanel.  The version history for the rest of the products will be up there soon and I will keep this updated as new releases are made.

The login page also has tabs with the latest downloads, blog entries and your profile, so it's easy to get to it all on one page.

For those of you in the US, I wish you all a happy 4th of July tomorrow:)

Arnor Baldvinsson

I have released two new product builds this morning.  Icetips Utilities build 1.2.2433 and Icetips Previewer build 2.7.392.

The Previewer build fixes a problem with the Page of Pages template which I found out was not working with the Legacy/Clarion template chain.  This build also includes the fix to scrolling under Clarion 10.

There are two new features in the Utilities that will come in very handy when dealing with importing comma separated files.

First is a new property, pDelimterStartsLine, to the SplitString method.  It allows it to split strings where the delimiter is the beginning of a line, not the end of it.  Normally SplitString splits strings based on CR+LF (<13,10>) characters at the end of the line.  Recently a customer needed to split a string that had no CR+LF pairs, but each record started with a specific string.  By implementing this change he was able to split up his file and read the data correctly.

The second new thing is the ParseCSVLine method.  It takes a line of comma separated CSV data and splits it into fields, stored in the CSVFields property of the Icetips String Class.  This method can take regular old CSV data and parse it into easily accessible field data. It handles commas in strings without problems so there is no worry about it getting out of sync if the data is otherwise properly formatted.  I have made it flexible so that you can specify if strings are quoted or not (if they are, the code will look for and ignore commas inside the string) as well as specify the delimiter to use (up to 4 characters).  The pStringsAreQuotes parameter defaults to TRUE and the pDelimiter defaults to a comma (,)  Check out the demo code in the help:

ITS  ITStringClass
S    STRING(255)
I    LONG 
F    LONG
X    LONG 
  CODE
  ITS.FileToLines('testcsv.csv')
  LOOP I = 1 TO Records(ITS.Lines)
    GET(ITS.Lines,I)
    F = ITS.ParseCSVLine(ITS.Lines.OL)
    ITS.ODS('Line: ' & ITS.Lines.OL)
    IF F
      ITS.ODS('  ' & Format(F,@n_3) & ' Fields from ' & ITS.Lines.OL)
      LOOP X = 1 TO F
        GET(ITS.CSVFields,X)
        ITS.ODS('    ' & Format(X,@n02) & ' ' & ITS.CSVFields.OL)
      END
    END
  END
ParseCSVLine example code (image)
ParseCSVLine example code (image)

There are also some fixes in this Utilities release:

March 10, 2015 The template could cause classes to export an older version which could cause "xxx is unresolved for export" errors when compiling exporting dlls.  Fixed.
May 24, 2015 Fixed a potential memory leak in the AddIntoParenthesis method.
June 27, 2015 Image Class ResizeImage method did not work correctly on reports.  Fixed.
June 27, 2015 Image Class ResizeImage did not correctly size images when it was called multiple times for the same image control.  Fixed.

Arnor Baldvinsson