Tag: Linux

How I Created and Self-Published My eBook

I wrote Old Tom and the Old Tome in Scrivener. I converted it to an EPUB with Sigil. I tested it using Calibre, FBReader, Nook, Kobo, and Google Play Books. Then I published it on Smashwords and Kindle Direct.

Why a short story?

This one is probably obvious, but just in case it isn't: I started with a short story because when you want to learn a new skill, you want to start small. I didn't want to write something novel-length and then run into a bunch of problems.

A short story's the perfect length to start with. Old Tom and the Old Tome clocks in around 3,000 words, split up into 4 separate sections (cover, copyright, story, About the Author). It has a great structure for learning the ropes.

Of course, you don't have to go the fiction route. In fact, it occurs to me that this blog post would actually convert quite nicely into a short eBook. Hm, food for thought.

Scrivener

I checked out Scrivener because Charles Stross swears by it. It's basically an IDE for writing books; it's quite simply the most advanced and mature piece of software there is for the purpose.

There's a Linux version, but it's abandonware. For a GNU/Linux user such as myself, this is something of a double-edged sword: on the plus side, I get Scrivener for free, where Mac and Windows users have to pay $40 for it; on the minus side, if a system upgrade ever causes it to stop working, I'm SOL. If Scrivener stops working on my system, there's not going to be a fix, I'll be locked into a platform I can no longer use. I could try and see if the Windows version will run under WINE, but there's no guarantee of that.

The good news is that Scrivener saves its files in standard formats, so if it ever stops working I'll still be able to access my content in other programs. The bad news is that it saves its individual files with names like 3.rtf and 3_synopsis.txt.

So Scrivener's pretty great, and I'll probably stick with it for a little while even though there are no more updates on the horizon for my OS -- but there's a definite downside to using the Linux version. (And if they decided the Linux version wasn't going to bring in enough profit to justify maintaining it, what happens if they decide the same thing for the Windows version someday, maybe leave it as a Mac-only product?)

Getting Started

Scrivener's got a great tutorial to run through its functionality; start there.

When you're done with the tutorial and ready to get to work on your book, I recommend using the Novel template, even if you're not writing a novel, because it automatically includes Front Matter and Back Matter sections; the Short Story template does not.

Scrivener's got your standard MS-word-style tools for formatting your work. I didn't use them. Since I was targeting a digital-only release and no print version, I wrote my story in Markdown, which converts trivially to HTML but isn't as verbose as HTML.

Output Formats

Since I went the Markdown route, I found that the best option for output at compile time was Plain Text (.txt). The most vexing thing I found about the output was the limited options under the "Text Separator" option -- the thing that goes between different sections. What I wanted was a linebreak, followed by ***, followed by another linebreak. Scrivener doesn't have any option for that -- your options are Single Return, Empty Line, Page Break, and Custom. Under Custom you can put ***, but there doesn't seem to be any way to put a linebreak on either side of it. So I found the best option was to just do that, and then manually edit the text file it put out and add a linebreak on either side of each one.

If you plan on making an EPUB file, you'll probably want to keep all the "smart quotes" and other symbols that Scrivener adds to your text file. However, if you want to distribute the Markdown file in plain text and want it to be readable in Chrome, you'll need to remove all the pretty-print characters, because Chrome won't render them correctly in a plain-text file (though it'll do it just fine in a properly-formatted HTML file). You'll also want to use the .txt extension rather than .md or .markdown if you want the file to display in Firefox (instead of prompting a download).

You've got different options for converting from Markdown to HTML. Pandoc is a versatile command-line tool for converting between all sorts of different formats, but I don't like the way it converts from Markdown to HTML; not enough linebreaks or tabs for my tastes. There are probably command-line flags to customize those output settings, but I didn't find them when I glanced through the man page.

I thought Scrivener's Multimarkdown to Web Page (.html) compile option worked pretty well, although the version I used (1.9 for Linux) has a bug that none of the checkboxes to remove fancy characters work correctly: you're getting smartquotes whether you want them or not. You also don't want to use *** as your section separator, because Scrivener reads it as an italicized asterisk (an asterisk in-between two other asterisks, get it?) instead of an HR. Similarly, it reads --- as an indicator that the previous line of text is an h2.

So your best bet for a section break is something like

</p><hr/><p>

or

<div class="break">*</div>

(Actually, you don't want to use HR's at all in an EPUB, for reasons I'll get to later, but if you want to distribute an HTML version of your book, it's fine to use them in that version.)

Sigil

Sigil is an excellent, very straightforward tool for editing the EPUB format. I recommend you grab the Sigil User Guide, go through the Tutorial section, and do what it tells you -- even the stuff that generates seemingly ugly code. For example, if you use Sigil's Add Cover tool, you wind up with code that looks like this:

<svg xmlns="http://www.w3.org/2000/svg" height="100%" preserveAspectRatio="xMidYMid meet" version="1.1" viewBox="0 0 900 1350" width="100%" xmlns:xlink="http://www.w3.org/1999/xlink">
  <image width="900" height="1350" xlink:href="../Images/cover.jpg"/>
</svg>

If you're like me, looking at that makes you wince. And your instinct will be to replace it with something simple, like this:

<img src="../Images/cover.jpg" alt="Cover" />

But don't do that. Removing the <svg> tag, or even removing those ugly-ass inline styling attributes, will prevent the cover from displaying correctly as a thumbnail in readers.

(If there is a way to clean up that ugly <svg> tag and still have the thumbnail display correctly, please let me know; I'd love to hear it.)

Now, Sigil is for the EPUB2 format. It doesn't support any of the newfangled fancy features of EPUB3, and neither do most readers at this point. You're going to want to keep your styles simple. In fact, here's the entire CSS file from Old Tom and the Old Tome:

img {
  max-width: 100%;
}

h1 {
  text-align: left;
  text-indent: 0;
  font-size: 200%;
}

.noindent {
  text-indent: 0;
}

.break {
  margin: 1em 0;
  text-align: center;
}

Oh, and that last class, .break? That's there because some readers ignore <hr/> tags. FBReader on Android, for example, will not display an HR. No matter how I tried formatting it, it wouldn't render. Not as a thin line, not even as a margin. If you use an <hr/> tag in your EPUB file, FBReader will act as if it isn't there.

So I wound up cribbing a style I saw in Tor's EPUB version of The Bloodline Feud by Charles Stross:

<div class="break">*</div>

where, as noted in the above CSS, the .break class centers the text and puts a 1em margin above and below it.

(Some readers won't respect even that sort of simple styling, either; Okular parses the margin above and below the * but ignores the text-align: center style. Keep this in mind when you're building an EPUB file: keep the styles simple, and remember that some readers will straight-up ignore them anyway.)

(Also: this should go without saying, but while it's okay to look through other eBooks for formatting suggestions and lifting a few lines' worth of obvious styling is no problem, you don't want to go and do anything foolish like grab an entire CSS file, unless it's from a source that explicitly allows it. Even then, it might not be a good idea; formatting that works in somebody else's book may not be a good idea in yours.)

Testing

Once my EPUB was done, I tested it in a number of different readers for a number of different platforms at a number of different resolutions. There are a lot of e-readers out there, and their standards compliance is inconsistent -- much moreso than the browser market, where there are essentially only three families of rendering engines.

If you're used to using an exhaustive, precise set of CSS resets for cross-browser consistency, you probably expect to use something similar for e-readers. Put that thought out of your head; you're not going to find them. The best you're going to get are a few loose guidelines.

Consistency across different e-readers just isn't attainable in the way that it is across different web browsers. Don't make that a goal, and don't expect it to happen. You're not looking for your eBook to display perfectly in every reader; you're just looking for it to be good enough in a few of the most-used readers.

For example, I found that the margins the Nook reader put around my story were fine on a tablet, but I thought they were too much on a phone. If I'd wanted, I could have futzed around with media queries and seen if that was possible to fix -- but I decided no, it was Good Enough; it wasn't worth the effort of trying to fix it just for that one use-case.

Smashwords

Smashwords has a useful FAQ on self-publishing, and also provides a free EPUB download called the Smashwords Style Guide.

If you already know HTML, here's what I can tell you about the Smashwords Style Guide: read the FAQ at the beginning, then skip to Step 21: Front Matter. Because it turns out that Steps 1-20 are about how to try and make Microsoft Word output clean HTML and CSS. If you already know how to write HTML and CSS yourself, there is of course absolutely no fucking reason why you would ever want to use Word to write your HTML and CSS for you.

It's probably a good idea to read the rest of the guide from Step 21 through the end, but most of it's pretty simple stuff. To tell the truth, there are exactly two modifications I made to the EPUB for the Smashwords edition: I added the phrase "Smashwords edition" to the copyright page, and I put ### at the end of the story (before the back matter). That's it.

For all the time the guide spends telling you how easy it is to fuck up and submit a file that will fail validation, I experienced none of that. My EPUB validated immediately, and it was approved for Smashwords Premium the next day (though Smashwords says it usually takes 1-2 weeks; the quick turnaround may have been a function of how short my short story is).

Description

Most of the forms you fill out on the Smashwords Publish page are well-documented and/or self-explanatory. The Long Description and Short Description fields are exceptions; it's probably not entirely clear, at a glance, where your listing will show the short description and where it will show the short one. So here's how they work:

On Smashwords, your book's listing shows the short description, followed by a link that says "More". When you click "More", the long description appears underneath the short description.

  • Smashwords default
  • Smashwords expanded
Smashwords

Kobo and iBooks don't appear to use the short description at all. Your book's listing will show the first few lines of your long description, followed by an arrow (on Kobo) or a "More..." link (on iBooks), which you can click to expand to show the entire description.

  • Kobo default
  • Kobo expanded
Kobo
  • iBooks default
  • iBooks expanded
iBooks
Aside: Why the fuck does it do this?
Look at all that whitespace. What's the point of hiding the text?

Inktera shows the long description, followed by an HR, followed by the short description.

Inktera

Inktera

And Scribd just shows the long description.

Scribd

Scribd

Lastly, Blio doesn't show either description of my book. Clearly this is a problem and I should probably talk to tech support about it.

As you might expect, the various different ways the different sites use the two descriptions create a bit of a conundrum: how can you write a short description that is the primary description on one site and a long description that is the primary description on four other sites, and write the two descriptions so that they don't look pointless and redundant when you put them side-by-side?

I haven't come up with a good solution for this in the case of Old Tom yet.

Amazon

It turns out the Amazon conversion is really easy. I just set up an account at kdp.amazon.com, filled out the forms, uploaded the cover and the EPUB file, and Amazon's automatic conversion software switched it over to Kindle format with no trouble at all. Amazon's even got a really nice online reader that lets you check how your file will look in the Kindle Reader on various devices (Kindle Fire HD, iPhone, iPad, Android phone, Android tablet, etc.).

I only hit one speed bump when I submitted to Amazon: after a few hours, I got an E-Mail back saying that the book was freely available online (because of course it is; I've posted it in multiple places, including this site). Amazon required me to go back through and reaffirm that I am the copyright holder of the book -- which meant just going through the exact same forms I'd already filled out and clicking the Submit button again. It was a little bit annoying, but not time-consuming and mostly painless, and the book appeared for download on Amazon shortly after.

And that's it.

The hardest part of self-publishing an eBook was finding the time, figuring out what resources to use, and learning the EPUB format. And now that I know what resources to use and understand the EPUB format, it doesn't take nearly as much time. For my next book, I'll be able to spend a lot more time writing and a lot less time formatting. Hopefully this blog post has helped you so that you can do the same.

Ubuntu on an Old Mac Pro

So I spent the past few days trying to get Ubuntu Studio installed on my 2006-era Mac Pro 1,1. I can't speak for other Macs specifically, but here are some details you're going to want to know if you engage in that undertaking:

  • The Mac Pro 1,1 won't boot Linux from a USB stick.
  • It also won't boot it from a dual-layer DVD. Double-check and make sure you're not using dual-layer.
  • The LTS releases of Ubuntu (such as 14.04) have images that are specifically labeled "amd64+mac". Use those. Otherwise you might wind up stuck on an unresponsive "Select CD-ROM Boot Type" prompt.
  • You may or may not need to install rEFInd to help you boot from a Linux disc. If your disc isn't showing up when you hold the Option key at boot, give rEFInd a shot.
  • There's a useful guide at Ubuntu Community Help called Installing on a Mac Pro - Cylinder (Late 2013). As the title implies, it's not written for the older-model Mac Pros, but most of what it says is still applicable. (But it tells you not to use the Mac-specific ISO files. Don't listen to that part; you should use those on the 1,1 model.)

Getting Rid of Firefox Error Beeps in OpenSUSE

This is, more than anything, a Note to Self for the next time I do a clean install of OpenSUSE and can't figure out how to make Firefox stop making incredibly loud error beeps every single time I type Ctrl-F and type a search term that it can't find.

Disabling audio notifications in KDE's Configure Desktop has no effect on Firefox, because it uses GNOME's audio event system, not KDE's. (Not sure why it also completely ignores current system volume and always blasts the error beep so friggin' loudly; I'm sure there's a configuration setting for that somewhere.)

The program for controlling GNOME/GTK audio events is called pavucontrol (for Pulse Audio Volume Control).

Run that, go to the Playback tab, and click the Mute icon next to System Sounds.

This is really the sort of thing OpenSUSE should fix, seeing as its default configuration is a KDE desktop with Firefox as the default browser. It would be nice for YaST to have some kind of integrated audio notifications configuration tool, or, at the very list, to document pavucontrol better.

KDE under Mint

Still sitting up in the ER with my wife. She's sleeping and I've nothing else to do, so here goes, a post about my ongoing Mint experience that I mostly banged out yesterday:


I've got KDE running under Mint, behaving mostly the way I like my desktop to. There are a lot of fiddly little things that just don't work quite right for some reason -- Alt-Tab works, but Alt-Shift-Tab doesn't; the taskbar is just slightly too big and I can't drag icons to reorder them even though it's explicitly set to manual order; the themes are all slightly off from what I'm used to (Oxygen is too bright and Oxygen Cold is too dark); and I'm typing this in gedit because Kate won't let me type in documents where the lines go above a certain number of characters. I'm sure all these problems are fixable -- and hey, maybe if I'd just installed Mint KDE from scratch instead of starting with Cinnamon and then adding KDE, I wouldn't have had them in the first place --, but it sure has been a fiddly pain in the ass.

In short, despite the problems I've had with it, I'm inclined to believe the hype that OpenSUSE really is the best KDE-based Linux distribution.

So for now I'm keeping it installed, running updates from a chrooted YAST every day, and hoping one of them will eventually fix the damn thing.

Trying to Fix OpenSUSE

After spending my Saturday banging my head against the wall trying to get my OpenSUSE installation working again, I spent my Sunday just reinstalling the damn thing -- aware the whole time that the result might be exactly the same thing happening next time I run an update.

I went to the effort to get OpenSUSE up and running again because I quite like it. All that shit I griped about yesterday on how difficult it is to find configuration options in Mint? Simply not the case in OpenSUSE. It's true that OpenSUSE has two separate control panels too, like Cinnamon does, and that one is for interface configuration and the other is for system configuration -- but both of them are a whole lot more comprehensive than what Cinnamon's got, and it's way easier to find what you're looking for. And OpenSUSE's package management is simply the best I've ever seen -- it doesn't have quite as comprehensive a selection as Debian/Ubuntu/Mint/et al, but it's pretty close, and -- perhaps most importantly of all -- it doesn't just give you an error when there's a dependency issue, it gives you a list of choices on what to do about it.

It's also got smooth-as-hell one-click package installation, though in Mint's defense, it supports that now too and I had a breeze setting up RSSOwl (the only program I've set up in Mint that wasn't in the default repos, and which was a monumental fucking hassle setting up in OpenSUSE).

Anyhow, I got OpenSUSE back up and running. Eventually. The first problem was that when I burned the 12.3 disc and tried to boot it, I got my old friend the frozen "Select CD-ROM Boot Type" prompt.

You know what's a bad sign? When you plug an error message into a a search engine and the third match is your own fucking blog. On the plus side, Thad From Four and a Half Months Ago told me how I got around this the last time: I stopped fucking around with the install DVD and tried the LiveDVD instead.

Then I made a mistake -- but it turned out not to matter. I forgot to set NoScript to allow JS on the 12.3 download page. And so I couldn't see any downloads except the main installer. The LiveDVD's right on the page, and so's the Rescue CD, but I couldn't see the damn things.

I poked through the Wiki and wound up stumbling onto the KDE Reloaded LiveDVD instead. Now, on the plus side, contrary to the "11.3" number and "Last Modified 10-Aug-2010" note on that page, the LiveDVD is current as of January of this year. On the minus side, it's kind of a damn mess, it leaves you with a weird hybrid of 12.1, 12.2, and Factory repos, and, well, it wouldn't have been my first choice if I'd been a little more awake and alert and noticed the damn NoScript notification.

But I found out later that the LiveDVD and the Rescue DVD both lock up too, so I would have wound up trying the KDE Remix eventually anyway. And it did work, sort of. And I found out some good things and bad things about restoring a broken OpenSUSE installation.

The good part: if you've got /home on a separate partition, OpenSUSE will use it without formatting it; all your settings will be preserved. I backed it up just to be safe, but I didn't need to; it was completely untouched.

The bad part: I found out the hard way that YAST's backup feature doesn't back up your repo list, which makes it pretty much goddamn worthless if you have a lot of software from third-party repos. Which, y'know, is the only damn reason I backed up my packages in the first place. Reinstalling packages from the default repos is time-consuming, but it's trivial. What I was worried about was going through the hassle of installing stuff like that outdated version of xulrunner that I need to get RSSOwl to run. So I guess I know for next time that I need to back up my list of repos separately.

Anyway, I got OpenSUSE working for a day or so.

And then the first time I ran mplayer X dumped me to a console and now it won't restart.

So I'm sorta back where I started, except getting an entirely different set of errors, which near as I can tell aren't related to any nVidia driver conflict like last time.

I like OpenSUSE, but I may be fucking done with it. I would really rather not reinstall it again.

I don't know for sure where I'm going from here. But I do know I'm going to start a KDE install on Mint.

Minty Fresh

I've been giving Linux Mint a shot.

Now, OpenSUSE is still my primary distro (for now -- more on that in a minute), but I've kept my old Kubuntu drive onhand, originally because I've got OpenSUSE on a 128GB SSD and could use another drive with some extra storage, but over time I also learned how useful it is to have a second Linux distribution installed for those times OpenSUSE craps out. (More on that in a minute.)

So when I swapped in a new drive, I put Mint on it, as that's a rapidly growing distro and the one a lot of disgruntled users seem to be checking out since the releases of Unity and GNOME 3.

My first reaction is that the default installation looks pretty and clean. 'Cept maybe the menu, which is too busy.

And my next reaction is that there's a pretty good complement of programs installed...up until I open the terminal and find that vim is not included. Yes, I realize it only takes a minute to install, but I'm one of those guys who is immediately suspicious of any distro that doesn't come with vim out of the box.

My next reaction is my usual complaint about GNOME: it's just not configurable enough, and the various configuration options are spread across too many different places.

You can choose themes in five separate categories -- Cinnamon Themes, Window Themes, Cursor Themes, Icon Themes, and GTK+ themes -- and you can mix and match among those, which is good. But I don't see anything as simple as a color chooser. Your colors are determined by your themes. Want your panel to have a widget style like Nightlife but a blue highlight on the active program like in Blanka Teal? Tough; can't be done. Want to use Adwaita for the window theme but not want the active titlebar to be the same fucking color as inactive title bars? Can't do that either; if you're going to want a colored titlebar you're going to have to go with one of the more oldschool/minimalist window styles like Atlanta or Metabox. (Or hunt for themes online, a thing which I don't really ever do because I find them almost uniformly to be worse than the ones bundled with the DE.) For extra kicks, you can combine the Mint-X GTK+ theme with the Atlanta, Bright, Metabox, or Simple window themes and get a color scheme where the active window title text is white and inactive windows' title text is black.

Oh, and there's also a "keybinding theme" under themes, which is bullshit because keybindings are not fucking themes. This unfortunately seems to be a trend in Mint/Cinnamon -- cramming shit sideways into categories it doesn't really belong in because the designers apparently can't figure out where else to put it. Want to make Mint stop playing a sound at startup? It's under Login Window -> Accessibility. Yes I had to fucking look it up.

Special Bonus: Login Window is one of many settings that does not appear under either the Cinnamon Settings or System Settings panel. Why the fuck are there two different control panels that between them still don't have an exhaustive list of configuration options? Who the fuck knows. That's rhetorical, by the way; I'm sure if I asked some GNOME developer would be happy to point to the usability study that demonstrates this is an awesome fucking idea and anyone who complains about it is objectively wrong and just hates change.

Though speaking of hating change, if you want your taskbar to look exactly like Windows 98-XP's, then Mint is the distro for you. Menu in the lower left, Show Desktop button, QuickLaunch bar, list of open programs, system tray.

Prefer to move it to the top, or change it to a GNOME 2-style top-and-bottom split? Totally doable.

Want to stick it on the left- or righthand side of your screen because oh, I don't know, you bought your computer monitor sometime in the last five fucking years and it has a 16:9 or 16:10 screen ratio? Too fucking bad; you're going to have to find a third-party panel if you want some of that action.

And I think that's my biggest gripe about Cinnamon: the stated goal of the project is to make GNOME 3 behave like GNOME 2. Which is fine if you liked GNOME 2, I guess, but it's ultimately subject to the same sort of design philosophy that users shouldn't have too many choices in how their computers look, feel, and behave (and many of the choices they do have should be hidden in bizarre, inexplicable, inconsistent places).

That's why I'm still a KDE guy -- and it's also why I was still a KDE3 guy for years after the release of KDE4. (4 still hasn't caught up to 3 in some obvious and fundamental ways -- really simple shit like being able to drag a launcher from the menu to the panel. And I'll hand that much to Cinammon: it does that, which puts it ahead of KDE in at least one respect.)

And while I was easily able to find a widget to switch between workspaces, it only has 2 by default, and I can't find anywhere to change it to 4. Maybe it's in there somewhere, or maybe it's not because of Cinnamon's GNOME 3 underpinnings -- I remember that GNOME 3 has an arbitrary number of workspaces, starts with one and adds more as you drag programs to them.

I did see an interface where I could drag a window to another desktop -- repeatedly and accidentally, until I turned off the hot corner. Have I mentioned yet that I fucking hate hot corners? I've got this thing about interface elements that appear by accident, when I'm trying to do something else.

I could probably set up a hotkey to bring up that screen without using a hot corner, and I expect it'd be useful -- and maybe give me some clues on how to have more than 2 desktops. I'll look into it. But binding it to a keypress is not in the same control panel as setting it to a hot corner, and I'm going to have to look up where to find it.

Oh and also the package manager is both slow and hideous.

Anyhow, well, I've been spending rather a lot of time with Mint, mostly because I broke OpenSUSE. It started with an nVidia driver update, but after I reinstalled my kernel it turned into a kernel/init/systemd problem. It's been frustrating as fuck and ate up pretty much my entire weekend. Eventually I just decided to reinstall outright -- and I'll tell that story tomorrow.

Whatever happens, I'll keep Mint around as a backup boot. But the way it is, I couldn't use it as my primary OS -- not without installing KDE on it, at least.

For Future Reference

For the next time I get locked out of X after an nVidia upgrade:

The OpenSUSE package for nVidia drivers for a GTX570 is x11-video-nvidiaG03.

The OpenSUSE package for the nVidia kernel module for a GTX570 is nvidia-gfxg03-kmp-default.

Linux is Ready for Your Dad

Well, maybe not your dad. But mine, at least.

My dad's in town -- I'm getting married, you see -- and asked me if I could get him a computer to use while he's here.

All I had lying around was an ancient Dell Dimension 8230. I suck Win7/32 on it.

And then found out that the audio didn't work. For Dad that was a deal-breaker.

I opened up the box (and was surprised not to get a cloud of dust to the face -- I don't remember blowing it out, but I must have, and fairly recently) and determined that the sound card is a Creative SB Live, model number CT4780. And that there's no Windows Vista/7 support for it.

I found a third party driver at kxproject.com, but it hadn't been updated since 2009 -- and didn't work either.

So at this point I asked my dad if he wanted me to install Windows XP on his computer, and probably wait the better part of 2 days for all the patches to download and install, or if he'd rather I put Linux on it. He said to give Linux a shot. (He'd used it for a little while at home when his Win7 installation was giving him trouble and a friend installed it for him.)

I settled on Xubuntu for a machine of that vintage. The install was quick, it had a checkbox for non-free software (including Flash and MP3 support), and it seems to support all the hardware out of the box -- including the sound card. And it runs faster than Win7 did.

Now, my dad's not a gamer. He doesn't even use Office. All he needs is a browser and Flash.

Which is of course true of an increasing number of users -- hell, Google's selling a $1300 laptop that just runs a browser. So it's not like this is a major bombshell or anything -- but it's still an interesting shift, no?

ownCloud

My post on Unison remains one of the most popular things on this site. (The FF7 Trilogy remain my most popular posts, the ROM Collection Browser post is far and away the most popular hit on the site this month, and a number of people seem confused, as I was, by Netflix's reorganization of Doctor Who -- but Unison's still way up there.)

Well, I rebuilt my computer a few months ago, and I've opted not to go back to Unison. The main reason is that I don't just have Windows/Linux/OSX machines in the house now -- I've got a phone and a tablet both running Android now, and I'd very much like to be able to sync to them, too.

(Yes, okay, so Android is also Linux; good observation, gold star. It is technically possible to run Unison on Android. It is also, as far as I can discern, as big a pain in the ass as you would expect.)

I've decided to take a crack at ownCloud, and set my overworked G4 Mac Mini up as a server. It was a quick, easy setup, and a lot less fiddly than Unison (though it took a little bit of fucking around on the command line to enable SSL), but it's got its tradeoffs -- oddly, near as I can tell the desktop client can only set directories to sync, not individual files, while the Android client can only set individual files to sync, not entire directories.

And speaking of syncing with the Android app, it took me a day to figure out how to get it to sync in the first damn place. The sync toggle is under the system Settings menu, not, for some reason, anywhere in the app's interface, and it turns out that in order to set a file to sync, you have to upload or download it first, and then tap it in the ownCloud browser, and then there's a "Keep file up to date" checkbox. It's not exactly what you'd call discoverable, and the closest thing I can find to documentation is a damn YouTube video. (Can we talk for a minute about tutorials that are only available as videos? For my money, that trend fucking sucks. I mean, videos are great for some things, like showing you how to take apart a piece of equipment, or shave, or otherwise do something that's easier to watch than read about -- but much of the time, step-by-step instructions with the occasional illustration is a far superior method of walking someone through how to do a thing.)

So, not quite perfect. And there are some other pitfalls -- the filebrowser in the Android app can't seem to access the directory with my World of Goo save to sync it, SNESoid save files use a different extension than desktop SNES9X...plenty of rough edges that aren't actually ownCloud's fault but the fault of developers who didn't consider that users would want to sync save files across multiple systems. (It looks like you might be able to sync a file under a different name on the Android client than on the server; I'll look into that but I'm also thinking of switching from SNESoid to SNES9X EX on my phone and EX+ on my tablet. So far it looks like it's a lot more flexible than SNESoid, and while EX+ is too burly for my phone, EX runs all right once I turn off graphics filters, set scaling to integer-only, and turn on the GPU Sync Hack. Save states aren't compatible between versions, but of course save RAM is. As for World of Goo...maybe I can whip something up with symlinks or something; I'll look into it.)

And it's a pity there's no way to set up an automated wireless sync with my PSP.

More Triple-Boot Trouble

Getting Chameleon to run properly on my Mac Pro 1,1 continues to elude me. I've followed all the steps on the Netkas forum precisely, except that I made a smaller boot partition (because 1GB is just silly and I assumed that was only required because that's the smallest that OSX's Disk Utility will allow). I guess the next thing to try is swap in another hard drive and give it a 1GB boot partition and see if that works -- and then I guess I can start asking questions on the forum because I'm just about stumped.

Meantime, when I've got a helper card in I can boot OSX from EFI but not from GRUB -- meaning I can't boot it 64-bit. Windows definitely seems more crash-prone when the helper card is in and DirectX is running. If I pop the helper card out, I can boot OSX from GRUB (either 32- or 64-bit) but it's unstable as hell that way and a significant number of programs just hang when I try to run them; for some reason I can't boot OSX from EFI without the helper card. (Even if I hold Option at boot, arrow over the correct number of spaces, and hit Enter to boot from the OSX drive, it doesn't.)

There are other bootloaders designed for OSX but none of them seem to be as well-documented for use on genuine Apple hardware as Chameleon.

It's a pain in the ass, is what it is. This is an impressive damn machine, but I sure can't see buying another Mac anytime soon.