Saturday, 6 December 2014

The Ergonomics of Version Numbers - What Version of Excel am I Running?


The Perennial Navigational Challenge to Operate Microsoft Office

Finding out what version of Excel you are using is not always straightforward as the user interface changes rapidly with each release. Once upon a time, Ferdinand Magellan had to circumnavigate the world, now people must collectively circumnavigate new versions of software applications, and Office, in particular, provides particular challenges.

The Traditional Idiom for Version Numbers for Windows Applications

Traditionally, version information was always stored in the Help->About screen. How Style Guidelines have changed!

The Office 2010 "Backstage View" and Corresponding Shortcut (From Help to the File Menu)

Office 2010 introduces the "Backstage View". Here you will find your Excel version by clicking: File->Help (Alt-F-H). In 2010, you'll see the Product Version (say 2010) in the top-right and the actual Excel version in the bottom right (e.g. Version: 14) and Copyright Notice.

The  Excel 2013 Methodology

Try the same keyboard shortcut above in Excel 2013 and you will be asked to share your worksheet - Ha!  Instead you must to File -> Account -> About.

Understanding Large Codebases via Control Flow Diagrams and other Tools

Imagine a large software system, possibly poorly programmed without any documentation or comments. To understand the system well, we need to get a handle on its architecture. The first step could be to evaluate a reference copy, and clean it up. The next step may well be to make some basic documentation.

Tools to understand software:

Control flow diagrams
Data flow diagrams

Control flow diagrams were developed in the nineteen fifties and are used, not just in software, but also in modelling business processes e.g modelling a quality control process.

A rectangle with rounded edges represents a Start or End symbol.
A square or rectangular box represents a Process.
A rectangular box with one vertical bar either side represents a Subprocess.
Decisions/Conditionals are represented by diamond.

Sunday, 30 November 2014

What are RAR files?

RAR file format is the native file format of the WinRAR archiver. A RAR file is like a folder of compressed files. The format was developed by Russian software engineer Eugene Roshal. He also developed the WinRAR software package.

Wednesday, 19 November 2014

What is Contained in .NET for Windows Store Apps?

When crafting a C# application for the Windows Store, you will see a reference to ,NET for Windows Store apps automagically added to your Project References. A quick dip in the Object Browser will show the new namespaces that proudly make up the new prefab units for Windows Store. Sample namespaces are shown below:

Microsoft.Advertising.Mobile
Microsoft.Devices.Sensors
Microsoft.Phone
Microsoft.Phone.Maps
Microsoft.Phone.Reactive
Microsoft.Xna.Framework
System.Numerics
System.Runtime.Numerics
System.Net.Http.Rtc

Understanding SPCs

An SPC is a software publisher certificate, stored in a pfx file. The pfx stores private and public keys and can be used for signing releases. The pfx suffix stands for Personal Information Exchange. Some CAs (certificate authorities) store private keys in a .pvk file in which case a conversion to .pfx can be performed using the Pvk2Pfx tool. It also works on .spc files (not to be confused with spectroscopic data files!). 

Tuesday, 18 November 2014

Why is there no const keyword for methods in C# like there is for C++?

The key difficulty is verifiability at compile-time. An implementation using the [Pure] attribute has been discussed meaning the function has no side-effects; or a "getter" can be used which is effectively the same thing.

What's the Story Behind System.Numerics?

System.Numerics was introduced in .NET 4 and supports BigInteger (arbitrarily large signed integers) and Complex classes. Both are implemented as public structs.