tinyapps.org / blog

Concatenate multiple HTML files into a single EPUB file #

via Sigil:
  1. "File" > "Add" > "Existing Files..."
  2. select desired HTML files
  3. "File" > "Save As..." > set filename and destination for EPUB.
Since Kindle e-Readers inexplicably do not support EPUB, users can convert the generated EPUB file to MOBI with calibre:
  1. "Add books" > select desired EPUB file
  2. "Convert books" > Output format: "MOBI" > "OK"
  3. After conversion, right click title > "Open containing folder" > copy MOBI file to Kindle

UDPATE: Combine multiple HTML files into a single PRC ebook

/eink | Feb 26, 2015

Mount USB drives as read-only in Windows #

via a quick registry edit (no reboot required - tested in XP SP2, 7 SP1, and 8.1). Simply save the following text as an .reg file and double click to merge:
Windows Registry Editor Version 5.00

To restore mounting removable disks as read-write, just change "00000001" to "00000000", resave the file, and double click to merge. Not as sound as a hardware write blocker like the Forensic UltraDock, but might come in handy for less sensitive work.


/windows | Feb 17, 2015

Find out what software and services a website uses #

at BuiltWith.com. Testing this domain took less than a second, and the results were detailed and accurate.

/misc | Jan 14, 2015

Tiny freeware apps from Sector Seven #

Jonathan Gallant kindly informs us of Sector Seven's tiny freeware offerings:

/windows | Dec 23, 2014

SSL: Getting to A+ #

My apologies for the delay; the promised guide to migrating nginx from HTTP to HTTPS is finally live. Thanks to Iain Cheyne for his encouragement ;-)

/nix | Dec 23, 2014

Change to downloads directory #

For the past several years, the downloads directory has been fenced off via basic access authentication due to legitimate sysadmin tools like Atomic Web Server and X-Pass being flagged as malware (a quick scan of the downloads directory shows that the false positives have only increased in the interim).

Kristof kindly wrote in with a compelling argument for encrypting the archives instead:
archive.org cannot archive your great site this way. I think it is so much worth preserving.

I suggest use zip password instead. Imagine this:

as it is now:

* 20 years from now, in 2034, a user finds the archive of your site and finds a great tiny tool with open source, all backed up on your site!
* the tool has no homepage as of 2014 anymore. your site is the only backup!
* web.archive.org cannot archive the page because of the http auth. the backup is NOT archived
* the user in 2034 is sad because this gem of history is lost

if you switch to a zip-password way:

* in 2014 user finds the archive of tinyapps.org at web.archive.org
* the tool has no homepage archived. it was down in 2005.
* (the archive of) your site has the only backup
* the user downloads the zip. archive.org could archive it automatically
* the user cannot open the zip because it is password protected
* the user finds the archived faq of your site, obtains the password
* the user in 2034 can still reach the glow of the great tiny tool!

TinyApps.Org is of such great value that I think it should really be preserved to further generations. For many tools this site is the only source now, because the original is already lost.

Best regards,
Kristof (Nacsa)
Convinced by this sound logic (and being rather weak on the side of flattery), basic access authentication has been removed from the downloads directory and all files therein have been encrypted and compressed using the 7z format; the password can be found in the FAQ. So long as this method is equally effective at keeping misguided virus scanners at bay, it seems to strike a better balance between access and appeasement.

(For the few who might be interested in how the change was made:
  1. Used the aforementioned PeaZip to batch convert and encrypt all existing files in /downloads
  2. Used the following regex to find all instances of href="/downloads/.exentsion"> and replace extension with 7z:
    Search: (href="/downloads/.*?)\..*?">
    Replace: \1.7z">
  3. Uploaded archives and HTML to server
  4. Disabled ngx_http_auth_basic_module in nginx.conf and reloaded (nginx -s reload))

/misc | Nov 29, 2014

Move from HTTP to HTTPS #

Finally migrated the site from HTTP to HTTPS. At the moment, HTTP requests are being redirected to HTTPS to avoid the duplicate content problem. However, since this breaks compatibility with older browsers (e.g., IE6/XP and Blazer/Palm OS) and moderately impacts performance, I may be forced to enable both HTTP and HTTPS, working around the duplicate content issue with canonical links or something. In the meantime, please let me know (miles at tinyapps dot org) if you run into any trouble as a result of the migration.

More to follow later this week, including a walk-through of the SSL setup process and an end to the password-protected downloads directory. (On a related note, the RSS 2.0 feed has been renamed and redirected from index.rss20 to index.rss - please pardon the slight (=~ 3 year) wait Seth!)

/misc | Nov 23, 2014

OS X: disable sleep from the Terminal #

Especially handy when booted from an OS X install disc and running lengthy terminal commands like diskutil zeroDisk /dev/rdiskx:
$ caffeinate
That's it! Introduced in OS X 10.8, caffeinate can also timeout after x seconds with the -t switch, or stay active only for the duration of a given command (e.g., $ caffeinate diskutil zeroDisk /dev/rdiskx).

(Thanks to patrix for digging this up)

/mac | Nov 22, 2014

Losslessly split MP3, OGG, and FLAC files #

"Mp3Splt-project is a utility to split MP3, Ogg Vorbis and native FLAC files without decoding. If you want to split an album, you can select split points and filenames manually or you can get them automatically from CDDB (via the Internet or a local file) or from .cue files." Open source software with binaries available for *nix, OS X, Windows, and BeOS (yay!) among others.

(via Kristof - thank you!)

/misc | Nov 22, 2014

Batch encrypt existing ZIP files #

zipcloak encrypts all unencrypted entries in a ZIP file, but it does not support wildcards in filenames (e.g., *.zip) for batch processing, nor does it allow passing the password in an argument; one must enter and reenter the password manually:
C:\>zipcloak.exe foo.zip
Enter password:
Verify password:
encrypting: baz.txt
encrypting: bar.txt
or jury-rig something like expect.

Happily, T. Furukawa crafted a patch for zipcloak that adds a password option, so batch processing is much easier:
C:\>for %f in (*.zip) do zipcloak -p password %f
Download the patch and/or binary from the above link or this local cache.

Batch password-protecting existing ZIP files can also be done with WinRAR (Select ZIP files > Tools > Convert archives > Compression... > Set password...) or PeaZip (Select ZIP files > Convert > Enter password / keyfile (optionally set algorithm to ZipCrypto under the Advanced tab for compatibility with Windows' built-in ZIP handling)). Note that filenames within ZIP archives are not encrypted; see Filenames display without entering the password when an encrypted Zip file is opened for more information and a workaround. Further note that the encryption algorithm used by zipcloak and ZipCrypto is very weak.

/windows | Nov 22, 2014

Subscribe or visit the archives