Farewell to the Hedgehog and Little Duck

Ingram (the parent company of Lightning Source, who print and distribute paperback titles published by Dickimaw Books) have announced that their saddle stitch format is being retired on 1st March 2021 because the software and equipment used to print that format have become obsolete. This means that the first editions of “The Foolish Hedgehog” and “Quack, Quack, Quack, Give My Hat Back!” will be going out of print on that date.

The saddle stitch format is where the pages are held together by staples down the spine. This works well for these illustrated children’s books, particularly “Quack, Quack, Quack, Give My Hat Back!” which has double spread images. The other paperback titles published by Dickimaw Books all use perfect bound (and so aren’t affected by this change), which has a stiff, flat, rectangular spine. Perfect bound doesn’t work well for young children’s books which are often opened out flat.

If you have been thinking about buying a copy of either of these books then you will have to order them from an online book seller before 1st March 2021. After that date, there may still be copies available from the Dickimaw Books store (once it reopens) until existing stock runs out.

SmashWords Ebook Sale

The DRM-free ebook retailer SmashWords has a sale from 18th December 2020 to 1st January 2021. My crime novel “The Private Enemy” has a 75% discount and my crime fiction short story “I’ve Heard the Mermaid Sing” has a 100% discount (i.e. free!) for the duration of the sale. Did you know that you can gift ebooks on SmashWords? If you’re stuck for a present for a book lover this provides a cheap and convenient option, especially if they’re far away or isolating.

Book Samples

The Dickimaw Books site now has a new book samples area. This provides a collection of sample images taken from pages of the selected paperback book with an accompanying audio track. At the moment there’s only one book listed (The Private Enemy) although I plan to add other fiction paperbacks at a later date.

The sample starts with an image of the jacket. You can navigate to the next available sample page using the “next page” icon (a right pointing arrowhead ), which can be found at the top right of the page image. Below the page image are links to further details about the book and to the book’s listing in the Dickimaw Books store . If there is an ebook edition (which there is for The Private Enemy), then there will also be a link to the ebook’s HTML sample.

The audio file accompanying the jacket image is simply an introduction. The audio files for the actual sample pages are of me reading out that page. This means that you can see how the text is actually typeset on the page of the paperback edition and you can hear the page content. If you prefer to just read the text then follow the link to the ebook sample instead. The navigational icons can be changed in the site settings page (see also the Sticky Hamburgers post).

Remember that the ebook edition of The Private Enemy is free for the duration of the “Authors Give Back” SmashWords sale (ends 31st May 2020), so now’s a good time to try it out!

Be Careful of Message Links

UK mobile networks are sending a “stay at home” message to everyone in response to the current nationwide lockdown. While the link in that specific message is safe, don’t click on links in text messages. It’s very easy for scammers to fake that message and replace the safe link with their own nasty version. It doesn’t take long to type “gov.uk” into the address bar of your browser and you can follow the appropriate link from that site’s home page.

Don’t click on links in text messages. Get into the habit of not clicking links, even if when it’s safe. There’s been a rise in scams and phishing attempts that prey on people’s fears. Please do take care.

If you’re unsure about whether or not a web address is genuine, type it into the search box of your favourite search engine. If the search box is also an address bar (as is the case for some browsers), you need to make sure it doesn’t get interpreted as a URL, which would take you to the site rather than allow you to investigate it first. For example, if you get a link to “example.com/important-info” then type something like “what is example.com” or “who is example.com” or “who owns example.com” as your search term. That should hopefully ensure that it’s interpreted as a search rather than an address. (You can also use the ICANN lookup to look up the registration data for the domain, but an Internet search may show up warnings and alerts.)

The same advice applies for emails, and with email messages you need to be even more careful as links are more dangerous in HTML content than in plain text messages because they are hidden behind the link text. On a desktop device you may be able to see the URL when you hover the mouse pointer over the link text, but you can’t do this on a mouseless mobile device. You may be able to copy the link (using a context popup menu or a long tap) but you need to take care that you don’t accidentally follow the link by mistake.

Always be very careful about emails that encourage you to click on a link or open an attachment even if they seem to be sent from a legitimate source. Sender addresses are usually sent in the form “Display Name” user@example.com. The “display name” part can be set to anything. For example, “Some Public Health Body” scammer@baddomain.com. So be careful not to trust the display name. Copy the domain part (after @) and paste it into a search engine to investigate it (bearing in mind the earlier advice about a search bar that doubles as an address bar).

The Dickimaw Books site has some functions that will send an automated email that may include a link. For example, if you report a bug and provide your email address for confirmation then you will receive a message informing you when your report is logged with a link to the topic page on the bug tracker. I’ve amended the template used for that message to additionally provide information on how to navigate your way to the topic page without clicking on the link. It’s less convenient but it’s safer.

Stay safe and practice both physical and digital hygiene.

“Authors Give Back” SmashWords Sale

The DRM-free ebook retailer SmashWords has a one month “Authors Give Back” sale from 20th March to 20th April 2020 [Update: closing date has been extended to 31st May 2020]. In response to the current Coronavirus situation that is leaving people housebound, authors are providing their ebooks at a discounted price or free. Both my crime novel “The Private Enemy” and my crime fiction short story “I’ve Heard the Mermaid Sing” are FREE for the duration of this sale.

A word of warning: “The Private Enemy” contains a point in the story where rioting results in a shortage of supplies and people being stuck inside getting bored and on each others nerves, so that may not be the kind of storyline you’ll be in the mood to read right now!

RSS Feeds and Other Notifications

Did you know that the Dickimaw Books site has a number of RSS feeds? These are links denoted with RSS Feed. This means you can pick up the latest news in your news aggregator. Some mail applications, such as Thunderbird, have an aggregator function.

The main RSS feed can be found on the banner at the top of the pages on the main part of this site (outside of this blog and the shop). If you have hidden that area on the banner using the settings page, then you can find the RSS feed link on the news page. That main feed is for the brief news items, such as updates to the site or software or new articles. Each news item is usually no more than one or two sentences.

The feed for this blog can be found at the top of the blog side bar. This picks up any new blog post and includes the entire post in the feed. There are also feeds for individual blog categories. For example, if you go to the “site” category, there’s a link to the category feed after the category title. If you subscribe to that feed, then you will just get the new posts for that particular category.

There isn’t a specific RSS feed for the shop, but if you have a store account then you can sign up for the shop newsletter. This doesn’t go out very often, just when there’s some particular news that’s specific to the store, such as new products, store closures or promotional offers.

If you don’t have a store account but you want to be notified when a new book is released then you can sign up for new book alerts.

So there are a number of different ways of picking up the latest news on this site. Alternatively, you can just drop in on the site from time to time and look at the recent news page.

TeX Live and Fedora

I’ve been using TeX Live on Fedora for years, but today I encountered an odd error when trying to perform the usual sudo tlmgr update package. I tried an Internet search of the error message but it didn’t provide any helpful clues. I finally worked out what had happened and, since it’s possible someone else might stumble on the same thing, I thought it might be useful to post about it in case it helps others.

First a little background information to supply some context. I normally use dnf to install or update software on Fedora, but not when it comes to TeX because I have found in the past that the Linux distros tend to have outdated TeX packages. Instead, I install TeX Live from the DVD (which I automatically receive as a joint member of UK TUG and TUG) as I have an iffy broadband connection, and I also have to update the TeX Live distributions for other family members. It’s easy to slap the DVD in the drive and set the installer going regardless of whether the computer has Linux or Windows. On my own device, I keep the TeX Live installations from the previous couple of years as it’s useful to be able to switch to an older version when trying to investigate a bug that has appeared with a new TeX Live release. (I have a symbolic link /usr/local/texlive/default that points to the release I want to use. All I need to do is change the link to switch to a different release.)

I don’t like automatic updates (it can be confusing if an update occurs without my noticing and causes an unexpected conflict) so I just periodically run sudo tlmgr update --all but today this resulted in an unexpected error. (The message suggests it’s a warning but the process fails.)

*** WARNING ***: Performing this action will likely destroy the Fedora TeXLive install on your system.
*** WARNING ***: This is almost NEVER what you want to do.
*** WARNING ***: Try using dnf install/update instead.
*** WARNING ***: If performing this action is really what you want to do, pass the "ignore-warning" option.
*** WARNING ***: But please do not file any bugs with the OS Vendor.

As is often the case, the problem is obvious in hindsight but it flummoxed me for a while. Why was the TeX Live manager suddenly telling me to use dnf when I’d installed it from the DVD? It had worked fine the last time (not that long ago), so what had changed since then? A few days ago I’d upgraded to Fedora 31.

It turned out that I now have an extra TeX Live installation that I didn’t know about in /usr/share/texlive/ with its own tlmgr in /bin (which is a symbolic link to /usr/bin). To add to the confusion my normal user PATH has /usr/local/texlive/default/bin/x86_64-linux near the start of the list but the /etc/sudoers file had it at the end:

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/texlive/default/bin/x86_64-linux

This means that when I use TeX as a normal user it’s picking up the installation from the DVD, but with sudo it’s picking up the other installation, which requires dnf rather than tlmgr to update TeX packages. The question is, how did that other TeX Live installation suddenly appear?

Some years ago I installed texlive-dummy to satisfy dependencies in the event that I had to install software that required a TeX distribution. As far as I can tell, that texlive-dummy RPM no longer exists. My guess is that when I upgraded to Fedora 31, the upgrade process detected the TeX Live dependency, but texlive-dummy had disappeared, so it installed the complete TeX Live distribution instead. For now, I’ve simply edited the /etc/sudoers file so that /usr/local/texlive/default/bin/x86_64-linux is listed first in the path.

ASD and English GCSE

[Previously published on GoodReads 2019-02-20.] For those of you who don’t know, I write both fiction and text books. These involve very different writing styles.

Creative writing involves metaphors, similes, double entendres, sub-text, hyperbole, synecdoche, litotes, aporia, aposiopesis, intertextuality and so on. Readers often enjoy discovering new meaning when they re-read their favourite books. The language used within the work can trigger emotional responses.

Technical writing requires plain English, written in a precise, unambiguous style. Customers don’t want to be told that the product they purchased doesn’t actually do what they thought because they didn’t interpret the subtle nuances within the product specifications. If I buy a DIY kit I don’t expect to have to analyse the instructions for hidden meaning. Technical manuals, user guides, official documents should all provide the reader with the information they require accurately and concisely. In our modern Internet age, people reading web pages may well be reading the text through a translation service. For example, this page is written in English, but if a non-English speaker wants to read it they can do so using, for example, Google Translate. These translation services work best with plain, unambiguous, well-written, error-free text. This is something that all businesses and organisations should bear in mind if they have an interest in the international community. I hope this is something I have achieved in my text books and whenever I post answers to technical questions on the Internet. (The temptation to slip into creative writing is always present, but I try to avoid it.)

In the UK (at least in England, I’m assuming it’s the same in Scotland, Wales and Northern Ireland), the secondary education system has two English GCSEs: English Literature and English Language. The first studies set books and analyses the creative writing used within that work. The second includes writing fiction and comprehending pieces of creative writing, where the samples are taken from classic novels or from articles.

Both GCSEs emphasize creative writing skills. This is as it should be for the English Literature course, but the lack of a specific technical writing GCSE is a cause for concern. Firstly from the point of view of employers who are aiming for the Crystal Mark. They need to know the technical writing skills of job applicants, but they can’t tell this from the English Language GCSE. The second problem bothers me even more: the current system discriminates against students on the Autistic Spectrum, who may have a wide vocabulary, good spelling, punctuation and a firm understanding of grammar, but because they can’t understand sub-text, emotional responses and non-literal phrases they fail the English Language GCSE. The education system labels them as illiterate even if they have far better technical writing skills than their neurotypical peers who are able to pass the GCSE because they can understand sub-text and can write about emotions.

I’m not faulting the English teachers here. There are many good teachers who are aware of this discrimination, but they are constrained by the curriculum. However I have also heard arguments along the lines of ‘They need to learn how to understand sub-text and non-literal expressions in case they encounter it in their profession.’ This has no more sense than saying that a colour-blind person needs to learn how to distinguish between colours in case they enter a profession that requires that ability. It shows a basic lack of understanding of disabilities.

I believe that the curriculum should consist of three separate English GCSEs:

  • English Literature. (As it currently is.)
  • Creative Writing. (Much of what the current English Language GCSE entails.)
  • Technical English.

This would not only help to end the curriculum’s current discrimination against Autistic pupils but will also benefit business and technical sectors who need employees with technical writing skills.

Localisation

[Previously posted on Goodreads 2018-07-26.] The chances are that you’re reading this in a web browser. Perhaps it has a menu bar along the top with words like ‘Bookmarks’ or ‘History’, or perhaps it has a hamburger style menu that appears when you click on a button with three horizontal lines. However you interact with an application, the instructions are provided in words or pictures (or a combination). Commonly known icons, such as a floppy disk or printer, are easy to understand for those familiar with computers, but more complex actions, prompts, and warning or error messages need to be written in words.

For example, if you want to check your email, there might be a message that says ‘1 unread email(s)’ or ‘2 unread email(s)’. If the software is sophisticated, it might be able to say ‘1 unread email’ or ‘2 unread emails’. Naturally, you’ll want this kind of information to be in a language you can understand. Another user may be using the same application in, say, France or Germany, in which case they’ll probably want the messages in French or German.

An application that supports localisation is one that is designed to allow such textual information to be displayed in different languages, and (where necessary) to format certain elements, such as dates or currency, according to a particular region. This support is typically provided in a file that contains a list of all possible messages, each identified by a unique key. Adding a new language is simply a matter of finding someone who can translate those messages and creating a new file with the appropriate name.

The recommended way of identifying a particular language or region is with an ISO code. The ISO 639-1 two-letter code is the most commonly used code to identify root languages, such as ‘en’ for English, ‘fr’ for French and ‘de’ for German. (Languages can also be identified by three-letter codes or numeric codes.) The language code can be combined with an ISO 3166 country code. For example, ‘en-GB’ indicates British English (so a printer dialogue box might ask if you want the ‘colour’ setting), ‘en-US’ indicates US English (‘color’) and ‘fr-CA’ indicates French Canadian (‘couleur’).

On Friday 20th July 2018, Paulo Cereda presented the newly released version 4.0 of his arara tool at the TeX User Group (TUG) 2018 conference in Rio de Janeiro. For those of you who have read my LaTeX books, I mentioned arara in Using LaTeX to Write a PhD Thesis and provided further information in LaTeX for Administrative Work. This very useful tool for automating document builds has localisation support for English, German, Italian, Dutch, Brazilian Portuguese, and — Broad Norfolk.

Wait! What was that?

Broad Norfolk is the dialect spoken in the county of Norfolk in East Anglia. There’s a video of Paulo’s talk available. If you find it a bit too technical but are interested in the language support, skip to around time-frame 18:50. Below are some screenshots of arara in action. (It’s a command line application, so there’s no fancy point and click graphical interface.)

Here’s arara reporting a successful job (converting the file test.tex to test.pdf) with the language set to Broad Norfolk:

Image of arara output (reproduced below).

For those who can’t see the image, the transcript is as follows:

Hold yew hard, ole partner, I'm gornta hev a look at 'test.tex'
(thass 693 bytes big, that is, and that was last chearnged on
07/26/2018 12:09:08 in case yew dunt remember).

(PDFLaTeX) PDFLaTeX engine ..... THASS A MASTERLY JOB, MY BEWTY
(Bib2Gls) The Bib2Gls sof....... THASS A MASTERLY JOB, MY BEWTY
(PDFLaTeX) PDFLaTeX engine ..... THASS A MASTERLY JOB, MY BEWTY

Wuh that took 1.14 seconds but if thass a slight longer than you
expected, dunt yew go mobbing me abowt it cors that ent my fault.
My grandf'ar dint have none of these pearks. He had to use a pen
and a bit o' pearper, but thass bin nice mardling wi' yew. Dew
yew keep a troshin'!

For comparison, the default English setting produces:

Image of arara output (reproduced below).

For those who can’t see the image, the transcript is as follows:

Processing 'test.tex' (size: 693 bytes, last modified: 07/26/2018
12:09:08), please wait.

(PDFLaTeX) PDFLaTeX engine .............................. SUCCESS
(Bib2Gls) The Bib2Gls software .......................... SUCCESS
(PDFLaTeX) PDFLaTeX engine .............................. SUCCESS

Total: 1.18 seconds

For a bit of variety, I then introduced an error that causes the second task (Bib2Gls) to fail. Here’s the Broad Norfolk response:

Image of arara output (reproduced below).

For those who can’t see the image, the transcript is as follows:

Hold yew hard, ole partner, I'm gornta hev a look at 'test.tex'
(thass 694 bytes big, that is, and that was last chearnged on
07/26/2018 12:23:42 in case yew dunt remember).

(PDFLaTeX) PDFLaTeX engine ..... THASS A MASTERLY JOB, MY BEWTY
(Bib2Gls) The Bib2Gls sof....... THAT ENT GORN RIGHT, OLE PARTNER

Wuh that took 0.91 seconds but if thass a slight longer than you
expected, dunt yew go mobbing me abowt it cors that ent my fault.
My grandf'ar dint have none of these pearks. He had to use a pen
and a bit o' pearper, but thass bin nice mardling wi' yew. Dew
yew keep a troshin'!

For comparison, the default English setting produces:

Image of arara output (reproduced below).

For those who can’t see the image, the transcript is as follows:

Processing 'test.tex' (size: 694 bytes, last modified: 07/26/2018
12:23:42), please wait.

(PDFLaTeX) PDFLaTeX engine .............................. SUCCESS
(Bib2Gls) The Bib2Gls software .......................... FAILURE

Total: 0.91 seconds

Here’s the help message in Broad Norfolk:

Image of arara output (reproduced below).

For those who can’t see the image, the transcript is as follows:

arara 4.0 (revision 1)
Copyright (c) 2012-2018, Paulo Roberto Massa Cereda
Orl them rights are reserved, ole partner

usage: arara [file [--dry-run] [--log] [--verbose | --silent] [--timeout
 N] [--max-loops N] [--language L] [ --preamble P ] [--header]
 | --help | --version]
 -h,--help          wuh, cor blast me, my bewty, but that'll tell
                    me to dew jist what I'm dewun rite now
 -H,--header        wuh, my bewty, that'll only peek at directives
                    what are in the file header
 -l,--log           that'll make a log file wi' orl my know dew
                    suffin go wrong
 -L,--language      that'll tell me what language to mardle in
 -m,--max-loops     wuh, yew dunt want me to run on forever, dew
                    you, so use this to say when you want me to
                    stop
 -n,--dry-run       that'll look like I'm dewun suffin, but I ent
 -p,--preamble      dew yew git hold o' that preamble from the
                    configuration file
 -s,--silent        that'll make them system commands clam up and
                    not run on about what's dewin
 -t,--timeout       wuh, yew dunt want them system commands to run
                    on forever dew suffin' go wrong, dew you, so
                    use this to set the execution timeout (thass in
                    milliseconds)
 -V,--version       dew yew use this dew you want my know abowt
                    this version
 -v,--verbose       thass dew you want ter system commands to hav'
                    a mardle wi'yew an'orl

For comparison, the default English setting produces:

Image of arara output (reproduced below).

For those who can’t see the image, the transcript is as follows:

arara 4.0 (revision 1)
Copyright (c) 2012-2018, Paulo Roberto Massa Cereda
All rights reserved

usage: arara [file [--dry-run] [--log] [--verbose | --silent] [--timeout
 N] [--max-loops N] [--language L] [ --preamble P ] [--header]
 | --help | --version]
 -h,--help          print the help message
 -H,--header        extract directives only in the file header
 -l,--log           generate a log output
 -L,--language      set the application language
 -m,--max-loops     set the maximum number of loops
 -n,--dry-run       go through all the motions of running a
                    command, but with no actual calls
 -p,--preamble      set the file preamble based on the
                    configuration file
 -s,--silent        hide the command output
 -t,--timeout       set the execution timeout (in milliseconds)
 -V,--version       print the application version
 -v,--verbose       print the command output

In case you’re wondering why Broad Norfolk was included, Paulo originally asked me if I could add a slang version of English as an Easter egg, but I decided to take advantage of this request and introduce Broad Norfolk to the international TeX community as it’s been sadly misrepresented in film and television, much to the annoyance of those who speak it. As far as we know, it’s the only application that includes Broad Norfolk localisation support. (If you know of any other, please say!)

Having decided to add Broad Norfolk, we needed to consider what code to use. The ISO 3166-1 set includes a sub-set of user-assigned codes provided for non-standard territories for in-house application use. These codes are AA, QM to QZ, XA to XZ, and ZZ. I chose ‘QN’ and decided it’s an abbreviation for Queen’s Norfolk, as the Queen has a home in Norfolk.