Tuesday, December 24, 2013

Merry Christmas and Happy New Year!

We wish Merry Christmas and Happy New Year to all our customers, users and blog readers! Thanks for being with us in 2013!

We hope for long-term cooperation with all of you in coming year of 2014!

Thursday, December 19, 2013

Packt announces $5 eBook Bonanza is here!

Packt Publishing is celebrating holiday season with even bigger $5 Bonanza:

From December 19th any customer can buy any eBook or Video for just $5. You can grab as many items as you like until January 3rd.

Tuesday, December 10, 2013

Review of "Instant IntroJs" book written by Ehsan Arasteh and Afshin Mehrabani

The book "Instant IntroJs" (http://bit.ly/J9vr7n) recently published by Packt is designed as a quick introduction to IntroJs which is a library targeted to make your website successful and to help you show its recently added features to users. IntroJs is based on JavaScript and CSS. It is a free library with MIT license.
In their book Ehsan Arasteh and Afshin Mehrabani wrote in detail about requirements for IntroJs usage and the way to download and configure the library. They provide step-by-step guide to creating introduction page using IntroJs.
IntroJs API is described briefly by authors. To get maximum from IntroJs you can use it together with other frameworks. The library also can be localized and used in both left to right and right to left versions.
"Instant IntroJs" will help everybody make his or her website attractive for users with minimal efforts.

Wednesday, November 20, 2013

Some MFC updates in Visual Studio 2013

As you all probably know Visual Studio 2013 was officially launched last week. Even old plain MFC get a little bit updated.

Now if (for some reason) you will try to switch Character Set to "Use Multi-Byte Character Set" you will receive the following error:

Error    1    error MSB8031: Building an MFC project for a non-Unicode character set is deprecated. You must change the project property to Unicode or download an additional library. See http://go.microsoft.com/fwlink/p/?LinkId=286820 for more information.  

So it is still possible to use Multi-Byte but with additional library. In default configuration you can only use Unicode. Well, this is probably reasonable.

Here is the look of MFC application being created by Visual Studio by default:

Also, this is applicable not only to C++/MFC, but still: Peek Definition seems to be the great feature!


Review of "Instant Zepto.js" by Ian Pointer

Packt Publishing has recently released "Instant Zepto.js" by Ian Pointer. The book is designed is a short introduction to Zepto.js which is a small-size JavaScript library with API similar to jQuery. Being a lightweight library it is intended mostly for mobile phones.
The book will be useful for persons who have some previous experience with jQuery. No prior knowledge about Zepto.js is required.
Ian Pointer starts with describing of several ways of getting Zepto.js and checking it is working correctly for you. Then author talks about API of library comparing it to jQuery.
One of the most interesting features of Zepto.js is animation and Ian Pointer gives several simple examples of animation in his book. Also support of touches and gestures is described.
There is also some more advanced material in the book. It includes instruction how to build your own custom version of Zepto.js and introduction into Zepto.js plugins.  

Tuesday, November 19, 2013

Sale - 20% off the price for Disc Collection!

Big sale is here! ElanGroup gives each customer 20% discount for Disc Collection. Now you can buy our application for managing home multimedia collections for only $27.99.

This is a wonderful chance to buy our highly customizable and powerful program. As always, you will have 30-Day Money Back Guarantee.


If you have any questions, you are welcome to write to our support:


Or you may just leave a comment here.

Thursday, November 7, 2013

We just released Disc Collection 2.7!

ElanGroup,Ltd. is happy to announce Disc Collection 2.7, this is the new version of our well-known multimedia collection manager.

All the details can be found here:



Great search improvements and several bug fixes are there in Disc Collection 2.7. You are welcome to try it for free during 30 days. After purchase you have also our 30-day Money Back Guarantee.

Follow our blog, RSS and Twitter - we expect more exciting news about Disc Collection soon!

Tuesday, October 15, 2013

Packt's Biggest Sale ever!

Marking Columbus Day 2013, Packt Publishing (www.packtpub.com) gives you a chance to explore their catalog of books and videos at 50% off.

50% discount code COL50 will be active for all books and videos until Thursday, October 17th.

More details here:


Saturday, October 12, 2013

Disc Collection 2.6 was released!

New version of our program - Disc Collection 2.6 - is available!

Faster search, better user interface and special optimization for Windows 8.

All details are here:


Thursday, October 10, 2013

Wallpaper Updater 2.4 has been released!

We have just released the new version of our free wallpaper manager program - Wallpaper Updater 2.4.

It includes Custom Period and other exciting features.

More details here:


Waiting for your feedback!

Monday, October 7, 2013

Review for ".NET 4.5 Parallel Extensions Cookbook" by Brian Freeman

Packt Publishing has recently published ".NET 4.5 Parallel Extensions Cookbook" by Brian Freeman which may be helpful as an introduction into new methods of working with multi-threaded applications available since .NET Framework 4.0. The book will be useful for those developers who already have experience with C#, basics of functional programming and Visual Studio. Previous knowledge of threads, thread pools and related concepts is not required though.
The author starts from detailed description of Task – how tasks should be created, cancelled, waited for completion, how exceptions should be handled and so on. Each small piece of information - which is called recipe in the book - is provided with code.
From single Task author then goes to description of continuations – how multiple tasks may be organized in program and how one task can be scheduled in case another task completes or fails. Idea of continuations helps to solve well-known problem of updating GUI in multi-threaded application.
Brian Freeman explains how to use parallel loops and parallel LINQ queries and, what is even more important, when they have advantages comparing to the similar sequential entities.
Other interesting topics covered in the book include: thread-safe collections, coordinating the work with various synchronization primitives, debugging of multi-threaded application using Parallel Stacks / Parallel Watch windows. Several recipes are devoted to Task Based Asynchronous Pattern.
Brian Freeman's book is a great reference for the developers who would like to start using Parallel Extensions library as soon as possible. Though to understand deeply how this library works inside, reading of some other books may be also required.

Thursday, September 19, 2013

Service debugging in Windows 8

Prior to Windows 8 you could debug your services by using statements like:
Now this is being simply ignored. What is reason of that?

Debugger.Launch() would call application with visual user interface. In Windows 8 this is impossible because services can't interact with desktop and run in interactive mode.

To debug service code we added the following code to OnStart method:
while (!Debugger.IsAttached) // waiting until debugger is attached
    RequestAdditionalTime(1000);  // prevents the service from timeout
    Thread.Sleep(1000);  // gives you time to attach the debugger

Wednesday, September 18, 2013

AnyCPU in Visual Studio 2012

The default setting for .NET projects in Visual Studio 2012 is AnyCPU. But this AnyCPU differs from you've probably seen earlier - in previous versions of Visual Studio. If you run your application on 64-bit machine you will see it runs as 32-bit process!

Actually the default configuration is not AnyCPU but AnyCPU 32-bit preferred. With this configuration IL is compiled to x86 machine code on both 32-bit and 64-bit Windows machines. If you want to change this to old-style AnyCPU, there is a checkbox "Prefer 32-bit" in Project Settings which you may uncheck.

AnyCPU 32-bit preferred is the same as x86 now - the only difference it can be launched successfully on ARM Windows.

More details can be found here:


Monday, August 19, 2013

Printing pages with different settings

It is possible to print various pages in C# WinForms application (to printer or to file) using QueryPageSettings event of PrintDocument. In PrintPage handler it is not already possible to set page settings, if you want to change settings for a page you should do this in QueryPageSettings handler.

For example, here we set different orientations for pages depending on condition:
printDocument = new PrintDocument();
printDocument.QueryPageSettings += printDocument_QueryPageSettings;

void printDocument_QueryPageSettings(object sender, QueryPageSettingsEventArgs e)
    e.PageSettings.Landscape = true;
    if (some_condition_here)
       e.PageSettings.Landscape = false;
Generally, you should handle PrintPage event also, for instance, to specify whether you have more pages to print or not.

Tuesday, August 13, 2013

Visual Studio 2013 and .NET Framework 4.5.1

Microsoft released Visual Studio 2013 Preview and official release is expected by the end of the year. You can find more details, for example, here:


Visual Studio 2013 can be installed on:
  • Windows 7 SP1
  • Windows 8 or Windows 8.1
  • Windows Server 2008 R2 SP1 or Windows Server 2012

Visual Studio 2013 can be installed on the machine together with the previous versions of Visual Studio like VS 2012 or VS 2010.

Along with Visual Studio 2013 Microsoft announced .NET 4.5.1. This is a compatible update for .NET 4.5 and it will be the part of Windows 8.1. While we have to wait for .NET 5.0 for some revolutionary features, .NET 4.5.1 includes mostly enhancements targeted in developer productivity and application performance.

Thursday, February 21, 2013

Working with Start Screen in Windows 8

To work with Start Screen of Windows 8 (or Windows Server 2012) programmatically via .NET Framework means you should look at Windows.UI.StartScreen namespace. The key entity there is secondary tile. In fact, the only class in this namespace has the same name:


This class is intended to provide information about secondary tiles of start screen. Secondary tiles allow you to personalize the Start Screen by having links and different kinds of other elements.

SecondaryTile class allows you to enumerates tiles:
IReadOnlyList<SecondaryTile> tilelist = await SecondaryTile.FindAllAsync();
This way you will get all the tiles belonging to calling application. Using another overload, you can get tiles belonging to another application from the same package. You can't get all the tiles from Start Screen - there is no way of doing that!

New tile can be created using RequestCreateAsync. You should set all the necessary properties of SecondaryTile object before calling this method otherwise you will get an exception.

After you will create secondary tile this way, it will belong to your application, of course.

Existing tile can be deleted using RequestDeleteAsync.

So the programmatic access to StartScreen seems to be limited. If you have any other ideas, you are welcome to share them. Do you know how to tune StartScreen programmatically?

Friday, February 1, 2013

Inno Setup 5.5.3 has been released!

Since 30 January 2013 new version of Inno Setup –  5.5.3 –  is available. All details are here:


The most important thing is that Inno Setup seems to be fully compatible now with Windows 8 and Windows Server 2012 with all the changes made in 5.5.2 and 5.5.3.

Let's talk about the flag excludefromshowinnewinstall, it is used in [Icons] section and has no impact on systems earlier than Windows 7. Concerning Windows 7 and Windows 8, this flag has a different effect. On Windows 7 the flag prevents entry from receiving highlight after installation in Start menu. As for Windows 8 the flag prevents entry from being pinned to the Start screen.

Also new version of Inno Setup includes changes in Restart Manager, new translations, new command line parameters and other minor things.

Monday, January 7, 2013

Qt 5 Final Release is here!

December 19 Digia and the Qt Project released Qt 5.0 as a Christmas present for all Qt developers. Qt 5, as you probably know, includes many new features like better graphic capabilities (Qt Quick 2), QML and JavaScript enhancements, better cross-platform portability.

Details are here:


Downloads are here:


New version of Qt Creator was also released (2.6.1) which is intended to be used with Qt 5 version.

We didn't have time to try all this before Christmas/New Year break but definitely will do it now. Some things still lack like binary packages for MinGW as they have some problems with WebKit. Hope these small problems will be solved soon.