New book: Python from the Very Beginning

A new introductory book on Python has been published, patterned after the successful books OCaml from the Very Beginning and Haskell from the Very Beginning. It can be obtained on the book’s own website, in electronic form, or from Amazon in Paperback and Kindle form.

https://www.pythonfromtheverybeginning.com

https://www.amazon.com/Python-Very-Beginning-exercises-answers/dp/0957671156/

In Python from the Very Beginning John Whitington takes a no-prerequisites approach to teaching the basics of a modern general-purpose programming language. Each small, self-contained chapter introduces a new topic, building until the reader can write quite substantial programs. There are plenty of questions and, crucially, worked answers and hints.

Python from the Very Beginning will appeal both to new programmers, and to experienced programmers eager to explore functional languages such as Haskell. It is suitable both for formal use within an undergraduate or graduate curriculum, and for the interested amateur.

Posted in Uncategorized | Comments Off on New book: Python from the Very Beginning

New book: Haskell from the Very Beginning

The book Haskell from the Very Beginning, has now been published. A printed copy may be obtained from Amazon for $29.99:

https://www.amazon.com/dp/095767113X/

In Haskell from the Very Beginning John Whitington takes a no-prerequisites approach to teaching the basics of a modern general-purpose programming language. Each small, self-contained chapter introduces a new topic, building until the reader can write quite substantial programs. There are plenty of questions and, crucially, worked answers and hints.

Haskell from the Very Beginning will appeal both to new programmers, and to experienced programmers eager to explore functional languages such as Haskell. It is suitable both for formal use within an undergraduate or graduate curriculum, and for the interested amateur.

Alternatively, a PDF copy may be obtained for $19.99 from the book’s website:

https://www.haskellfromtheverybeginning.com

Thanks to all those who have helped in recent weeks with useful comments on an earlier draft.

Posted in Uncategorized | Comments Off on New book: Haskell from the Very Beginning

CPDF 2.3 Released

Coherent PDF Tools Version 2.3 have been released. This version adds some new features, and some improvements to existing ones:

  • Improvements to malformed file reading
  • Directly set and remove Trim, Art, and Bleed boxes
  • Dump attachments to file
  • Extended bookmark format, preserving all bookmark information
  • New -pad-with, -pad-mutiple-before options
  • Set or create XMP metadata
  • Remove graphics clipping
  • Set bookmarks open to a given level
  • Create PDF files from scatch
  • Remove single images by name
  • Add trim marks

Full details on our home page.

Posted in Uncategorized | Comments Off on CPDF 2.3 Released

Coherent PDF Command Line Tools 2.2

CPDF 2.2 is now out, with many new features, and increased speed and reliability, especially for large or encrypted files.

The formerly separate product smpdf for lossless compression of PDF files is now included in cpdf at no extra cost.

  • Perform arithmetic on dimensions when specifying size or position
  • Add simple rectangles to PDF to blank things out
  • Stamping operations now preserve annotations
  • Decryption fully on-demand for speed.
  • -keep-l keeps existing linearization status
  • -remove-dict-entry to remove the contents of a dictionary entry
  • -topline in addition to -midline
  • -producer and -creator may be used to alter producer and creator in
  • conjunction with any other operation
  • -topline and -midline now apply to stamps
  • -list-spot-colours to enumerate all spot colours
  • -bates-at-range and -bates-pad-to improve Bates number options
  • -print-page-labels to list the page labels to standard output
  • -squeeze replaces smpdf, integrated in cpdf itself.
  • Preserve more sharing of data when doing merges and page alterations

Licenses from $339. Customers without current support contracts may upgrade for $189.

Full details on our home page.

Posted in Uncategorized | Comments Off on Coherent PDF Command Line Tools 2.2

A Machine Made this Book: Ten Sketches of Computer Science

Coherent Press launches a new Popular Science book about Computer Science.

webcover

How do we decide where to put ink on a page to draw letters and pictures? How can computers represent all the world’s languages and writing systems? What exactly is a computer program, what and how does it calculate, and how can we build one? Can we compress information to make it easier to store and quicker to transmit? How do newspapers print photographs with grey tones using just black ink and white paper? How are paragraphs laid out automatically on a page and split across multiple pages?

In A Machine Made this Book, using examples from the publishing
industry, John Whitington introduces the fascinating discipline of Computer
Science to the uninitiated.

Sample chapters

Front matter

  1. Putting Marks on Paper
  2. Letter Forms
  3. Storing Words
  4. Looking and Finding
  5. Typing it In
  6. Saving Space
  7. Doing Sums
  8. Grey Areas
  9. Our Typeface
  10. Words to Paragraphs

Back matter

Amazon $19.99 | Website | Google Books | PDF Ebook $9.99

Posted in Uncategorized | Comments Off on A Machine Made this Book: Ten Sketches of Computer Science

Coherent PDF Command Line Tools 2.1

CPDF 2.1 is now out, with some new features and work under the hood to improve encryption and speed on large files

  • Encryption now much, much faster
  • Faster parsing of delayed object streams on large files
  • -decompress now leaves object streams decompressed
  • Select pages by landscape-ness or portrait-ness in a page range
  • New -open-at-page and -open-at-page-fit option to set the open action
  • New -recrypt option to re-encrypt output
  • Reads XMP metadata and outputs it on -info
  • New -center position for text
  • -stamp can now use positions, just like stamping text
  • Better handling of permissions for files with user passwords
  • Linearization excised
  • Can encrypt or recrypt output of -split and -split-bookmarks now
  • -args replaces -control with better behaviour
  • Can scale a stamp to fit before stamping with -scale-stamp-to-fit

Licenses from $319. Customers without current support contracts may upgrade for $189.

Full details on our home page.

Posted in Uncategorized | Comments Off on Coherent PDF Command Line Tools 2.1

Community Release of PDF Command Line Tools

The cpdf tool has been available commercially since 2007, and is widely used in industry and government. The same technology is used in the Proview PDF Editor for the mac.

Now we’re releasing it for free, under a special not-for-commercial-use license.

Binaries for Windows, Mac and Linux, OCaml source code, and full documentation are all available here.

The Coherent PDF Command Line Tools allow you to manipulate existing PDF files in a variety of ways. For example:

  • Merge PDF files together, or split them apart
  • Encrypt and decrypt
  • Scale, crop and rotate pages
  • Read and set document info and metadata
  • Copy, add or remove bookmarks
  • Stamp logos, text, dates, page numbers
  • Add or remove attachments

 

Posted in Uncategorized | Tagged , , | Comments Off on Community Release of PDF Command Line Tools

CamlGPC: An interface to Alan Murta’s GPC Polygon Clipper

Some of our coherence 2D graphics renderer examples used to rely on being able to robustly intersect and union polygons.

For this, we used an interface to the General Polygon Clipper, which is a fast C library for such operations. Unfortunately, it’s only free for non-commercial use. And so, to use our OCaml interface in commercial applications, you need to obtain a license from the University of Manchester.

Our interface is up at github.

The easiest way to install is through OPAM:

opam install camlgpc

Posted in Uncategorized | Tagged , , , | Comments Off on CamlGPC: An interface to Alan Murta’s GPC Polygon Clipper

GraphicsPDF: A version of Ocaml’s Graphics module which outputs PDF

I’ve been packaging up some little pieces of previously-released software as OPAM packages, hoping that will make them more widely used.

GraphicsPDF is just like Graphics, but it outputs a PDF file of the commands, instead of displaying them on screen.

The development repository is at github

The easiest way to install is through OPAM:

opam install graphicspdf

It was originally described in this blog post some years ago.

Posted in Uncategorized | Tagged , , | Comments Off on GraphicsPDF: A version of Ocaml’s Graphics module which outputs PDF

CamlPDF 1.7

The first new release of the CamlPDF library for a while is here:

http://www.github.com/johnwhitington/camlpdf

(Or, shortly, via OPAM.)

The documentation is online here:

http://www.coherentpdf.com/camlpdf

A little introduction is here:

http://www.coherentpdf.com/introduction_to_camlpdf.pdf

Most importantly, CamlPDF is now open source, being under a standard LGPL with linking exception licence.

This release is much cleaner: development has moved to Github for transparency, ocamlfind is supported, and it should compile out-of-the-box with no dependencies on Windows, Mac and Linux. Documentation is much improved.

And, of course, there’s lots of new functionality, such as 256 bit AES encryption, reading of malformed files, support for writing with object streams, and new modules for merging files, bookmarks, destinations. It’s also very much faster.

There have, however, been significant non-backward-compatible API changes. These will be minimized in the future. Contact me directly or via the Github issue system if you need help updating code from a previous version.

Posted in Uncategorized | Tagged , | Comments Off on CamlPDF 1.7