Pages

Wednesday, 17 April 2019

Zork Source Code Online - the Holy Grail of Text Adventures!

Anyone who knows me (or reads my articles or follows my programming courses) can't fail to have noticed that I am passionate about text adventures. In fact, it was the old Infocom text adventures such as Zork, Starcross and Trinity that first got me interested in programming, long, long ago. So interested, in fact, that I wrote my own adventure, The Golden Wombat Of Destiny.

The one thing I never expected to see was the source code of the classic Infocom games. Well, today, that all changed. Because the code is now online. I don't honestly know if this is in the public domain or not. I think that theoretically Activision 'owns' the code but clearly the company is doing nothing at all with it. That being so, this great treasure of programming really should be available to inspire and instruct coders old and new. You may need to be dedicated, however. This is not written in any mainstream language such as Java or C. It's written in ZIL (and MDL) which are variants of LISP.

More information here:

Tuesday, 12 March 2019

Able2Extract Professional 14 Review

Able2Extract Professional 14 $149.95
https://www.investintech.com/

Able2Extract is a PDF editing and conversion tool. It can convert files between PDF and a variety of other formats including Word documents, Excel spreadsheets, text, HTML and various image formats. Conversion can be done by loading documents one by one or in batch mode on a selected directory.
PDF on the left. Word on the right? Which is the original? Here the PDF eBook is the source document and I have used Able2Extract to create a Word document from it. If you click the image above to enlarge it you will see that the fully-editable Word document is very faithful to the PDF original, including column formatting and images. There are a few minor differences to text styles however.
Editing features include the ability to add and delete text or graphics, redacting (blacking out) selected text, and adding annotations. There is also built-in form support that lets you create editable forms with ‘fill-in’ fields. For an overview of the principal features see my review of a previous release of Able2Extract Professional 12. The main new features in this release are electronic and digital signing and improved “AI-powered” PDF to Excel conversion.

Here I am creating a new digital signature just by entering my name on the keyboard and letting Able2Extract generate a digital (cryptographic) signature image.

When I need to add my signature to a PDF form, I just drag the previously-generated digital image into place.
Electronic document signing lets you add a signature by drawing it on screen, typing it at the keyboard or adding a pre-prepared image.  Even though an electronic signature may not match your hand-written signature, it uses cryptographic techniques so that it can be verified for authenticity.

The other big new feature in this release are the so-called “AI-powered templates” for converting to and from Excel spreadsheets. According to Investintech, Able2Extract 14 has templates that “can be trained to automatically locate and convert PDF tables that match the table structure stored in a template, making tabular data extraction accurate and easy no matter how long the source document is or the position of tables in a PDF document.”

You can also load up PDF documents and auto-extract any tables to be converted to Excel. When this option is selected, all other text and image content of the PDF file is ignored and only the tabular data is extracted. Excel support goes beyond PDF conversion. Able2Extract lets you load up any of its supported formats (for example a Word document) and convert it direct to Excel.
Here I have a long PDF document that contains several tables. I want to extract the table into an Excel spreadsheet. The conversion option lets me extract the tables alone, ignoring the rest of the text.

This is the end result. My tables have been extracted into an Excel spreadsheet, read for me to edit them.
A common format for conversion is Microsoft Word. I tried out Able2Extract with some quite complicated eBooks with multiple columns, styles, box-outs, graphics tables and more. I have to say the conversion between Word and PDF was remarkably good. In my experience, there are occasionally some changes to font styles and  layout that crop up during conversion. But these are generally quite minor. On the whole, the conversion is fast and fairly accurate.


Overall, this is a very capable PDF conversion program. If you regularly need to convert documents to and from the supported formats or if you need to edit and sign PDF forms, this is about as easy as it gets.

Sunday, 10 March 2019

DxO PhotoLab 2 review

DxO PhotoLab 2 (Elite Edition) £159 (currently on offer at £119.99)
DxO PhotoLab 2 (Essential Edition) £99 (currently on offer at £79.99)
https://www.dxo.com/dxo-photolab/

DxO PhotoLab 2 is an image processing packaged aimed specifically at photographers. If you’ve taken a photograph and the colours, sharpness or exposure are not quite what you want, this software will help you enhance the image to achieve a more satisfactory, pleasing or dramatic effect.

Here I am using DxO PhotoLab 2 to process the original image (seen in the top half of the screen) by setting parameters to improve the contrast, colour saturation and brightness. The processed image is shown in the bottom half of the screen
There is more to creating a great photo than just clicking the button on your camera and saving the results onto disk. Once you have the image, there are all kinds of ways you can process it in order to make it really stand out. And that’s where DxO PhotoLab comes in. It is an image processing program which specialises in enhancing and correcting images, with some features specifically tailored for RAW (unprocessed) images.

RAW images contain more information than images saved in formats such JPG or PNG. Some of that information is lost when it is processed into one of those formats. DxO PhotoLab, however, is able to use the information stored in RAW file in order to optimise the image rendering – for example, by correcting optical flaws, or correcting colour balance and sharpness. While RAW processing is its strength, it can also work with other image formats such as JPEG, though the range of optimisations is more limited with those formats.

The software has built-in support for a number of cameras from major manufacturers such as Canon, Panasonic, Nikon, Olympus, Apple, Sony and others. This helps the software to automate the processing of RAW images from specific makes and model of camera. The company claims that it has analysed no less than 42,000 camera/lens combinations to help to automate the enhancement of camera-specific images. You and can find the full list of supported cameras here:  https://www.dxo.com/dxo-photolab/supported-cameras/

If grainy pictures are a problem, its denoising tools could be a big advantage. Grain is likely to be most problematic in shots taken in low light with high ISO. So if night-time shooting is important to you, denoising could help to add sharpness to your photos. Some of the more advanced features are only available in the Elite Edition. The cheaper Essential edition has the core functionality but lacks dedicated camera support, enhanced denoise and a few other image processing tools. I have been using the Elite edition for this review. You can check the feature lists for both editions here: https://shop.dxo.com/en/photo-software/dxo-photolab

Here I have selected an area (the area above the diagonal line which I have simply drawn and rotated on the image) and I am making local edits by dragging the ‘bar chart’ elements to alter colour, contrast, grain, shadows and black density.
PhotoLab 2 includes an automatic repair tool to remove unwanted elements – everything from a bit of dust to a bird in the sky – with a selective retouching tool to mask and replace areas of the image. The main new feature in the latest release of PhotoLab is a tool to let you may make ‘local adjustments’ – that is, you can selected areas of a photograph and apply edits to them. You can, for example, select the sky and then make in-place changes to its colour and contrast.

DxO PhotoLab 2 also has a PhotoLibrary tool for organising your pictures. This provides the ability to search through directories of images in order to find those that match specific criteria such as date, ISO setting or focal length. This is a feature that is broadly similar (though not quite yet as complete) as the tools provided by Lightroom Classic.

If you don’t want to go to the bother of tweaking individual parameters, you can simply apply one of the ‘presets’ to apply a range of effects and enhancements at the click of a mouse button.
PhotoLab 2 comes with arrange of ready-to-use filters and ‘image fixes’ which can be simply applied to photos. However, to get the most from the software you may need to tweak individual parameters which are available in a set of collapsible panels to let you make adjustments to lighting, colour and geometry. This can be quite a detailed and complex process. This is great for professional users who are prepared to put in the time and effort to learn to use all the tools and options. For amateur or occasional users, however, this may seem intimidatingly complicated. Indeed, for those users a simpler-to-use (and cheaper) program such as Smart Photo Editor might be more appropriate.  For a guide to the principal features of DxO PhotoLab 2 see here: https://www.dxo.com/dxo-photolab/features/




The bottom line: who needs this software? If you want to apply effects and corrections to your photographs, a general-purpose image editing program such as Adobe PhotoShop may be your first choice. Alternatively, if you need a cheaper solution, a program such as Affinity Photo or CyberLink PhotoDirector might fit the bill. For image processing features aimed specifically at photographic enhancement, the obvious competitors to PhotoLab are Adobe LightRoom and Phase One’s Capture One.

Dx0 PhotoLab is aimed at professional photographers who need to make adjustments at the nitty-gritty level of detail. For those users, it provides a solid range of features with dedicated camera support at what, in this range of software, is quite a reasonable price. In short DxO PhotoLab 2 is a good value image processing program for the more serious photographer.

Tuesday, 15 January 2019

Movavi Video Suite 18

£59.95
https://www.movavi.com/

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: https://www.movavi.com/suite/whats-new.html

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

or

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

https://affinity.serif.com/en-gb/publisher/

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, https://affinity.store/buy/pageplus/ ).

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?