Tuesday, 15 January 2019

Movavi Video Suite 18


There are so many well-known video editing packages ranging from the fairly expensive ones such as Adobe Premiere (about £20 per month) to cheaper ones such as Cyberlink PowerDirector (from around £80). Movavi Video Suite is not one of the best known packages but it is one of the least expensive. But can it really compete with all those better established products?

I recorded this at my desk in front of a green screen then used Movavi's Chroma Key to remove the green and let me pretend to be sitting in a jungle!
In fact, since first using the last edition (v 17) of Movavi Video Studio (see my review), I have found myself coming back to it again and again. At first glance, this might seem odd. Because, if you judge it purely in terms of its range of features, there is nothing obvious that sets it apart from other video editing packages.

But what I’ve found is that there are some things that are simply faster and easier to do with Movavi Video Suite. Converting file formats, for example, or doing a quick Chroma Key recording (with a green-screen backdrop that is removed by the software) is just so quick and easy. I’ve found its green-screen removal works better than many more expensive products when recordings have been made using imperfect backdrop lighting (and that’s the sort of lighting that is probably typical of a lone video maker like me, doing impromptu recordings in my home office).

In brief, it is a simple-to-use video recording and editing package that lets you create videos from clips on a timeline, apply transitions and effects, zoom, pan, add titles and annotations, and produce your final video in a large range of alternative formats.

This new release adds on a few new features, the most useful of which is probably the expansion of the timeline. Previously you were limited to just two video tracks and two sound tracks. In the new version, you can add unlimited tracks to the timeline.

Finally, more video tracks!!!
Other changes are mainly related to improved efficiency and usability. You can edit 4K videos without lagging; visual guides have been added to make cropping, panning and zooming more easily controllable and various improvements have been made to trimming, rotation, intros , outros and so on. A list of the main new features can be found here:

The provision of a decent screen recorder is definitely a bonus for anyone who needs to do software videos or tutorials. You can not only record the entire monitor (or even the screen of a secondary monitor) but you can also mark out a portion of the screen to record. You can record simultaneously from both the screen and a webcam so that you can include a ‘picture in picture’ of yourself talking to camera while also showing screen activity. Incidentally, while the webcam video is, by default, recorded at a fixed size and position, you can move and resize the webcam video independently of the screen capture by right-clicking it in the timeline and selecting ‘Edit as Overlay’. Bearing in mind that the Camtasia screen recorder costs over £230, and lacks many of the other video editing features of Movavi Video Suite, this alone could easily justify the price of this package.

The screen recorder lets you record portions of a screen along with a simultaneous webcam recording
Now, I have to admit that I do not use Movavi Video Suite as my main video editor. Personally, I generally use Camtasia for screencasts (computer screen recordings) and PowerDirector for live video editing. For my own use, I tend to use Movavi Video Suite as a toolkit that provides a set of utilities for special-purpose tasks. That isn’t to say that it is not up to the job of recording, editing and publishing videos from start to finish. It certainly is. Its combination of screen and video recording tools, and its newly extended multi-track editor, make it a great value all-rounder if you are on a tight budget. But I just know those other packages so well now that I am reluctant to use others.

That said, if I was looking for a good all-round video capture/edit and screencast suite to make videos, I can’t think of any other product that gives you so much for such a low cost. It really is rather good.

Sunday, 6 January 2019

C Programming – return of the vanishing parentheses

The other day, an esteemed colleague of mine happened to fulminate against the abominable practice, favoured by some C programmers, of enclosing expressions returned from functions between a pair of parentheses like this:

return (x);


return ((x-1) + (y+2));

Now I admit I had previously given no thought to this matter. It is not (I think!) my personal habit to use parentheses in this way but I’ve certainly seen it done and it had never struck me either positively or negatively. After all, what’s a pair of brackets between chums?

But my grumpy colleague was not so forgiving. In his view, the use of round brackets after a return is unnecessary and anyone who does this is guilty of invincible ignorance due to their grievous misunderstanding of the nature of a return statement.

That being so, I wondered why the practice was so commonplace. I did a quick Google search and found about equal numbers of people who agreed and who disagreed with my  grouchy friend. Some said that parentheses around return values are the work of Satan; others claimed that parentheses “add clarity”.

Some say that parentheses are bad is because they are used in the mistaken belief that return acts like a function call. To be honest, this doesn’t sound a very probable explanation to me so I carried on researching.

“What do Kernighan and Ritchie prefer?” I asked myself.

I consulted the second edition of their classic text, ‘The C Programming Language’ and sure enough they don’t use parentheses. Oh well, there are no greater C authorities than K&R, so that surely settles the matter.

Then out of idle curiosity, I decided to check the first edition of ‘The C Programming Language’. If I wore false teeth I might well have swallowed them at this point. To my astonishment, throughout the first edition every code example I could find uses parentheses around return expressions.

They are there in edition one. They are gone in edition two.

But why?

This is what the authors say about return expressions in edition 1 (page 23):
“Any expression may occur within the parentheses”

In edition 2 (page 26) this is rewritten:
“Any expression may follow return”

So why were the parentheses used in edition 1? There may be another clue. The text of that book also states that a value is returned “just as in PL/I”. Now, I have never used the PL/I programming language but it is my understanding that in PL/I it is mandatory to enclose returned expressions between parentheses. Possibly Kernighan and Ritchie initially thought this was a good stylistic convention but then subsequently changed their minds. Or possibly very early C compilers required parentheses but later didn’t.

One thing that is certain is that the immediate predecessor to C, that’s the B language, did require parentheses. ‘The Programming Language B’ manual states:
“A return in a function causes an immediate return to the calling program. If the return is followed by an expression in parentheses, this expression is evaluated, and the value returned to the caller.”

One of the authors of the B manual, incidentally, was the same B. W. Kernighan who later co-authored the famous C book.

I don’t think I’ve absolutely solved the mystery of the vanishing parentheses. What I can say is that in some languages such as PL/I and B, parentheses around return expressions are required. In C they were initially considered to be acceptable (and possibly obligatory?) but they are no longer needed. In spite of that fact, a substantial number of programmers of C and C-like languages such as C# and Java, continue to use them.

So in brief: parentheses around return expressions are not needed.

But if you happen to like them and if you want use them I won’t hold it against you. On the other hand, I have a very grumpy colleague who certainly will….

Wednesday, 2 January 2019

Affinity Publisher (beta) DTP software preview

Serious DTP (Desktop Publishing) packages tend to come with a hefty price tag. The venerable Quark XPress costs £725 (one-off purchase). Adobe’s InDesign costs around £20 per month. There are of course, much cheaper packages such as Microsoft Publisher (which is now bundled with Office for about £420, or £60 per year). But, frankly, while Publisher is fine for newsletters and flyers, I doubt if many professional designers would be tempted by it.

A forthcoming product - for both Windows and Mac - could plug the gap between the expensive professional-grade packages and the cheaper products aimed at amateurs. I’ve been taking a look at the beta release of Affinity Designer. And so far I am extremely impressed.

I don’t normally write about beta software but in this case I make an exception. Let me explain why. I have used graphics and DTP software from Serif (the company behind the Affinity range) for many years. I first used them way back in the 1990s when I was a reviewer and columnist for ‘PC Plus’ magazine and ‘Computer Shopper’. Even then they were good. In the years that followed they became much better. Their claim to fame was combing high-end features with a low-end price. Serif’s previous DTP package was PagePlus, but that product was quietly ‘retired’ a few years ago (though you can still buy it for just £19.99 here, ).

It’s not possible (or fair) to ‘review’ beta software which, by its nature, is unfinished and may have bugs or omissions that won’t be found in the final release. What I will say, though, is that in the couple of weeks that I’ve been using Affinity Publisher, I have quite simply decided that it is the DTP package that I would choose for my own projects. It is efficient, easy to use (by DTP standards, which means there may still be a 'learning curve'), well-featured and elegantly designed. It does most of what you’d expect in a pro-grade DTP package: importing text and images, designing simple or fancy layouts, columns, tables, text-wrap-around (with fine-tuned control) and so on. In the current version it doesn’t have a Microsoft Word importer. However, when I saved a big Word document to RTF it imported all 100-plus pages, auto-flowed the text into multiple frames and even preserved the styles I’d applied in Word, adding them by name to its own stylesheet.

I was curious to know what the two ‘persona’ icons at the top left of the screen are supposed to do. There is one called a Vector Persona and another called Photo Persona. I believe that these will be used to integrate Publisher with Affinity’s image processing and drawing packages, but this integration is not available in the beta. I asked Affinity for some more information. I was told that “The importance will become more apparent once we switch on the functionality for the three apps to integrate.” In other words, wait and see…

I was also curious to know why the old Serif range had been given the boot. From a technical point of view, I can understand why it might be preferable to start from the ground up now, rather than continue to add features to software that has been in development for such a long time. I suspect that, in addition, the ‘cheap and cheerful’ image of Serif-branded products might be seen as a disincentive for buyers looking for a really first rate application.

“The move away from the Plus range was inspired by our Head of Development – Tony Brightman,” John Atkin, Head of PR, told me, “who felt we had more to offer than cut-price versions of industry standard software – an opportunity to lead, not follow.

“The idea was to develop a whole new range of professional graphics software, initially for Mac. These apps would be special in their conception – built from the ground up with the workflow of creative professionals in mind. It meant throwing away all the code we had built up over the years, but he wanted to create something that would set a new, higher standard for creative design apps. The key criteria that this new range would have to fulfil:
  • Lightning fast - in particular taking advantage of all latest CPU and GPU chipsets
  • Cover the core disciplines of photo editing, vector drawing and desktop publishing
  • Use exactly the same file format between applications
  • Have no bloat - utilise a concept of personas to organise the UI into different use cases
  • Be unashamedly pro - core requirements like CMYK and 16 bit would be built in from the start and not allow wizards or anything else get in the way of a pro workflow.”
There is no word on the price at the moment. Affinity’s other products, Photo (image editing) and Designer (vector art) currently sell for around £40 to £50 – there are often ‘special offers’ so it’s worth checking to see if there are any good deals at the moment). I think it’s reasonable to suppose that Designer will be in broadly the same price range or, at any rate, nowhere near as expensive as the likes of Quark XPress.

I imported a substantial document in RTF format. Publisher created a multi-page project and auto-flowed all the text, retaining the original styles
Then again, while it may be inexpensive, Affinity Publisher certainly won’t be the cheapest DTP package available because the well-regarded open source DTP package, Scribus, is completely free. Many people love Scribus. In all honesty, I can’t say I am one of them. The user interface of Scribus is not only dull and old-fashioned but it is also (in my experience anyway) pretty hard to use. That’s subjective, of course. All I can say is that I found that I was constantly searching the Scribus documentation for help in getting stuff done whereas with Affinity Publisher I can, in most cases, figure it out for myself.

If you have no budget at all, then it may be worth your time and effort to get to grips with Scribus. Personally, though, I’d rather spend a bit more money and  save myself a whole lot of time and effort. So, assuming the final product lives up to the promise of the beta, Affinity Publisher would be my choice.

Saturday, 15 December 2018

My False Identity (thanks to O2)

I just bought a new iPhone. I logged onto O2 and ordered a sim (the card that gets me a phone number and mobile identity). Suddenly I am someone else. I have another person’s email address and login ID. Some other person has potentially a network of contacts who all have my mobile phone number. Sounds like a subplot from “Mr Robot”? Nope, it just happened to me.

I tried to register to O2’s web site. They asked for my phone number. Then “for security” (oh, the irony!) they texted my a code to my phone. I went back online and entered the code. This is what I saw (the email address has been blurred to preserve the anonymity of the – I hope – innocent party identified here).

Yup, I really now have someone else’s email address and their mobile phone number (or anyway, a number that O2 still has registered to them). What wickedness I might get up to! I mean with that combination of information, who could doubt that I am somebody who I am, in fact, not? I’m just hoping that other person knows less about me than I know about them.

I phoned O2. An operative calmly told me that this was standard practice and nothing to worry about. They just recycled another user’s phone number. So how come it is still registered to the other user? Oh, it could take up to six months to unregister. And I am supposed to use that phone number during that period? really? I asked to speak to his manager.

His manager proved to be much more concerned by this situation. She agreed with me that it was not only inconvenient but that the security implications were far from trivial. She advised me not to use the sim. I had already arrived at that conclusion myself.

I have to say that I remain gobsmacked. This has now been logged as a formal complaint and I am waiting for a response from the complaints department at O2.

In the meantime, anyone want to buy a fake identity?

Wednesday, 7 November 2018

PowerDirector 17 Review

Cyberlink PowerDirector 17 Ultra £79.99

PowerDirector is my number one choice of video editing packages on Windows for serious video makers on a tight budget. If that’s all you need to know, skip the rest of the review and go and buy it. But, while I am generally enthusiastic about this product, there are also things I don’t like about it. So if you want a more balanced overview, read on.

For those of you who are unfamiliar with PowerDirector, let me begin with a brief overview. This is a video-editing package that lets you import video and audio clips and edit them on multiple tracks arranged on a horizontal timeline. You can cut, copy and move clips. You can apply ‘transitions’ to fade one clip into another with optional effects such as wipes, dissolves and so forth. You can change the colours of video clips, make them look like old black and white films or cartoons and apply a whole batch of other snazzy effects. Once you’ve finished editing, you can produce the final video in a range of common formats. One of the most striking features of PowerDirector is its production speed. In my experience, it can render videos significantly more rapidly than any other video editing package I’ve used. For a more in-depth look at its core features, refer to my reviews of previous versions: PowerDirector 16 and PowerDirector 15.

OK, but what’s new in this latest release?

New Features

One of the most useful improvements is the integrated audio editing. In previous releases, if you wanted to do anything more than very basic edition editing (cutting, volume control and son on) you were obliged to launch the audio clip into a separate Wave Editor program, or another audio editor of your choosing. Now PowerDirector 17 now pretty decent audio editing capabilities in a popup editor window. This includes effects such as Reverb, Pitch-shift and Noise reduction.

The integrated audio editor gives you quick access to audio cleanup and effects options
Chroma Key (‘green screen’) has been improved too.  Most video editors provide some kind of Chroma Key facility to remove plain background colours and substitute an image or video into the background – but often this only works well if you have an absolutely perfectly illuminated green screen. Many of us do green-screening in our offices, studios or bedrooms, with very imperfect lighting. Getting a good ‘key’ in these circumstances can be difficult, resulting in jagged edges and green fringes around the foreground performer. The previous version of PowerDirector did a reasonable job of dealing with badly-lit backdrops. The new version goes further by letting you select up to three ‘samples’ from the background to improve the accuracy of colour removal. This can be a bit tricky to use, however, because once one key has been applied, most of the background disappears, making it hard to select a second key. It would be better if each of the three keys could be toggled on and off to make selection of the remaining keys easier.

Here I’ve selected two different shades of green in the left pane to remove different portions of my green background
If, like me, you often create small projects – with each project forming a single ‘scene’ of a larger video – one of the annoying things you will come across is the problem of integrating your smaller projects into the bigger one. PowerDirector 17 has added a ‘nested project’ feature to deal with that. Now you can import other PowerDirector projects into the project you are currently editing. The imported project can then be dragged as a single unit onto the timeline. It can also be edited in its own tabbed timeline area. This is an extremely useful new feature.

Here you can see the main project ‘Promo’ on the left tab with two nested projects shown in tabs to its right
You can also ‘precut’ video clips prior to placing them onto the timeline. Let me explain. Imagine that you’ve imported a two minute clip but you only want to use 30 seconds of it. In previous releases, you would have to import the clip to the Library (the storage pane for your media) and drop the entire two minute clip onto the timeline before trimming it to size. Now you can trim the clip in a popup editor and store the trimmed clip in the Library. Then you can add the trimmed clip to the timeline when needed. This may seem a trivial difference but when editing complex projects it is a real benefit.

Many other features have been improved in this release. These include speed improvements, support for more video formats and codecs, additional text effects such as neon and fire, an enhanced ‘video collage’ designer to let you do split-screen effects with multiple clips, and an improved screen recorder.

The screen recorder tool is useful for anyone making screencast videos that show software being used: for example, if you are creating software tutorials or reviewing games. You can also include webcam video captured at the same time as the screen but this has the significant limitation that the webcam and screen-capture will be recorded together into a single video clip so you can’t subsequently edit the webcam video by moving and resizing it or applying Chroma Key. I queried this with Cyberlink and they provided a suggested ‘workaround’ which involves recording the webcam from the main PowerDirector workspace and then recording the screen separately using the screen-recorder tool. While this may work it is not exactly simple. Even an inexpensive video package such as Movavi Video Suite provides a better webcam/screencast recorder than that! And if you are doing regular screencasts, Camtasia remains my top recommendation.

In addition to the things mentioned above, PowerDirector also comes with a large range of effects and transitions, with excellent ‘colour matching’ capabilities, support for 360 degree videos, motion-tracking, multi-camera editing and auto-synchronization of clips by aligning sound wave patterns.
Hers is Cyberlink’s promo video, highlighting some of the software’s notable features…


Here I have been reviewing the Ultra Edition of PowerDirector 17. There is also an Ultimate Edition which includes additional plugins and effects (£99.99), plus a subscription edition which can be paid for monthly (from £5 per month). Refer to the PowerDirector Version Comparison for more information:


This is another great release of PowerDirector. While it is priced towards the hobbyist end of the market, don’t be fooled into thinking it is for amateurs only. In fact, it now has an excellent range of pro-level features. For the serious video editor on a tight budget, PowerDirector is my top recommendation. And even serious video editors with a bigger budget would do well to check it out. Not only are both the feature set and ease of use good but also (and this is one thing that I really value) the speed of rendering is unparalleled. It’s a shame that the video size is not equally efficiently optimized (I use Handbrake to reduce the size before uploading big videos), but, well, I guess you can’t have everything!

Tuesday, 6 November 2018

Programming Mega Deal

25+ Programming Courses and eBooks MEGA DEAL

I’ve got news of a massive deal on programming tutorials. It's called: The Ultimate Programmer Super Stack, and it comes courtesy of Cary Richards at

The Ultimate Programmer Super Stack is a collection of 25+ premium ecourses, bestselling ebooks, and resources that will help programmers:

Learn a wide range of today’s most popular (and lucrative) languages and frameworks, including everything from Python, Java, JavaScript, and Ruby, to HTML, CSS, and Kotlin…

Discover how to build APIs, websites, and iOS and Android applications from scratch
Master the soft skills you need to become ‘Coder Complete’

This great value bundles also includes one of my own courses: “Break Into The Programming Business” which gives you a quick overview of the programming languages, jargon and technologies that you need to understand when you move into the professional world of software development.

If you bought all the courses in this bundle one by one, it would cost you over $1,300. This deal lets you buy all the courses for a single payment of just $47.95, which is tremendous value.
To get this bundle, sign up here:

Programming C: Strings and Character Pointers

The most important thing to know about the string data-type in C is that there isn’t one! Many other languages such as Java, C# and Pascal have a string type which lets you create variables to which string literals such as “Hello world” may be assigned.

In C, you can create  and initialize a string like this:

char str1[] = "Hello";

A string is always terminated by a null '\0' character. It turns out that when you initialize a string at the time of its declaration, as in the example above, a null terminator is added automatically. The first null terminator found in a string will be treated as the end of that string. So, given this declaration:

char str2[] = "Goodbye\0 world";

When I display str2 with printf, like this:

printf("%s\n", str2);

This is what is displayed (because the string terminates on the '\0' character):


In C, I can declare and initialize strings either by placing a pair of square brackets after an identifier or by preceding the identifier with an asterisk (or ‘star’) like this:

char str1[] = "Hello";
char *str2 = "Goodbye";

At first sight, these two declarations appear to be more or less equivalent. Each is initialized with a string and I can display that string using printf like this:

printf("%s\n",  str1);
printf("%s\n",  str2);

In fact, the apparent similarity is deceptive. In order to understand why, we now have to get to grips with one of the most challenging aspects of the C language – pointers.


In the example above, the asterisk or ‘star’ (*) indicates that the variable str2 is a pointer to some memory location. In this case, this happens to be the memory location where the array of characters forming the string “Goodbye” is stored. Each piece of data in your computer’s memory is stored at some memory location or ‘address’. You can display that address using the ‘address-of’ operator & placed before a variable name. This is how I would display the addresses of str1 and str2 (note: it is normal to use the %p format specifier to print an address as a hexadecimal value. Many programmers find hexadecimal hard to understand, however, so in this example I use %d to print an address as a decimal value):

printf("%d\n", &str1);
printf("%d\n", &str2);

If you ran this code, it would display some numbers such as:


These are the addresses – that is, the positions in your computer’s memory where these variables live. Now that we have the addresses of the variables, let’s take a look at their values – the data which they store. Here I will print out the address of each variable followed by its value shown first as an integer (%d) and then as a string (%s):

char str1[] = "Hello";
char *str2 = "Goodbye";
printf("%d %d %s\n", &str1, str1, str1);
printf("%d %d %s\n", &str2, str2, str2);

And this is what is displayed (though the actual numbers may vary):

2686746 2686746 Hello
2686740 4206628 Goodbye

This tells me that the address of str1 is 2686746 and its value expressed as an integer is the same number 2686746. Its value expressed as a string is the string with which it was initialized, “Hello”.
The address of str2 is 2686740 but its value expressed as an integer is a different number 4206628. Its value expressed as a string is the string with which it was initialized, “Goodbye”.
The important thing to observe here is that the value of the array name, str1 when expressed as an integer is the same as the address of that name. In fact, we can say that:


I’ll have more to say about arrays, pointers and addresses in a future lesson.

NOTE: If you are new to C, you may want to start with lesson 1 in this series:
And if you want to learn C in more depth, why not sign up to my online video course – C Programming for beginners. See here: