Swift 4.0 Released!

Swift 4.0 Released!

Swift 4 is now officially released! Swift 4 builds on the strengths of Swift 3, delivering greater robustness and stability, providing source code compatibility with Swift 3, making improvements to the standard library, and adding features like archival and serialization.

Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns.


Swift 4.0 is a major language release and contains the following language changes and updates that went through the Swift Evolution process that can be viewed by clicking here

Apple (Xcode)

For development on Apple’s platforms, Swift 4.0 ships as part of Xcode 9.  Open-source Swift can be used on the Mac to target all of the Apple platforms: iOS, macOS, watchOS, and tvOS. Moreover, binary builds of open-source Swift integrate with the Xcode developer tools, including complete support for the Xcode build system, code completion in the editor, and integrated debugging, allowing anyone to experiment with the latest Swift developments in a familiar Cocoa and Cocoa Touch development environment.


Official binaries for Ubuntu 16.10, Ubuntu 16.04 and Ubuntu 14.04 are available for download. Open-source Swift can be used on Linux to build Swift libraries and applications. The open-source binary builds provide the Swift compiler and standard library, Swift REPL and debugger (LLDB), and the core libraries, so one can jump right in to Swift development.

How the 9-to-5 workday has disappeared

How the 9-to-5 workday has disappeared


Work has changed dramatically over the last few decades, according to a report in The Wall Street Journal recently release it has become more time-consuming, less stable, and more flexible.

In 1973, 6% of Americans said they worked excessive hours while in 2016, 26% said they worked more than 48 hours a week.

Insurance coverage by employers has also dropped since 1973, although companies now provide more benefits to aid work-life balance, such as paid parental leave and remote work options.

Businesses are spending less on employees, both in terms of compensation and capital investment, while investors get triple the payout from 30 years ago.

This has all contributed to workers increasingly acting like free agents in the job market.  While they have more control and flexibility, the “safety net that once came with full-time work has frayed.”

Don’t worry be happy

Americans are happier at work, but they might just be settling for less.

For the first time since 2005, more than half of U.S. workers say they’re satisfied with their jobs, according to the Conference Board, a research group. Employment is up, wages are finally rising and layoffs are near record lows, resulting in a more optimistic, contented workforce.

That buoyancy is giving Americans confidence to pull out their wallets.  Depending on whether the tax plan for 2017 gets implemented the middle class will continue to get hammered with taxes to maintain the social programs such as social security, ACA and other various programs.

There is no such thing as a free lunch but employers are looking to try and maintain a profit.  Small business owners will gain from the tax overhaul plan by not getting double taxed for corporate and personal income.  This fact is not known by most Americans.

Hopefully the work place will improve over the next few years putting wages back into a reality check.

Embarcadero Academy Debuts with Online Courses

Embarcadero Academy Debuts with Online Courses 


A provider of cross-platform application developer productivity tools, today announced the launch of Embarcadero Academy, an online school for developers of all levels. The Academy, operated in partnership with Embarcadero by CodePower, offers a wide variety of expert-led courses in Delphi and C++Builder skills and technologies.

Finally Embarcardo / Idera have decided to get into the possible educational on line webinars to improve the software developers of Delphi or C++ Builder.

Embarcadero Academy is launching with approximately 15 courses, and has an additional 15 in development. The curriculum, which spans beginner to advanced courses, will initially focus on Delphi and C++Builder capabilities such as language and framework skills, and will continue to grow in range and scope of languages. Full courses run from several days to weeks or months, with mini-courses that last an hour to several hours.

It is worth the cost in getting tools to improve the Embarcadero user base and it is going in the positive direction. Through November 30, Embarcadero is sponsoring a free, five-week “Introduction to Android Mobile Development with Delphi,” typically a $199 value. Developers can learn more and sign up here to receive the free promo, or enter the code ANDROIDINTROFREE at any checkout screen.

About Embarcadero

Embarcadero provides tools that solve application developer productivity problems. The company’s products allow users to design, build, and run applications from a single code base across all platforms. A community of more than three million C++ and Delphi users worldwide rely on Embarcadero’s award-winning products to deliver critical enterprise applications. Embarcadero is a division of Idera, Inc. To learn more, visit www.embarcadero.com.

Day of the Programmer so let’s Celebrate

Day of the Programmer so let’s celebrate


The Day of the Programmer is an international professional day that is celebrated on the 256th (hexadecimal 100th, or the 28th) day of each year (September 13 during common years and on September 12 in leap years). It is officially recognized in Argentina, Bangladesh, Chile, Brazil, Mexico, Austria, Germany, Canada, China, Croatia, Czech Republic, France, India, Belgium, Australia, Poland, Romania, Ireland, Italy, Serbia, Slovenia, Ukraine, United Kingdom, the United States and Russia.[1][2]

The number 256 (28) was chosen because it is the number of distinct values that can be represented with an eight-bit byte, a value well-known to programmers. 256 is also the highest power of two that is less than 365, the number of days in a common year.

You wonder why Russia out of all places decided to create the official day of the programmer.  I guess the old “JOLT” and late nights weren’t the prize after all to all programmers.

If you think about it, everything in your life now is based on a software developer from your phone to your heating system.  So celebrate the day!

IDERA, Inc. Acquires Sencha to Strengthen Developer Tools Business

IDERA, Inc. Acquires Sencha to Strengthen Developer Tools Business


IDERA, Inc., the leading provider of database, development, and test management tools, today announced an agreement to acquire Sencha, a leading web application development platform. Sencha will be integrated with Embarcadero, IDERA, Inc.’s developer tools division.

The press release can be view at BusinessWire about this purchase in detail.  Now the question is what will happen with moving this product into the Embarcadero Developer product line ?   How does this affect the Rad Studio products that deal with the enterprise ?

Sencha provides software tools to build web applications across desktops, tablets and smartphones.  How will this work with FireMonkey is the real question.  The pricing structure for Sencha is extremely high for up to 5 developers.

Atanas Popov has been quoted “Sencha matches our mission to deliver agile development tools to our growing global community of developers,” said Atanas Popov, General Manager of Embarcadero. “It broadens the languages we support by adding JavaScript, and delivers broad synergies with our existing product portfolio. For example, Sencha Ext JS will provide a powerful Web Framework for Embarcadero’s RAD Studio to complement our native frameworks, including VCL for Windows and FMX for Mobile.”

Embarcadero has recently added CData support tools to allow access for VCL and FMX applications to use. So the idea of allowing Ext JS to have a IDE plug-in is not far off since it does have Visual Studio support.  What does this mean for other software products such as Elevate Software Web Development, no one knows.  This is a pretty major step so now let’s see what happens in the near future.  Based on Idera’s track record this will be a long term project to get all members on the same page.


C# 8.0 Previewed

C# 8.0 Previewed

Originally written in www.infoq.com, some amazing stuff coming down the pipe for C#.

Nullable Reference Types

We’ve covered nullable reference types in the past, but briefly the idea is that reference types would no longer be nullable by default. Instead, you have to explicitly mark them as nullable using the same “Type?” syntax that you use for nullable value types.

Assigning a null to a non-nullable reference type will be a compiler warning. Likewise, reading from a nullable type would be a compiler warning unless the variable in question was explicitly checked for null ahead of time. So theoretically the only change developers need to make is to sprinkle question marks where appropriate.

Since our report, a new syntax was added to this feature. Consider a scenario where you know that the nullable variable x isn’t actually null, but you can’t prove that to the compiler. In this case you can use x!.Method() to suppress the compiler warning about potential null reference exceptions.

Async Streams (a.k.a. foreach async)

Async streams are the asynchronous equivalent of IEnumerable. As we reported before, async streams is something that they’ve been working on since 2015. After much debate the syntax they settled on is:

foreach await (string s in asyncStream)

When defining an async iterator, you would use this function signature:

async IAsyncEnumerable<T> MethodName()

As with normal IEnumerable methods, you can use “yield return” to build the stream of objects in a lazy fashion.

The benefit of using this instead of IObservable<T> from Reactive Extensions is that the consumer controls the flow rate. This is referred to as a “pull model”. By contrast, IObservable<T> is a “push model”, which means the producer can flood the consumer with a higher flow rate than it can handle.

Default Interface Implementations

Default interface implementations are essentially a limited form of multiple-inheritance. This will allow abstract interfaces to fully define methods just like abstract classes. However, abstract interfaces will still not be able to declare constructors or fields.

Note: You can simulate fields on an interface using ConditionalWeakTable.

The primary benefit of default interface implementations is that you may be able to add new methods to an existing interface without breaking backwards compatibility. This isn’t guaranteed, as it would only work when a suitable default method can be devised.

This is a very controversial feature. We won’t repeat the arguments for and against it here, but you can read a summary of them in our earlier article on default interface implementations.

Extension Everything

A long-time complaint about C# was that you could write extension methods, but not extension properties. In fact, there is no way to even define an extension property or event using the current pattern. Additionally, putting extension methods in static classes feels ‘weird’ to many people.

Under the new design, there is a new top-level construct called an “extension”. For example, if you want to create extension methods and properties for a Customer class you would write:

extension CustomerExt extends Customer {
    //methods and properties go here

As with interfaces, you cannot define instance fields in extensions but you can simulate them using ConditionalWeakTable. You can also define static fields.

Extension Interfaces

Extension interfaces, the ability to add new interfaces to existing classes, is also being considered. This would not be a C# 8 feature though, as it would require changes to the underlying runtime.

How to handle Open Source Software and Security.

How to handle Open Source Software and Security.

Open source has always left so many questions unanswered on whether your comfort level for software security is high or you have sleepless nights.

The keys for open source have the following open questions, can someone else view the source and modify it  or do you rely on internal software developers fix the security flaws.   Open source is mostly freely written software by developers who love to write software code and do not mind submitting their projects for all to use.

When using open source, the internal developers need to test the piece out and whether it can be used in the production systems.  It is up to the developer to test the code on a machine that can be safely removed from production.  After the testing / QA phase the software can then be released into production.

The one key piece of the above paragraph is that the word testing is involved.  There are quite a few developers that tend to think they can incorporate their code as well as open source into a production system without even testing it.  Those are the companies that tend to write terrible, buggy nonsense and could open up lawsuits due to the damages incurred by their clients.



How do I secure the Open Source code that i download ?

Download only from a trusted source.  You should be able to grab code from GitHub or a download center that you can trust but if you think you can download a piece of code from any FTP or WEB server, you open up the door for anything to happen.  As described in the terminator, you are the virus.

You have the option to insert or update the open source when a patch / upgrade is released.  That is one way but if you think about it, you have the internal developer who should be able to update the code themselves otherwise what is the point you might as well hire the open source developer.


Maintain security on your software by simply locking down the production release and update only when you have QA/test the application in a test environment.  You need to make sure that your internal developer understands the legal aspect as well when using the open source in a commercial product.

So using open source is not bad but you need to make sure you read the code and any document associated whether you have the legal right to use it in a major distribution.


Visual Studio 2017 to be released March 7th

Visual Studio 2017 to be released March 7th

The Visual Studio team has released a pack of updates that amount to some minor fixes for the Visual Studio 2017 Release Candidate 3 that was let loose on the Web a week ago. The team also set a definitive launch date for the feature-complete suite to be on March 7, 2017

The most recent update  includes updates to the .NET Core SDK, including a new templating engine for projects originating from the dotnet new command. Feedback from developers also precipitated a change in the .NET Standard library class template under the .NET Standard node. Rich Lander, a Microsoft program manager with the Common Language Runtime team, that there are also about 50 quality fixes “across the .NET CLI, NuGet, MSBuild and also in Visual Studio,” and adds, “We will continue to squash bugs as we get closer to Visual Studio 2017 RTM.”

The build also adds Redgate SQL Prompt, which provides SQL code completion while coding, and a number of Developer Analytics Tools enhancements.

Outside of fixes covered in the release notes, there is one tool worth noting that is related to VS 2017 RC3. A Visual Studio senior program manager Ahmed Metwally posted earlier this week offers up details on a new tool, Continuous Delivery Tools for Visual Studio 2017, which he explains is aimed at streamlining the automated build and release of ASP.NET and .NET Core projects targeting Azure App Services and Azure Container Services. It belongs to that category of tools coming from Microsoft’s DevLabs extension, which are “experimental,” which means the tools are nascent (such projects can be killed at any time) and so aren’t backed by any official support.

Just like this update, from now until launch on March 7 will likely be fixes and updates, but no major feature enhancements or additions.


Majority of smartphones run either Android or iOS

Majority of smartphones run either Android or iOS

Gartner has released their latest findings that most smartphone users have known, you are using Android or iOS.   Android and iOS accounted for 99.6 percent of all smartphone sales in the fourth quarter of 2016. The scale is inching more in favor with Android but it is a pretty bleak picture for Blackberry and Windows Phone.   Google and Apple are dominating the industry and with these types of numbers it is next to impossible for any other firm to compete with them.

Of the 432 million smartphones sold in the last quarter, 352 million ran Android (81.7 percent) and 77 million ran iOS (17.9 percent), but what happened to the other players? Well, in the same quarter, Windows Phone managed to round up 0.3 percent of the market, while BlackBerry was reduced to a rounding error. The once-great firm sold just over 200,000 units, amounting to 0.0 percent market share.


Just 3 years ago, Gartner and Microsoft thought they were going to take over the market but as you can see that is further from the truth.  BlackBerry would still be hanging around as sizable (if small) player but to be quite honest it seems that the writing is on the wall for these 2 products.  The belief is that Blackberry will disappear very soon and the bottom line on Windows Phone is coming as well in 2017.

The smartphone market continues to shift into making a device that is used for almost everything in life.  So predictions for any future mobile OS that will compete against these two most likely will never happen.  Th e only issue as you can see is that there are only 2 vendors, will new capabilities continue to come out or do we have the best we are going to get for the years to come.

Getting Started with WinZip 21

Simple tutorial on how to use WinZip 21


How to Zip Files

WinZip is the perfect tool for collecting and compressing files that you want to share or archive. In addition, when sending and receiving confidential files, it makes for an easy-to-use security tool.

Let’s look at two ways to zip files: one quick, one with more options.

How to zip a group of files quickly

This is a quick way to zip files that are stored in the same location. It takes very few steps, but still gives you access to settings for encryption and other options.

  1. Select the files that you want to add to the Zip file (they must be in the same location).
  2. Right-click one of the selected files and choose Add to Zip file…


    The WinZip application opens.

  3. In the Add Files dialog box, type a name for your Zip file in the File name box. If you want to change where the file is saved, click the Change Destination button to set a new destination.
  4. Choose any options you want. For example, you can mark the Encrypt files check box if you want to protect the Zip file content with a password. Also, if you are concerned that the person receiving the files might not have the all the necessary applications to open the files, you can choose Convert to PDF.
  5. Click the Add button and follow any instructions. For example, if you selected encryption, you’ll be asked to set the password.
  6. A dialog box appears with the compression results. Click OK to save the Zip file and to close WinZip. Image-4

How to collect and zip files stored in multiple locations

If you want to collect and zip files from different locations, you can set WinZip up as a hub where you can access your files from not only your computer and attached drives, but also from popular cloud services, such as Google Drive, Dropbox, OneDrive, ZipShare, and more.

  1. Open the WinZip application.
  2. In the Files pane on the left, navigate to the files you want to send (from your computer or any cloud service that you have added to WinZip), and drag the files to the center pane (the Zip pane).

You can navigate to files stored locally or files stored in cloud locations that you’ve added to WinZip.

If you want to add a cloud service to the Files pane, simply click the Add Cloud button at the bottom of the Files pane, and choose the service you want to add.


3. In the Actions pane, choose any of the Convert & Protect Files settings you want.


4. In the Save or Share Zip area of the Actions pane, choose Save as.


5. In the Save to PC or Cloud window, choose a local or cloud destination for the Zip file, type a file name, and click Save. If you want to share the files directly, you can choose one of the sharing options in the Save or Share Zip area.

How to Unzip Files

WinZip is a great tool for unzipping Zip files and other compressed files, including ISO files (disc image files).

  1. On your PC, right-click the file that you want to unzip
  2. Choose WinZip > Unzip to folder [current .zip file location] (see example below). By choosing this option, you create a folder with the same name as the Zip file.



You can choose from many options when you unzip a file, but the option shown above is an easy way to create a meaningful folder name that contains all the extracted files.

All information can be viewed by simply going to www.winzip.com