Discovering the Right e-Book Format

As I start to get more involved in planning my first self-published e-book, I’ve been looking into the requirements for putting such a document together. When you write for a living, you get used to having a whole plethora of skilled individuals to help you put a nicely rendered document together. There are a number of editors to help, along with the production staff that takes the document from ethereal bits to actual paper. So, the thought of doing everything myself is a bit daunting because I really want the final product to look great.

There are several considerations and reading about self-publishing online usually fails to break these elements into manageable pieces. The first piece is the document itself. I’ve read a number of sources that suggest using HTML or a direct output format, such as EPUB. However, I’m starting to believe that while they leads will work, they aren’t necessarily optimal if you want to publish your work through a number of online vendors. The advice offered in Clearing Up Confusion About Self-Publishing seems to ring true-using the .doc format will work best. Actually, the article mentions both .doc and .docx formats, but I have good reasons to use .doc:

  • The format is used more often by third party products.
  • It’s easy to scan a file in .doc format using a utility such as FindStr.
  • There seem to be fewer glitches with the .doc format.
  • I have more templates that work well with the .doc format.

Of course, you can just as easily use the .docx format if that format appeals to you. The choice is one of personal taste in this case, but choosing one of the two seems to be best because it’s accepted by three major online vendors.

Another consideration is the actual content and formatting of the document. I have years of experience with the content part of the question and have a good idea about formatting. However, self-publishing and going exclusively after the e-book market puts a few twists into the picture. After reading a lot of documentation online about the issue of formatting, I found a lot of good material in Creating an e-book: Tips on formatting and converting your document. Although all five pages of this article are good, the best formatting information begins on page 4. However, what a lot of these articles fail to mention are the obvious sorts of things that some people fail to do:

  • Create a comprehensive outline for your book.
  • Actually stick to the outline as you write.
  • Format the outline when you put it together so that you can use the same formatting in the book.
  • Ensure you collect the resources needed to make your outline work and note them in the outline.

If you’re seeing a pattern here, it’s that outlines are important. The better you define the outline, the better the book will come out. Part of formatting your e-book is creating a good outline and then sticking with it.

After you decide on a document format, the formatting of the book content, and the content itself, you need to consider one other element-presenting your book to others. Of course, the presentation starts with a great cover. Most of the material I find online for creating covers is negative. For example, avoiding the use of book services. I’m used to thinking about how to market my books because it’s part of what the publisher asks me to provide, but I’m also having to start to think about the cover in more ways than simply the content the cover provides. Actually, it’s a creative process that I plan to enjoy.

I know that e-books aren’t for everyone and as a result you may be limiting your target audience, as many people either don’t have access to a computer/laptop/tablet or wouldn’t enjoy reading a book on one of those devices. However, you could always go online and have your ebook printed out as a physical book which you could then sell/give to those who want it but couldn’t access it as an e-book.

I’ll keep you updated as I work through these first several self-published book projects. However, for now, I’ve been putting some content together and thinking a lot about what I need to do to get the book out there and make it sell. Let me know your thoughts on self-publishing at [email protected].

 

Update on Subscribing to Blog

Blog and other types of online subscriptions depend on something like RSS or Atom to tell an application, usually a browser or e-mail reader, where to find the information. My Blog supports RSS. The RSS feeds are simply a kind of document that describes content. OK, yes, they’re a little more complicated than that, but really, when you click a link for an RSS feed, you’re requesting a special kind of a document. What happens next depends on your browser and how its configured.

It’s the what happens next part that is confusing some people. My browser has a plug-in installed for Outlook. Whenever I click on an RSS link in my browser, the plug-in redirects the request to Outlook. A copy of Outlook opens (even if Outlook is already active) and the blog subscription information appears in Outlook. I actually see a little dialog box like the one shown here:

A dialog box showing how an RSS subscription looks in Outlook.
A Subscription Dialog in Outlook

All you do to create the subscription is click Yes. Of course, you might be using another e-mail application. Whether you can even subscribe to RSS feeds depends on the capabilities of your e-mail reader. However, even if your e-mail reader can handle RSS feeds, your browser needs to know about it before the e-mail reader will be activated in response to an RSS feed click. In some cases, the two applications simply aren’t talking to each other. Unfortunately, because there are so many conditions and so many software packages, there really isn’t any way I can tell you how to create a connection when there isn’t one. You need to talk with someone who can actually look at your machine.

You can still use your browser to review the feeds. Only one of my browsers (I have three installed) has a plug-in for Outlook installed. So, when I click on the Entries RSS link (see Subscribing to My New WordPress Blog (Reposted) for details) in Internet Explorer, I don’t see a copy of Outlook open. Instead, I see the following page describing the feed.

The Internet Explorer window containing the RSS feed for this site.
An RSS feed page in Internet Explorer.

The page contains a listing of all the current posts. Notice the yellow box. At the bottom of this box you see a Subscribe to this feed link. Click this link and you get a subscription to the feed in your browser, not in your e-mail reader. This means that you need to open your browser, rather than your e-mail reader, to see the latest posts, which is admittedly inconvenient. Even so, you can get a quick listing of the posts for all of your favorites sites using this approach.

I wish that there was an easy fix for this problem, but the fact is that if you’re seeing the browser, rather than your e-mail reader, when you try to subscribe to the blog, the problem is one of connectivity. All that I can provide is the document containing the description of the posts and where to find them. Please let me know if you have any additional questions about subscribing at [email protected].

 

3D Printed Buildings

Like most new technologies, 3D printing is going to go through stages where people scratch their heads and wonder whether the technology will really work for some purpose. Previous blog posts have covered a number of interesting uses for 3D printing. The story really began to take shape in Potential Commercial Uses for 3D Printing. Most of the uses in that post were a bit on the mundane side, but I really thought the use of 3D printing for horseshoes was one of those uses that would make people think. The point is, 3D printing is being used for an odd assortment of tasks at the moment and printing buildings seems to be just one more in a long series of what could be interesting uses.

The ComputerWorld article makes it plain that the technology is being used for this purpose in China. I’m almost certain that the building wouldn’t pass muster in this country (then again, I could be wrong and I’d love to hear from anyone who has an opinion on the matter). Attempts to research the article further haven’t produced much, so it looks like someone wrote it up as a special interest story and that’s the end of that. The point is that these ten buildings went up in just one day and used materials recycled from other buildings. The whole story reminds me of the scene in I Robot where a robot comes and tears down a building, presumably so that another could be put in its place. At some point, 3D printing of this sort could make it possible for robots to demolish and build custom abodes for anyone who needs one in a fraction of the time and cost that buildings require today.

Where do you think that 3D printing will go in the future? Is it possible that the Star Trek version of the future will really take shape in the form of 3D printing. Of course, in Star Trek the replicator was simply another type of transporter, but 3D printing seems like a more concrete manifestation of the technology to me. Let me know your thoughts at [email protected].

 

Subscribing to My New WordPress Blog (Reposted)

A number of people have reported that they’re no longer getting their feeds from the blog. So, I’ve reposted these instruction from June 27th to help out. Please feel free to contact me if you have any questions. I want to be sure everyone who wants access, has access.

During the moving process from my previous blog software to WordPress, I lost all of the comments that people had offered in the past, along with all of the blog subscriptions. What this means is that anyone who subscribed earlier is no longer receiving the posts automatically to their inbox. Unfortunately, I can’t perform the task of recreating those subscriptions—you have to be the one to do it. With this in mind, follow these simple steps.

  1. Locate the Meta heading on the blog page.
  2. Click Entries RSS. You should see the RSS feature of your e-mail reader open. As an alternative, you could see a feed summary in your browser. In either case, you should see something new that tells you about the subscription process.
  3. Subscribe to the blog using your feed software. When working with an e-mail reader, this usually means answering Yes to a dialog box that opens asking whether you want to subscribe to the feed. When working with a browser, it usually means clicking a Subscribe to this Feed button. In both cases, the application creates a new entry for this site that will automatically update as I add content, so you receive the feeds automatically.

I don’t have access to every kind of application software out there, but I may be able to answer some specific questions about subscribing to the blog. Please let me know about any questions you have at [email protected]. It’s really important to me that you have a great experience with my blog, so never be shy about asking questions :).

 

Writing Letters

It seems outdated, old fashioned, archaic, and all the other superlatives you can attach to it—writing letters, by hand, and then mailing them sees like something that no one does anymore. Contrary to common belief, letter writing isn’t completely dead in this electronic world of instant communication using text messages. I’ve been writing regularly to five people. Yes, I actually get out writing materials, write the letter by hand, and then put it in the mail. Of course, the question is why I’d do something so insane in this modern world. People I tell about my letter writing ask what I might possibly hope to achieve by doing so. In fact, some might even doubt my sanity.

There is something to be said for taking time to properly compose a letter. The physical effort required to write one, tends to make the value of each word more. A well-written letter is a joy to send and receive. Taking the time to pick and choose each word, to consider what really is necessary to say, makes a written letter different from e-mail or a text message. As the value of each word drops, so does the quality of the content. It’s something that has struck a chord in me as I’ve read the written missives and compared them to some of the e-mails I receive. Not every written letter is a good one and not every e-mail is poorly written, but generally, the written letters contain carefully selected, well-written material.

However, quality of content aside, there is something special about receiving a letter in the mail. There is the anticipation of sending one and the anticipation of receiving a response. Each trip to the mailbox is no longer a boring collection of bills and junk, but a contemplation of something that is truly wanted. It adds excitement to my day. As I’m getting older, I find that instant gratification lacks excitement, anticipation, and pizzazz. In order to be worthwhile, anticipation needs time to grow and mature. Hand written letters bring something back that has been lost, a kind of hope that is missing from modern society.

Even more important, a written letter stimulates the senses in ways that an e-mail can’t. I opened a box of letters the other day from my wife. She wrote them while I was in the service and I could still smell her perfume on some of them. You can’t perfume an e-mail. Her fine writing reminded me of her unique way of approaching life—the letters were both dainty and artistic. They had a flow that reflected her way of viewing life. E-mail lacks any of that sort of feel. The paper itself varied from letter-to-letter. Some of it was quite fancy; other pieces contained interesting pictures. However, each letter was unique in its own way, making the experience of reading it unique as well. All these ways of transmitting information are lost in the instant gratification of e-mail and many younger people will never experience the joy of opening a mailbox and finding a letter, a unique transmission of thought from one person to another.

One of the main arguments I hear against writing letters is the cost of doing so. After all, postage is incredibly high. I started thinking about that the other day and it doesn’t wash. Consider the cost of your Internet connection. Even an inexpensive plan would pay for quite a number of letters each month. Given the plan I have (a low cost 1 Mb/s DSL connection), I could write 40 letters every month and still not exceed what I’m paying for Internet. Actually, the mail service is still a bargain when you think about it.

This morning I also listened to a radio program that talked about the importance of the hand written letter in understanding the past. Some historians spend considerable time reading letters and drawing information out of them that probably isn’t available in an e-mail. Of course, most people erase their e-mails soon after they’re received, so there won’t be much in the way of historical data for historians in the future to use. E-mail tends to be temporary—letters can last for hundreds of years (and many do).

Of course, social media, texting, e-mails, and the Internet all have a purpose to fulfill. There are times when quick communication with a large number of people really is necessary. However, there is still a place for the more personal communication provided by hand written letters. Take time to write a letter to someone you care about today. Let me know your thoughts about hand written letters at [email protected].

 

Dealing with a Rainy Summer

It has been a rainy summer so far in Wisconsin. Thank goodness it hasn’t been the kind that sees lots of flooding, as we had in 2008 when the entire town flooded out and I was locked in the house for days at a time. No, this has been a lighter, steady sort of rainy summer. It has rained often enough that the young lad mowing my lawn has had to work hard just to find days to do it and sometimes needs to come back another day because it starts raining right in the middle of cutting the grass. However, the things that tell you most that this has been a really rainy summer are the mushrooms and the mosquitoes.

The mushrooms are interesting because they’re growing all over the place and are of such diversity that they’re simply fun to look at. I’ll often wander around in the early morning hours looking at mushrooms before the dogs get out there and rip them up (yes, Reese and Shelby can get quite frisky during their morning game of Frisbee). If I knew a bit more about mushrooms, this would be a year to stock the freezer. As it is, I’m only positive enough about button, morel, and puffball mushrooms to pick them for eating (and even then I’m extremely careful).

The mosquitoes are a bit more of a problem. There have been notices on the radio that many of them carry West Nile Virus, a disease I’d prefer not to get. So, I’ve stocked up on the usual remedies and make sure I spray myself before I go out to work in the flower beds or gardens. A friend of mine did tell me that he’d recently contacted his local lawn care company (https://www.lawncare.net/service-areas/texas/) to come and spray a repellent on his lawn, meaning that his garden should now be free from mosquitoes. It also lowers his chances of catching that disease in his garden. Perhaps I’ll see if my usual remedies work in the garden, and then I can just contact a professional to remove the mosquitoes from my garden if they don’t work. Just to be prepared though, I’ve also been reading articles such as, “10 Signs You May Have West Nile Virus” so that I know what to look for.

The rains have had some interesting effects (other than the mushrooms) in my salad garden. The cherry tomatoes are already to the top of their cages and they’re producing blooms like crazy. At some point I’m going to be eating cherry tomatoes a bit more often than I might like. My plan is to collect enough up that I can dry them for later use. Dehydration is always a good way to preserve food for later use. Likewise, my green peppers are getting quite large. In fact, I picked my first green pepper (a tad small) the other day. The extra rain hasn’t seemed to affect the taste or quality of the peppers so far.

What I do worry about is my herbs. So far they’re growing like crazy, but I’m concerned that they won’t dry well and that they’ll lack some of the oils that they normally do. I tried some lime mint in tea the other day and it seemed a bit weak. The rest of the summer will determine just how the herbs do. I know they’ll definitely be usable, but it may require more of them to get the same effects as normal. Fortunately, none of the herbs seems to be rotting or having other problems so far.

Did I mention that the weeds absolutely love the rain too? It seems as if I can’t pick them fast enough and the nearly constant rain causes them to grow quite large, quite fast. Fortunately, I’ve been able to keep up well with everything except my personal garden, which is a little weedier than I’d like at the moment. Let me know your thoughts about rainy summers at [email protected].

 

Python as a Learning Tool

Python is a great tool for learning how to code because it provides a robust programming environment that lends itself to accomplishing a lot of work using little code. However, Python does all this without using an obscure programming environment with arcane rule—it really is a straightforward programming tool. In addition, the use of an interpreter means that those who are new to coding can experiment and learn coding in an environment that provides immediate feedback. That’s the reason I’m so excited to have just completed the writing of Beginning Programming with Python For Dummies. I’ve been able to provide you with an amazing assortment of programming techniques in an easy to use format. You can read about the contents in my Beta Readers Needed for Beginning Programming with Python For Dummies post.

It appears that the universities in America agree that Python is the best language for learning purposes. A recent InfoWorld article entitled, “Python bumps off Java as top learning language” tells precisely why this language has become so popular. According to the article, eight of the top ten computer science departments now use Python as their training language of choice (along with a host of colleges and other schools). The fact is that everyone is beginning to realize that Python is the best language to learn coding techniques.

Of course, just learning how to code really isn’t enough. You really need to learn a language that will provide you with an income later. That’s where you might think Python falls down on the job and you’d be wrong. Python is used by a number of large organizations as their language of choice. In fact, Chapter 18 of my book tells you precisely where you can get an interesting job just by knowing Python. You should also check out Python Success Stories to see an amazing assortment of projects from large companies that rely on Python because of the special features it provides.

Is Python the right language for every need? No, it isn’t and my book also provides you with that sort of information. A lot of people get so excited about something new that they fail to look for the potential potholes. I’ve always felt that it’s my responsibility as an author to present both sides of a story and that’s just what I do in my book. You discover the pros and the cons of working with Python. You’ll find out that Python does have a distinct place in your programmer toolkit.

If I’ve gotten you just as excited about Python as I am, please be sure to contact me about my upcoming book at [email protected]. I’ll be more than happy to answer any questions about my upcoming book and how it can help you learn this exciting language quickly.

 

WebM Replacing the Animated GIF?

There is always some new technology out there trying to replace the reigning king (or queen). The Graphic Interchange Format (GIF) has a colorful history, but is mainly used today for animated GIFs—those short sequences of animation that you see spread throughout the Internet (and many intranets as well). In fact, you can find animated GIF generators, free animated GIF libraries, and tools for working with animated GIFs by the score. It’s hard to believe that anyone has found uses for even a small portion of the resources out there.

Web Media (WebM) is a technology that is designed to work like an animated GIF, but provide significantly more functionality. It’s an open source project that will supposedly replace the aging animated GIF at some point. A recent articled entitled, “GIF is Dead; Long Live WebM” explains the technical details of why this file format is so superior and why developers desperately need to embrace it. (Read “What Is WebM, and Can It Dethrone the GIF?” if you want a simpler explanation.) After reviewing everything I can online, I have to agree that WebM does, in fact, have a lot to offer. Most importantly, it can support longer animation sequences. The additional colors it supports are nice to have, but it’s the long animation sequences that will ultimately sell this technology to those who need it.

Unfortunately, WebM also has a lot of hype surrounding it. Advocates would have you believe that wholesale replacement of animated GIFs is imminent. The animated GIF won’t be going anywhere anytime soon. In fact, here are some reasons that animated GIFs will stick around for at least next several years:

  • Not every browser supports WebM natively. Only newer versions of Mozilla Firefox, Opera, and Google Chrome support it. Even though Chrome is currently the most used browser out there, it doesn’t quite have enough market share to fully control the market (not that market share alone is a good reason to adopt any technology).
  • There is a huge base of site that already use animated GIFs to good effect and it’s doubtful that the developers of those sites will make a change without a really good reason for doing so.
  • Animated GIFs enjoy a huge support base in free predefined graphics, free tools, and free support. There isn’t a strong monetary need for a new technology.
  • WebM is viewed as more complicated to embed in a Web page.
  • The tools for working with WebM aren’t nearly as easy to use as those that developers can use with animated GIFs.

The question of whether WebM will eventually replace the animated GIF isn’t answerable at this point. The technology is too new, not enough browsers support it, and the tools required to work with it still need a lot of polishing. Until WebM builds enough of a presence online and a backlog of free graphics for developers to use, you can be sure that developers will stick with what they know.

Upgrades really are nice. New technology can provide developers with useful advantages over what has come before. However, without a compelling reason to use WebM, you can be sure adoption will be slow. Without major improvements in support and reduction in complexity, developers will be reticent to make the move and WebM could end up being just one more good idea that didn’t quite make it. Tell me your thoughts about WebM at [email protected].

 

Review of Essential Algorithms

Working in computer science means knowing how to work with computer languages, but it also means knowing how to use math to obtain the results you want. Some math is relatively straightforward, but some becomes so complicated that you really do need some type of process or procedure for working with it. Essential Algorithms by Rod Stephens, “defines steps for performing a task in a certain way.” The first chapter begins by defining what an algorithm is and moves on from there to show you how they can help improve your ability to write complex applications.

The examples are written in a pseudocode that the author explains in Chapter 1. In fact, the explanation is accompanied by some examples of how to turn the pseudocode into an actual programming language. I’m almost positive some readers will take exception to the use of pseudocode because it doesn’t relate the example in their specific programming language, which would make implementation of the code as easy as possible for the reader. In this case, the use of pseudocode is impossible to avoid because the book would be far less useful without it.

This text could easily be used in a college. Each chapter ends with exercises that help the reader understand the concepts better (or at least determine whether any of the material actually sunk in). The answers to the examples appear in an appendix at the end of the book. However, in a college setting it might be possible to create a student version of the book without the appendix and a teacher version that includes the answers. The author also uses many of the same examples that I used when I was a student in college, but with an emphasis on diagrams to pictorially show how the examples work. The addition of graphics makes the examples considerably easier to understand.

The early chapters discuss specific kinds of algorithms that are used in every programming language that exists. For example, the author tackles the topic of randomizing data and ensuring that the randomizing process is fair. Of course, getting truly random data on a computer is impossible, but it’s possible to create random sequences of such complexity that the average human would never notice they aren’t random. This book discusses the topic at a length that I wish the text I had used in college would have provided.

Don’t get the idea that Essential Algorithms is light on the computer science aspects of using algorithms. For example, you’ll find coverage of all the basic structures used by most languages: linked lists, arrays, stacks, and queues. I could have wished for coverage of dequeues because many languages modify dequeues to create stacks and queues. Understanding how this essential structure works would have been great.

There are separate chapters for sorting and searching. These two tasks are performed so often by applications that an in depth knowledge really is a necessity for any computer scientist. All the common sorts are covered in sufficient detail that the reader should understand them with relative ease: insertion, selection, bubble, heap, quick, and merge. In addition, you find the counting and bucket sorts (two types of sorts that are completely missing my my college text—I took the time to check). The list of searches are likewise complete: linear, binary, and interpolation.

The opening chapters are finished with chapters on hash tables and recursion. I thought the chapter on hash tables was a bit light and their use as dictionaries in languages such as Python is only mentioned in passing. The chapter on recursion was far better done. I found the material on the various kinds of curves: Koch, Hilbert, and Sierpinski, exceptional.

The middle of the book (starting with Chapter 10) is taken up with trees, networks, and strings. There should be enough material here for anyone who really wants to learn the information. The author seems to hit his stride in these chapters—they’re both interesting and well written.

The end of the book starts with cryptography in Chapter 16. It’s the part of the book that just about anyone will find helpful and it’s also the part that separates this book from being a mere college text and more of a reference book. The chapter on complexity theory is exceptionally nice. Even if you’re already an expert in other areas of this book, it’s likely that you’ll find some new ideas in this part of the book—enough ideas to make it well worth the purchase price.

Overall, Essential Algorithms is the text I wish I had when studying the topic in college and it’ll make a fine addition to my bookshelf. I’ll likely use it as a reference book when trying to understand how various programming languages are implementing a practical need, such as determining how to work with structures such as stacks. I don’t delve deeply into security issues very often, but I’m sure that material will see use as well. There are some holes in the book, but I wouldn’t consider them deal killers and could provide great fodder for the author in the form of articles and blog posts. This is a great book and one that you need on your shelf.

 

Broken Blog Links

A number of readers have made me aware of a new (and not so exciting) problem with the blog move. It turns out that a lot of the links for other locations on my blog are broken. In fact, it appears most (or possibly all) of them are.

During the move, the software inadvertently added another blog to the beginning of the domain for the link and it also added a .aspx extension to the end of the link. So, instead of creating a link for http://blog.johnmuellerbooks.com/2014/05/16/death-of-windows-xp-part-3/, you get a link for http://blog.blog.johnmuellerbooks.com/2014/05/16/death-of-windows-xp-part-3.aspx instead. The temporary solution is to remove the extra blog. from the beginning of the link and the .aspx (including the periods) at the end of the link by editing the Address field of your browser.

Yes, I understand that it’s a pain and you shouldn’t have to do it. Please accept my apologies for the inconvenience. New posts most definitely won’t have the problem, but I’ll have to work my way back through older posts to fix them. Just why the software designed to automate the process of moving the blog made this error is beyond me. It’s an example of helpful software that turned out to be not quite so helpful as it should have been.

I’ll work on fixing the links as time permits. This move was inconvenient for everyone and it appears that it isn’t quite over yet. I’m asking you to be patient for the time being. If you see a link that still doesn’t work after applying the fix mentioned in this blog post, please let me know at [email protected]. I really do want all of the links to work so you can access information as needed 😎 .