OH the things you’ll find at the ZORM store…

I NEED HELP trying to figure out if this is a TRUE MEMORY or if it is some confabulation. I am having terrible trouble maintaining the seals on my dreams and I feel like the dreamworld is leaking out into the waking world. So…

I COULD SWEAR that I read about Britain having a space program in the around the end of the middle ages or at the start of the Renaissance. I’m thinking it may have involved Francis Bacon or John Dee. Although it is easy to assume such a thing about John Dee, right? I have distinct memories of pictures in the article of drawings from the time of a flying ship with which they intended to travel into orbit or the moon — having no concept of the fact that space would be not be full of breathable air, they figured all they had to solve was the problem of an airborne boat. So it was a purely theoretical on-paper space program, but it was, nonetheless, a government (royalty) funded space program, probably the earliest one in history. I would be extremely grateful if someone could verify this memory for me. I have had no luck at all on Google, so I am full of fear that I’ve invented it.

Other than that, as mentioned a few times, I have this blog-to-book thing almost done and have had a lot of fun parsing and solving all the CSS and layout issues. Data mining and data manipulation is my favorite kind of recreational programming. What I don’t enjoy is realizing there were a couple bugs in the routine that converted my IAM blog to WordPress causing about a dozen images to be destroyed. It’s also been fascinating re-reading (or at least re-skimming) my thoughts from a decade ago until now. Fascinating to see my thinking evolve and mature over that period. It’s very obvious how much my divorce and the loss of BME as well as my illness — arguably the two biggest traumas in my life — have “matured” my sense of self for the better. As a shy and private introverted person thrust into an influential public role, it’s amazing seeing how unsure of myself I was, although I did my best to put up a much more resolute public face. But I think it all fit together just right, a perfect storm of person and circumstance, and I’m not sure that I’d tinker with it or give myself any advice if I had a time machine.

And now to take apart the couch to dig out all the little bottles of pain that I’ve let slip between the cushions so I can take a break from the joyful programming to do a little work on this plywood doodle.

One day I know we’ll meet again

As my most recent tattoo makes pretty obvious, I am so excited about the release of what may well become the definitive “Space Nazis” movie, IRON SKY. Production completed recently and it premieres in three days at the Berlin film festival — I’m jealous because my friend Saira just told me about another friend of hers that’s actually there. Theatrical release is at the start of April, but I have no idea what the Canadian schedule is. Here is the latest trailer, as well as a promo for the film festival. Both are highly enjoyable. And of course you can’t go wrong with Udo Kier als der Raumführer (oder der Mondführer?), to say nothing of a soundtrack by Laibach. Amazing how far the Energia guys have come from Star Wreck!

I do recommend you take the time to watch it fullscreen, at the best quality setting you can, and of course with the sound on.

I downloaded these (and other videos of theirs — there are lots of production diaries and so on, in part because this is partially a community-driven and financed film), which they make available in resolutions as high as 1080p (the movie was shot on the Red camera) using the incredibly easy and useful keephd, a simple website for simplifying the downloading of Youtube videos in various formats — the MP4 files play natively on my PS3 on our ancient 60″ TV (thankfully though it’s young enough to be the first generation of TV that was properly HD capable, so the image is very nice).

What I am not so excited about is losing another credit card to fraud. Apparently someone tried (unsuccessfully) to buy $308 dollars worth of jeans yesterday using a cloned card. No damage was done to my accounts, but now for the third time in as many months, I have to wait a week while they send me a replacement. I’m glad that their heuristics catch fraud so easily, but I’m not glad that their security is so troubled that it has to show its algorithmic worth so often! So another card is cut in half…

Speaking of technology failing me, I’ve also noticed that my phone seems to be disconnecting from the network for hours — as long as a day — at a time. I don’t know if it’s a network issue or if it’s more related to how many times I have dropped the phone. The latter is more likely. Other than that, I got back my first blog-to-book test print, and it looks amazing. I’ll post an entry just about that some time soon.

Old Thieves and Moon Nazis

I made the mistake of going for a walk on Friday down to the bookstore, which is only about three miles there and back. A month or two ago it would have been nothing to do that walk but it completely destroyed me, not just my legs but also my left arm because I was reading as I walked… It’s very disheartening how much worse my health has gotten even in the last month. I’m not talking about difficult to quantify things like pain or neurological damage, but strength and function issues that I can measure much more objectively. There is an awful lot more that I want to do, and I have a great deal of passion and curiosity about the future, but it feels harder and harder to even fight to make it to next week.

That said, I did find the strength to get tattooed yesterday, and Shane started filling in the background of my leg sleeve. In addition to mapping it out, yesterday he tattooed the castle, the moon, a bunch of UFOs, and assorted mountainous background. I’m thrilled with the effect it’s having, pulling everything together and making the lighting more dramatic. I apologize (to both readers and to Shane) for the blurry pictures but here is what was done. You can (and must) click to zoom in.

Anyway, speaking of the bookstore, I was thinking about one of my pet peeve annoyances, which is senior citizens who treat bookstores as a library and spend the entire day sitting there reading, rarely buying anything (and for context, there is an actual library two blocks away from this bookstore). If I was a bookstore owner I probably would get rid of all the chairs.

What I don’t understand is, under the modern model of “information is property”, how is this not theft? I mean, in a world where you can be sued for dramatic amounts of money for downloading and sharing music online, to say nothing of criminal charges, it seems to me that this falls into the same category. Not that I support prosecuting file-sharers, but I do find the old lumps that glare at me for browsing the shelves around their private libraries a lot more annoying than Kimble and Megaupload… Arrest them instead please. Better yet, don’t arrest anyone.

Now I think it’s time to go lie down and rest until Caitlin gets back from her weekend vacation…

My blog to book software

That stupid CBT talk-about-it pain group I got myself involved with in the hospital is a real downer. It’s really pretty negative for me, I don’t like having to think about pain all the time and I just dread the days I’m supposed to go, and have “skipped class” a couple of times because I just dread it so much. I just don’t think it’s healthy. Better to get on with what life you have left, at least if you’re like me and your pain isn’t psychiatric in nature. So I’ve been programming like nuts to try and keep my mind off unpleasant things. On that note…

There are a few commercial services out there that aim to print your blog for you into book form, but because my blog is so large and some of the formatting is problematic, none of them were able to do what I wanted. So, with the aid of Prince to do the final stage of printing (I can’t recommend this tool enough), plus a couple thousand lines of custom XML parsing code by yours truly, I have a tool that does a beautiful job of converting large blogs into book form, with complete formatting. It does the obvious stuff like turn links into footnotes, but it has some sneaky tricks up its sleeve as well like grabbing thumbnails for embedded videos and reformatting a variety of oldschool-HTML tables, which was important for me since a lot of my entries are old and imported from IAM when you had to do that sort of thing from time to time. Oh, and it has fancy comment inclusion ability as well but after a lot of waffling, I decided not to include comments in this printout.

Anyway, I’ll post more in a couple weeks when I get back the 2011 yearbook that I just ordered (about $60 for a hardcover 236 page letter-size full-color book seemed pretty reasonable), but until then let me really quickly post some screengrabs of the production PDF file:

My tool is WordPress specific, as it works with the XML export dumps, and for now, it’s pretty specific to my blog. Might be most helpful for me to share the custom CSS files I wrote, since they actually do a significant percentage of the work — much of the parsing and cleaning of entries could be done by hand on anything but the largest blogs (which unfortunately includes Zentastic, with thousands of entries). I’m happy to share it and/or the source code if someone wants it, but while it could be useful to others developing XML parsers, specifically for print conversion, I doubt it would be easy to make it work on any old blog.

[Comments are disabled on this post because there was something about it that was making it an over-the-top spam-magnet]

ZenCBR – Comic Book Archive Maintenance Utility

ZenCBR is a program that I wrote for maintaining large collections of comic books, with an eye to dealing with some of the issues that come from downloading them online. It’s main functions involve cleaning up the names of the files, finding doubles, making sure the file type is correct, removing references to scanning groups, and so on. It is not a viewer. It is a maintenance utility. I have tested it under 64-bit Windows 7 since that’s what I use, but it should run fine under any version of Windows from Windows 95 onward.

I’ve tested it extensively and it seems bug-free and stable, but please feel free to contact me with bug reports and feature requests. Contacting me via the forum of this post is my preference but you can email me as well if you want. The software has been updated since this entry was initially written so I apologize if screenshots or documentation is out of date. Here is the rough update history:

1.00 Initial Public release
1.01 Added training function to “Sort to Subs” function so that it learns possible names from your existing directory tree
1.02 Convert’s + to space when cleaning filenames, expanded URL encoding issues
1.03 Fixed major bug in renumbering function causing filenames including text like “this of that” to be trashed into “this of 0″ YIKES! Important upgrade!
1.04 Group detector now ignores numbers (which generally means dates)
1.05 Undo files now get written to zencbr-undo.bat (for clean, renumber, and groups)
1.05.1 Bugfix (undo file was only writing the header!), and a silly animation of the title text


**Installation and use**

DOWNLOAD: https://zentastic.me/blog/wp-content/uploads/2012/01/zencbr-1-051.rar
ARCHIVE AND EXE FILE SIZE: 53,991 bytes and 150,528 bytes (it's quite tiny!)
VERSION AND COMPILE TIME: 1.0.5.1 03/06/2012

To install the program, just download the zip file and uncompress it somewhere. It could be on your desktop, or “C:\zencbr\”, or anywhere else. It doesn’t really matter. The two text files should be placed in the same directory as the main executable, and when you run the program it will create one more file that it uses to remember your working directory between sessions.

ZenCBR is a command line tool that should in theory be run from the directory you’re processing comics in. That is, ZenCBR should be stored in its own directory (for example C:\ZenCBR\zencbr.exe) but when you run it, you should be in your comics directory. For example, you might change directory — “cd \comics\new” — and then run the program — “c:\zencbr\zencbr”. Alternately, if you’re not a command-line person, you can run the program simply by clicking its icon, and you can change the directory you’re working in by pressing “N” to navigate elsewhere. It will remember this for next time and start in that same directory.

Because it runs in text mode, it may seem threatening at first, but it’s really very very easy to use. The best way to teach yourself is to make a backup copy of some of your comic files and experiment on them to see how the program works. Once you’ve tried it a couple times it should be quite self explanatory. Feel free to ask questions here as well, or by email, although you’re more likely to get a quick answer here, and you can bet that if you are wondering it someone else is too.


**Commands**

Note that unless otherwise noted, all of these commands are executed on files in the current directory as well as all subdirectories in the current directory (and recursively inside them as well). So you can run this on your entire collection at once if you’d like. All the commands generate verbose output and tell you what they are doing, and ask for input when required, and terminate and explain why when they hit error conditions.

D – Find Doubles

You may find that you have multiple copies of comics. For example “comic 1.cbr” and “comic 01.cbr” and “comic 1 (scanned by joe).cbr” might all have the same content. This function attempts to find such doubles. When it finds a set of files that it thinks are duplicates it gives you a list of them, along with their filesize (perhaps you’d like to choose the higest quality version). You can either select the one to keep (the others are deleted) or skip and keep them all.

C – Clean Names

This function attempts to “pretty up” the names of files and directories. For starters, it converts all underscores to spaces. It also attempts to fix a wide range of minor typographical issues to improve readability, including removing double spaces and trailing spaces, hash characters, standardizing brackets and correcting their spacing, fixing lost apostrophes, and correcting spacing around “x of y” numerical phrases.

T – Fix CBR/Z type

A CBR type file is essentially just a standard archive (RAR, ZIP, etc.) that has been renamed to identify it as a comic book archive, which contains a bunch of image files (usually JPGs) of the individual pages of the comic book. The third letter in the extension specifies the type of archive used. For example, CBR means it’s actually a renamed RAR file, and CBZ means it’s actually a renamed ZIP file. There are other formats sometimes supported but they are extremely rare and are basically never used for distribution. That said, you would be amazed how many times I have seen a CBR file that is actually a ZIP, or a CBZ that is actually a RAR. Many viewer programs don’t care, but some will crash when faced with this or erroneously tell you that the file is corrupted. This command goes through your files and makes sure that the extension matches the actual archive file type. If it doesn’t, the file is renamed.

G – Remove groups

Often downloaded files will contain the name of the group that did the scanning. If you’re choosing to download files that have been scanned by others rather than repeating the work and scanning your own comics (since of course you would never download anything you don’t own), you will be left with files that say stuff like “(Minutemen-DCP)” at the end. This function removes the scanning group names. While ZenCBR does come with some training already done, you will need to train the program. When it comes across a term or name that it doesn’t know, it will ask you whether it is a group or if it should be ignored. If you tell it that it’s a group name, it will remove it, and will also remove it any time it sees it in the future. If you tell it to ignore it, it will leave it in place and do the same in the future. If you’re unsure, you can skip it “for today”, meaning that it will ignore it for the rest of this session, but if you run it again, you’ll be reasked. There is an option to run this command in “quick mode”, which skips all questions — if it doesn’t know a term, it just ignores it. Only known groups are processed. Be careful because there is no “undo” on this command. If you make a mistake, you can break out and edit the dictionary files. Their location is displayed when you start the program. They are plain text files that can be edited in notepad or similar programs.

Note: You can download a pre-trained file here based on a scan of files on the internet, use at your own risk: zencbr-training-1.rar (archive size is 15,810 bytes and should be uncompressed into the same directory as the application). This will save you some time, but you may want to train your own application.

R – Renumber

This command attempts to clean up the numbering schemes so they match. For example, if you have “comic issue 1.cbr” and “comic issue 02.cbr”, they may sort incorrectly because of the different number format. This program would rename the first file “comic issue 01.cbr” so they are consistent. The length of the number (with 0-padding) is determined by finding the longest one in use, and also by checking the “of #” phrase if there is one. For example “comic 3 of 100″ would be renamed “comic 003 of 100″ because ZenCBR knows that eventually it will need three digits. The “of” phrase however gets shortened so there is no 0-padding since it’s not needed there.

S – Sort to Subs

This special command, which not everyone will find use for, is the only one that is not recursive. This command is used when you have a large collection of files in a single directory that are of different series (ie. a bunch of Batman, some Superman, whatever). The program does its best to guess the name of the comic series, creates a directory, and moves all the relevant files into that new directory. Please note that it’s not perfect, so you will definitely need to go through and correct some of the directory names, but it will still save you lots of time.

Finally, to quit, just press either Q or escape from the main menu. You can also press CTRL+BREAK or close the window at any time.


**Open-Source**

This program was written in PowerBasic Console Compile Version 6.0 which you can purchase at PowerBasic.com and is highly recommended, as are their other compilers. You can download the source code and icon file at this link: https://zentastic.me/blog/wp-content/uploads/2012/01/zencbr-1-000-source.rar (archive size 20,679 bytes). That’s the source code for the first release. Here is an updated source code release for version 1.05: https://zentastic.me/blog/wp-content/uploads/2012/01/zencbr-1-051-source.rar (archive size 23,459 bytes).

Finally, please note that this is freeware by me, Shannon Larratt, and is provided with no warranty or guarantees of any kind. Use at your own risk.