From Azure Autoscaling to Next Gen Desktop Development not Forgetting Firmware on the Way
Saturday, 14 October 2017
Wednesday, 6 September 2017
Scanning and TWAIN
The TWAIN Working Group is a not-for-profit representing the imaging industry, fostering universal standards for image acquisition.
Thursday, 10 August 2017
Saturday, 3 June 2017
An API for Network Interface Cards
NDIS (Network Driver Interface Specification) is an API for network interface cards, developed jointly by Microsoft and 3Com. It is mainly used in Microsoft Windows. NDIS 2.0 was used in Windows 3.1.
Monday, 29 May 2017
Parallel Algorithms in C++17
C++17 will introduce parallel algorithms as motivated by Jared Hoberock's thought piece on standardisation of the Parallelism TS (Technical Specification). Jared is the co-creator of Thrust and is interested in parallel programming models and physically based rendering. His github site is dubbed "Parallel Experiments".
Cool things in C++17
C++17 reached Draft status in March 2017. Cool features include:
- nested namespaces (namespace X::Y {}, instead of namespace X { namespace y {}})
- initializer in if statement (i.e. instead of if (condition), then if ( init; condition)
- guaranteed copy elision by compilers in some cases
Session 0
Every user in Windows is place in a separate session. Session 0 is created on startup and additional sessions are created as needed. Processes (generally services) running in Session 0 have no access to the graphics hardware. User applications must run in Session 1 or higher.
Saturday, 15 April 2017
Make Table Headings Run on to Subsequent Pages
By default, table headings are omitted when tables run on to subsequent pages.
To change this -
1. Right click on your table and select "Table Properties"
2. Select "Row"
3. Tick "Repeat as header row at the top of each page"
Job done.
To change this -
1. Right click on your table and select "Table Properties"
2. Select "Row"
3. Tick "Repeat as header row at the top of each page"
Job done.
Saturday, 4 March 2017
Viewing Code in Landscape Mode in Microsoft Word
Code in Word often looks better in Landscape mode rather than Portrait mode when rendered in Word.
To change a document to Landscape, click on "Layout" (or "Page Layout" in some versions of Word), find Orientation and switch to Landscape.
To change a document to Landscape, click on "Layout" (or "Page Layout" in some versions of Word), find Orientation and switch to Landscape.
Manipulating Code in Microsoft Word
Manipulating Visual Studio code in Microsoft Word can be a messy affair.
For example, System.Text is not a recognized word in Word's dictionary.
An Error(argument) function might be corrected to Error ( argument ) by the Grammar Check.
So if you are manipulating code in Microsoft Word, here's the best thing to do. Turn off automatic spelling AND grammar checking as you type.
To do this, go to File, Options, Proofing and uncheck:
For example, System.Text is not a recognized word in Word's dictionary.
An Error(argument) function might be corrected to Error ( argument ) by the Grammar Check.
So if you are manipulating code in Microsoft Word, here's the best thing to do. Turn off automatic spelling AND grammar checking as you type.
To do this, go to File, Options, Proofing and uncheck:
- Check spelling as you type
- Mark grammar errors as you type
Job done.
Sunday, 19 February 2017
Windows Magazines
Visual Studio Magazine is usually the best for previewing upcoming changes in Visual Studio.
MCPmag is also a great resource for Microsoft Certified Professionals.
MCPmag is also a great resource for Microsoft Certified Professionals.
Sunday, 12 February 2017
The NUL terminated string in C - An Ode to the PDP-11
In C, strings are null (or NUL) terminated ("backslash 0"). The PDP-11 assembly language supported NUL terminated strings, as did Martin Richards' BCPL, the precursor of C. Dennis Ritchie found the use of a NUL terminator more convenient than having to store the length of a string. It also makes for some elegant pointer based code!
MBCS and other Compiler Flags in Visual C/C++
When writing C and C++ code in Visual Studio understanding your compiler flags is critical.
These are configured under -
Project -> Properties -> Configuration Properties -> C/C++ -> Preprocessor.
One of the default ones you might come across is _MBCS, which stands for multi-byte character set (an alternative to _UNICODE). These directives define what the compiler understands a "character" to be. ASCII and ANSI are not multi-byte character encodings.
A useful directive if you want to use the "traditional" C functions like fopen etc.which are deprecated in recent Visual Studio releases is _CRT_SECURE_NO_WARNINGS. (CRT is shorthand for C runtime).
More detail on why functions like fopen are deprecated can be found in this article on Security Features in the CRT.
These are configured under -
Project -> Properties -> Configuration Properties -> C/C++ -> Preprocessor.
One of the default ones you might come across is _MBCS, which stands for multi-byte character set (an alternative to _UNICODE). These directives define what the compiler understands a "character" to be. ASCII and ANSI are not multi-byte character encodings.
A useful directive if you want to use the "traditional" C functions like fopen etc.which are deprecated in recent Visual Studio releases is _CRT_SECURE_NO_WARNINGS. (CRT is shorthand for C runtime).
More detail on why functions like fopen are deprecated can be found in this article on Security Features in the CRT.
Monday, 2 January 2017
How do I add a comment to an Excel Spreadsheet?
Review Toolbar -> New Comment.
To review and edit - right click the cell and click "Edit comment".
To review and edit - right click the cell and click "Edit comment".
Subscribe to:
Posts (Atom)