hamishmacdonald.com

home of the 'zine novel.

hamishmacdonald.com

home of the 'zine novel.

hamishmacdonald.com

home of the 'zine novel.

hamishmacdonald.com

home of the 'zine novel.

Here's a collection of resources I hope you'll find helpful — guides I've created, reference information, bookbinding tools, and websites of other independent publishers.
My instructions for making a hardcover book from common materials.
Quick'n'Dirty instructions for US Letter-sized printout.
My original guide (on No Media Kings' website) to do-it-yourself publishing.
Makers of the amazing Scrivener: software for writing novels and screenplays (which I also use in my copywriting work).
The people to buy your ISBNs from in the UK.
The British Library's legal deposit scheme: Authors publishing in the UK must submit copies to this programme. You'll find my books in there!
Many creative types are concerned about copyright. Actually, you have copyright over any work you create from the moment you create it. It's implicit, so you're protected without having to go overboard in stating it in your work. Copyright, however, is designed to limit sharing; Creative Commons licenses, on the other hand, are a good way to promote the "fair use" of your work — specifically stating how others are allowed to distribute, share, and use it.
Barcode creation website.
An amazing wooden 'machine' for making perfect-bound books.
Jim Munro - indie novelist, filmmaker, games author. His website features lots of DIY advice for independent creative types.
Chad Muller is another independent novelist and micropress publisher. His site features nice tutorials on his book production process, as well as samples of his excellent fiction.
A DIY publishing house – and milliner!
Flickr images available for use under a Creative Commons licence
An online community for writers and artists.
Sells a great range of bookbinding supplies in the UK. Dangerous!
Another source of bookbinding materials in the UK.
My favourite shop in Toronto — always gets a bite out of my wallet whenever I'm in TO.
A nice, clear tutorial on hardcover binding.
Collections of reproduction vintage papers - nice for decorating books.
MAKE magazine's papercraft projects.
Powerful but complicated PDF software for the Mac that can 'impose' your pages, or rearrange them for printing into books.
Simple and free Mac imposition software.
Splits the difference between the previous two applications, being much simpler than PDF Clerk yet more configuable than CocoaBooklet.
Page imposition software for Windows (a Mac client is available, but I didn't have much luck with it).
Here's where I get the "pulp novel" style paper I use for my books. And it's eco-friendly, 100% recycled from paper that was otherwise destined for landfill.
Have a suggestion for a link? Leave it here!
Success
Your new comment system was successfully installed. It is now ready to be used. You will not see this message again.
"; $ydss_dateformat = 'F j, Y g:i a'; if(!$ydss_dateformat) { $stacks_in_564_page5['dateformat'] = 'r' ; } else { $stacks_in_564_page5['dateformat'] = $ydss_dateformat ; } // supress Notice errors if (!isset($_POST['save'])) {$_POST['save'] = "undefined"; } if (!isset($_POST['submitedit'])) {$_POST['submitedit'] = "undefined"; } if (!isset($_POST['editcomments'])) {$_POST['editcomments'] = "undefined"; } $errors = array(); //=============================================================// // ! CREATE DATAFOLDER ( IF NOT PRESENT ) //=============================================================// if(!file_exists($stacks_in_564_page5['assetpath'].'/'.$stacks_in_564_page5['datafolder'])){ setupCommentsDataFolder($stacks_in_564_page5); // see if things worked out... if( file_exists($stacks_in_564_page5['assetpath'].'/'.$stacks_in_564_page5['datafolder']) && file_exists($stacks_in_564_page5['assetpath'].'/'.$stacks_in_564_page5['datafolder'].'/'.$stacks_in_564_page5['datafile'].'.xml') ){ $stacks_in_564_page5['output'] .= $stacks_in_564_page5['setupsuccess']; }else{ $stacks_in_564_page5['errors'][] = 'Creating data folder failed miserably.'; } } //=============================================================// // ! EDIT XML? //=============================================================// if($_POST['submitedit'] == 'go' && $_POST['stackid'] == 'stacks_in_564_page5') { if( $_POST['ydss_edit_user'] == $stacks_in_564_page5['edituser'] && $_POST['ydss_edit_pass'] == $stacks_in_564_page5['editpass'] ){ editXMLDatabase($stacks_in_564_page5, $_POST['entries']); echo ""; }else{ $stacks_in_564_page5['errors'][] = " Edit Failed, Incorrect Login."; } } //=============================================================// // ! SAVING COMMENT? //=============================================================// if($_POST['save'] == 'true' && $_POST['stackid'] == 'stacks_in_564_page5'){ if(isset($_POST['ydss_comment']) && !empty($_POST['ydss_comment'])){ saveCommentToXML($stacks_in_564_page5, $_POST['ydss_name'], $_POST['ydss_comment']); echo ""; } else { $stacks_in_564_page5['errors'][] = 'Error occurred when saving comment.'; } } // if errors display if(count($stacks_in_564_page5['errors'])>0){ $stacks_in_564_page5['output'] .= '
'; $stacks_in_564_page5['output'] .= 'The following error(s) occurred...'; $stacks_in_564_page5['output'] .= '
    '; foreach($stacks_in_564_page5['errors'] as $k=>$v){ $stacks_in_564_page5['output'] .= '
  • '.$v.'
  • '; } $stacks_in_564_page5['output'] .= '
'; } // show comments $stacks_in_564_page5['output'] .= showComments($stacks_in_564_page5, $_POST['editcomments']); if($_POST['editcomments'] != 'go' ){ $stacks_in_564_page5['output'] .= '

'.$stacks_in_564_page5['addstring'].'

'; $stacks_in_564_page5['output'] .= '
'; $stacks_in_564_page5['output'] .= '
'; $stacks_in_564_page5['output'] .= ''; $stacks_in_564_page5['output'] .= '
'; $stacks_in_564_page5['output'] .= ''; $stacks_in_564_page5['output'] .= ''; $stacks_in_564_page5['output'] .= ''; $stacks_in_564_page5['output'] .= '
'; } else { $stacks_in_564_page5['output'] .= ' « Exit Edit Mode'; } ?>