Pages

Wednesday, 7 November 2018

PowerDirector 17 Review


Cyberlink PowerDirector 17 Ultra £79.99
https://www.cyberlink.com/products/powerdirector-video-editing-software/features_en_GB.html

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…




Versions

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: https://www.cyberlink.com/products/powerdirector-video-editing-software/comparison_en_GB.html

Summary

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 Infostack.io.

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:

https://bitwise--infostack.thrivecart.com/up

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):

Goodbye

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.

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:

2686746
2686740

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:

THE VALUE OF AN ARRAY NAME IS THE ADDRESS OF THE START OF THAT ARRAY.

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: http://www.bitwisemag.com/2017/02/introduction-to-c-programming.html
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: http://www.bitwisemag.com/2017/01/learn-to-program-c-special-deal.html

Monday, 22 October 2018

Logical Operators in C

This is another lesson in C for programmers who are new to the language. Here I want to summarise logical operators which you can use to test if some condition is true or false.

The && operator means ‘and’ and the || operator means ‘or’. These are called ‘logical operators’. Logical operators can help you chain together conditions when you want to take some action only when all of a set of conditions are true or when any one of a set of conditions is true. For example, you might want to offer a discount to customers only when they have bought goods worth more than 100 dollars and they have also bought the deal of the day. In code these conditions could be evaluated using the logical and (&&) operator, like this:

 if ((valueOfPurchases > 100) && (boughtDealOfTheDay))

But if you are feeling more generous, you might want to offer a discount either if a customer has bought goods worth more than 100 dollars or has bought the deal of the day. In code these conditions can be evaluated using the logical or (||) operator, like this:

 if ((valueOfPurchases > 100) || (boughtDealOfTheDay))

Logical operators test Boolean values. A Boolean value can either be true or it can be false. Some programming languages have a special Boolean data type. C does not. In C, any non-zero value such as 1 or 100 is evaluated as true. A zero value is evaluated as false.

It is possible to create quite complex conditions by chaining together tests with multiple && and || operators. Be careful, however. Complex tests are often hard to understand and if you make a mistake they may produce unwanted side effects. In addition, just as when you are using arithmetic operators, you may avoid ambiguity by grouping the individual ‘test conditions’ between parentheses.

The ! operator can be used to negate a condition. So the test !( a == b) (‘not a equals b’) is equivalent to (a != b) (‘a is not equal to b’). Similarly this test…

 (number_of_children != 0)

…could be rewritten like this:

!(number_of_children == 0)

NOTE: If you are new to C, you may want to start with lesson 1 in this series: http://www.bitwisemag.com/2017/02/introduction-to-c-programming.html
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: http://www.bitwisemag.com/2017/01/learn-to-program-c-special-deal.html

Monday, 24 September 2018

Recursion For Programmers


Recursion is a powerful programming technique. A function that calls itself recursively not only saves programming effort and avoids repetition but it can also be used to navigate complex structures such as Trees and Class Hierarchies. But recursion can also be quite hard to understand.

I recently published a course that explains recursion from the ground up. The full price is $45. But if you use the link below you can sign up for just $12! (Local taxes or EU VAT may be applied)
https://bitwisecourses.com/p/recursion-for-programmers/?product_id=778235&coupon_code=BWRECURSIONDEAL

I’ve tried to explain recursion in depth in this course. Along the way, I also explain some important details of the computer architecture. You need to understand the stack, stack frames, variable scope and a few other details in order to get a good understanding of recursion.


I strongly advise you to try to write our own recursive functions as you progress through the course. My examples are all in C, Ruby or C#. But you can write recursive functions in whichever language you happen to be using. In fact, it would be a good exercise to try to translate my examples into another languages – Python, Java, Basic or Pascal, for example.

The courses includes numerous short sample programs to show how recursion works. There are samples written in C, Ruby and C#. However, you don’t need to program in those languages to follow this course. Recursion works the same way in all mainstream programming languages. This course explains the theory and the practice of recursion. You can use the techniques that are taught to write recursive functions in whichever language you prefer: C, C#, Java, JavaScript, Python, Basic, Pascal and others. The course is not about any specific language.

This is what you will learn…
  • What is recursion?
  • How variables are scoped in recursive functions
  • How recursive functions return values
  • The Stack and Stack Frames
  • Debugging recursive functions
  • Recursion v Iteration
  • Stack Corruption, and how to avoid it
  • Infinite Recursion, and how to avoid it
  • Recursing Fibonacci Numbers
  • Recursing a Class Hierarchy
  • Trees and recursion
  • Navigating subdirectories recursively
Here are two sample lessons from the course…




Sign up before the end of October 2018 to get this course at a 73% Discount...
https://bitwisecourses.com/p/recursion-for-programmers/?product_id=778235&coupon_code=BWRECURSIONDEAL

Monday, 17 September 2018

Vegas 16 Edit Review

VEGAS PRO 16 Edit £299
https://www.vegascreativesoftware.com

VEGAS is a powerful video editing package which has been given a new lease of life since its acquisition by MAGIX Software in 2016. In fact, VEGAS 16 is the third major release in just two years.

VEGAS Pro 16 - a powerful package, though it takes a while to learn
New features include improved video stabilization and motion tracking, 360-degree video support (assuming you have a suitable 360-degree camera!), a ‘tiny planet’ plugin that distorts a video using an extreme fisheye effect to make it appear that the ground-plane forms a planet-like sphere, plus various user interface improvements.

Using 'tiny planet' I've transformed an ordinary field into a little world!
Plugins and effects can be ‘chained together’ by adding one plugin after another. The advantage of this approach is that you can selectively tweak numerous different parameters for each effect to give you precise and accurate control over each of them. The disadvantage is that this process can be time-consuming and confusing. For example, it may be entirely possible to remove background noise from a track using the Audio Restoration and NoiseGate effects (plus others) but working out how to do so can be baffling. Personally, I find it simpler to process audio tracks using some other tool such as the free Audacity audio editor or MAGIX’s own SoundForge program.

Here I've made a selection so that I can 'track' a person's movements
Video Effects can be similarly non-obvious. For example, to apply Motion Tracking you need to use a tool called ‘Bezier Masking’, then draw out a selection box over an object, expand a ‘Mask’ option in a dialog and finally click a button to track the object. If I hadn’t seen the MAGIX tutorial on this, I can honestly say I’d never have guessed that this was how to do it.

The newly enhanced Motion Tracking feature includes the ability to select objects (such as a person or vehicle) and automatically track their motion as the video plays. Masks and effects (blurs, contrast/brightness and so on) or text annotations can be added to the tracked objects to follow their movements. A very useful tool.

It’s worth saying that VEGAS has pretty much all the features you would expect from a pro-level video editing package: the ability to cut, trim, copy and move clips over numerous tracks in the timeline; a large range of transitions and effects; zoom, pan, add titles and so on.
For a more detailed overview of the code features of VEGAS, see my reviews of VEGAS Pro 15 and VEGAS Pro Edit 14

For those of you who use storyboards (a view of clips arranged either as lists or as sets of thumbnails arranged in lines like the rows of a spreadsheet) the new interactive storyboarding options will no doubt be welcome. This lets you make edits to the storyboard clips (e.g. changing the start and end points) or in the timeline (e.g. moving a clip to a new position) and the changes are synchronized in both the storyboard and timeline. 

If you want to change the colour temperatures and densities to emulate some Hollywood films, you can use the new Autolooks filter. The names of the preset options (‘Losing Private Brian’, ‘Nade Gunner’, ‘The Wobbit’ etc. may give you a few clues as to the sort of look these try to achieve).

Autolooks lets you change the colours instantly (no, the sky wasn't really that colour!)
At a more mundane level, the file saving options have been improved so that your projects and backups can now be auto-saved at user-selected locations at timed intervals or after every editing change.  For a more detailed overview of new features, including demo videos, see here: https://www.vegascreativesoftware.com/gb/vegas-pro/new-features/#productMenu

Overall this is a good new release of VEGAS Pro. It incorporates a range of useful improvements without sacrificing the familiar workflow of previous releases. Bear in mind, however, that while VEGAS is a powerful package, it is not the easiest video editor for a complete newcomer. But for serious video editing at a modest price, VEGAS Pro 16 is a damn’ good choice.

NOTE: Vegas Pro 16 is available in several editions which include additional features, at higher prices. See the product comparison table here: https://www.vegascreativesoftware.com/gb/vegas-pro/product-comparison/#productMenu For my reviews of other video editing packages, see HERE.

Wednesday, 18 July 2018

I Know Your Password - now let me blackmail you!

I know XXXXXXXX one of your password. Lets get right to purpose. You may not know me and you are probably wondering why you're getting this e-mail? No one has paid me to investigate about you.
I just received an email that started with the above text. Actually, the email was put into my Spam bin but I was browsing through when I noticed that the email header was quoting a genuine password that I have used in the past. "That's odd," I thought. So I read on. This is how the email continued...
In fact, I actually setup a software on the adult streaming (sex sites) website and there's more, you visited this web site to experience fun (you know what I mean). While you were viewing video clips, your browser started functioning as a Remote control Desktop that has a keylogger which gave me access to your display screen and web cam. 
Immediately after that, my software obtained all of your contacts from your Messenger, FB, as well as e-mail . After that I created a double-screen video. 1st part displays the video you were watching (you've got a nice taste rofl), and next part displays the recording of your webcam, & its u.  
You actually have 2 possibilities. Lets go through these possibilities in particulars:
First alternative is to just ignore this email. In that case, I most certainly will send your recorded material to every one of your contacts and thus consider regarding the disgrace you will definitely get. Not to mention if you are in a loving relationship, just how it will eventually affect? 
In the second place option would be to compensate me $3500. Lets name it as a donation. In this scenario, I most certainly will without delay erase your videotape. You can continue on everyday life like this never occurred and you surely will never hear back again from me.
You will make the payment through Bitcoin (if you don't know this, search for "how to buy bitcoin" in Google).
BTC Address to send to: XXXXXXX
[CASE SENSITIVE copy & paste it] 
In case you are looking at going to the authorities, surely, this e mail cannot be traced back to me. I have taken care of my actions. I am not looking to ask you for money a lot, I want to be paid for. I've a specific pixel in this e mail, and right now I know that you have read through this email message. You have one day to make the payment. If I do not receive the BitCoins, I will, no doubt send out your video to all of your contacts including family members, co-workers, and so on. Nonetheless, if I receive the payment, I will erase the video immidiately. If you want proof, reply with Yeah! and I will certainly send your video recording to your 5 contacts. This is the non-negotiable offer, that being said do not waste my personal time and yours by replying to this email.
OK, so this is a scam but it's a pretty interesting and deceptive one as it relies upon the receiver having more technical literacy than many simpler ("I'm a Nigerian prince, I want to send you money") scams. It assumes a) that you recognise your own password and know that other people should not have access to it and b) that you know what a keylogger is (it records and sends back to the bad guys the keystrokes you enter on your computer). It also assumes you understand Bitcoin and may at least be sufficiently baffled by the "hidden pixel" guff to think it's genuine.

OK, so I tracked down the password it mailed me. I had used it once, many years ago, when logging into a very innocent-looking site all about foreign language learning. The chances that a keylogger recorded my password all those years ago and the bad guys have only now decided to blackmail me seemed remote. Much more likely that the security of that site has been compromised, the bad guys got a whole load of old passwords and the rest of the email is pure nonsense.