Tag Archives: computing

The Evolution of the Bit

What would the reaction be like if we could go back in time to the 50s to tell computer researchers that, yes, not only do we have more powerful computers than anything they could imagine–and we carry them around in our pockets–but that we spend the majority of our usage talking to one another in little text chunks and playing games.  Seeing as our phones are likely orders of magnitude more advanced than what folks in the 60s used to ship people to the moon, it only makes sense that the main usage for our iPhones and Androids is to hurl little aviary missiles at the digital equivalent of Lincoln Logs.

Would it blow their minds to learn of the vast server farms that we run or the coverage of 3g connectivity? Wireless Xbox controllers?  Accelerometers in Wiimotes? The consumer-available motion capture technology in the Xbox Kinect? Could they even imagine the flood of cheap processing, memory and storage that made all of this possible? Would they understand how much we rely on it?  Hell, I haven’t used a phone book in at least a decade. Imagine all this from the perspective of a time when computers were the size of a small house and processing the motion of a peripheral to update a mouse cursor on a display would have been too much computational overhead. A “waste of cycles.”

I had an electronics teacher who, in addition to working in the industry, also worked for a while at NASA, teaching radar to astronauts. One day, he told the class about a day in the lab where everyone gathered around a display and watched as one letter at a time blipped up on the screen in slow succession; someone was sending them a message from a remote location.  It was the first time anyone in the room had ever seen anything like it.

Despite being raised on technology (my parents joke that I was born with a Nintendo controller in my hand), four areas of computation still amaze me:

  • Touch screens: Until we get implants and equal rights for cyborgs, there’s not much we can do to remove the barriers between computers and humans, but this was huge.  Touching things is just human nature.
  • Speech recognition: This one goes both ways, text -> speech and speech -> text. Another barrier knocked over, one that makes computers more like us, and is only in its infancy.  If I could go back in time, computational linguistics would be a fascinating career choice.
  • Drivers, hardware / software interaction: despite my years as a computer user and programmer, somehow it still twiddles my mind that on some fundamental level, these 1s and 0s interact with physical things.
  • Virtualization: The guys in 1950s lab coats were so proud of their room-sized computers.  Imagine their faces when we tell them, “Oh yeah?  Well, we have computers that run entirely inside of other computers,” like some kind of binary turducken.

Where do we go from here?  Is there a limit to Moore’s Law? If we look at what has happened in the last fifty years, can we even predict what our digital lives will be like in another fifty?  Or even another ten?  We’ve come a long way from the period I call, “Geocities, 1999,” where the only dynamic content was the animated GIFs we all loved, then hated, and now love again, thanks to Tumblr.

My Writing Software Setup–Syncing, Backups, Etc

I spend a lot of time thinking about software and how I can use it to make my life better + easier.  That includes the various ways I could set up my writing workflow.

I’ve been using this system for a while now and it’s worked well for me.  I realized that others might benefit from what I’ve come up with, so here’s an overview.  In addition, I hope to hear from others, as maybe I could be doing something better.

Since this is an overview, I won’t go into too many details on each piece of the system, but instead will focus on how I make them all play together.  First will be the problems/considerations, then the dramatis personae, and then how I hook them together.

Problems That Need to be Solved, Considerations to Address

  • I work on both a desktop and a laptop and need my files to be available on each of them.
  • I also need backups.
  • The more of this backup stuff that’s automated, where I don’t have to think about it or remember to do it, the better.
  • My data shouldn’t be locked away on someone’s server. If the company disappears, or decides to freeze my account, my work could go with it, and That’s Bad. An example of this would be Google Docs.
  • This one is very specific to my personality: I don’t want my prose floating around on the internet until I publish it.  I know that the chances of someone actually caring about my stories enough to steal the drafts is essentially nil, but I just can’t seem to get past it. Consider it deeply-rooted in my primal past, like fascination with fire and the urge to run away from large predators.

Word Processor / Composition

I use Scrivener for Mac.  Love, love, love this program.  Can’t say enough good things about it.  I’m also a fan of Ulysses, but I think Scrivener works better for most writers.  This is where my writing happens.


Dropbox is like mana from heaven.

  • Short version: keeps a directory of files synced across all your computers.
  • Long version: once it’s installed, anything put into this Dropbox folder on your computer will be uploaded to their servers.  When you install Dropbox on a second and subsequent machines, the software will sync all changes to everything in that folder across all of them.  Plus, you can access all your files from their website, as well, and also via mobile phone apps.  Their free account can store up to 2GB, so there’s no reason to NOT be using it.  I use this program for darn near everything that I don’t consider private: PDFs I need to reference/read, lists I write, and files I need to keep handy all the time, like book covers, book blurbs, and my profile / headshot images.

Please note that if you want to sign up, if you use my referral link (here), we both get extra space for free.  That’d be nifty.  If you’re not comfortable with that link, you can find them here: Dropbox


I use TrueCrypt for this.  Don’t let the website or software scare you–it’s fairly simple.

  • You create a Truecrypt file on your hard drive, the size of which is the total space you want to have.  This acts like a container for everything you want to encrypt.
  • The program lets you mount the file and use it like any normal drive–it’ll appear in your drive lists like a USB stick or, for Mac people, works just like a *.dmg file.
  • You do your thing, and when you’re done, you just unmount the file.  Truecrypt handles all the encryption+decryption in the background.

I’m purposefully skipping over some of the mechanics behind how Truecrypt works because it doesn’t matter for this explanation / usage.  If you have questions, please ask.  I’m happy to go into more detail.

Putting It All Together

  1. I created a Truecrypt file on my hard drive, inside my Dropbox folder, and named it “WritingNotes”.  I initially allocated 5 MB, because I know that text barely takes up any space, but I’ve since moved to a 100MB file because I forgot to account for the overhead of programs like Scrivener.  They do more than just store plain text, so of course the files will be bigger and I used up my space fast.
  2. Dropbox will do its magic and upload it to the Dropbox servers. Don’t worry about when this happens.
  3. Mount the file (ie., turn it into a usable drive) with the Truecrypt program:
  4. Now create a new Scrivener project and save it to the Truecrypt “drive” you just mounted.  Mine is the “untitled” drive in the device list and you can see some of my *.scriv projects:
  5. Do your thing, and when you’re done working, close Scrivener and unmount your Truecrypt file.
  6. Sit back and enjoy your beverage of choice while Dropbox uploads all your changes.
  7. Now or later, go to computer #2 and wait for Dropbox to finish syncing.  Mount your Truecrypt file, open up your Scrivener project, and bingo, there are your changes.

Edit 2012/05/04: You can right-click on the mounted drive and rename it to something more appropriate, like “WritingNotes”.  It will keep this new name each time you mount it, and this change will also propogate across to your other machines on your next Dropbox sync.  I tested it and didn’t have any data problems.

Reasons Why This Works Well and is a Good Thing

One of the key things here is putting the Scrivener file inside of a Truecrypt file.  Programs like Scrivener store their information in packages / folder structures, and syncing software can wreck havoc on these, to the extreme extent that your file is corrupted and unopenable.  Once you mount the TrueCrypt file, Truecrypt “locks” the file and keeps hold of it, and Dropbox knows that the file is still busy and so doesn’t try to sync it.  This, and the fact that as far as Scrivener is concerned, your file is still local on the computer, is what prevents your Scrivener file from getting corrupted.  I’ve been using this system since August, 2011 and haven’t yet had any difficulties (cue suitable superstitiously-related activities).

This system works because it uses the interwebs to sync your stuff, but none of your text is “out there” on the Internet: even if someone broke into your Dropbox account, the encryption happened before the file ever left your computer.

It also keeps all the text and files on your computer: if Dropbox goes out of business, at worst case, one or more of your computers will have an out-of-date file.  Just figure out which one is the latest and copy it to the other machines manually.  You’ll never be locked out of access to your file.

Another reason why this works is because of backups galore:

  • Scrivener saves a local backup whenever you close the program.  These are stored outside the Dropbox folder, so you’ll always have a copy on whichever computer you were using at the time.
  • Dropbox syncs your Truecrypt file, so you have a copy of the file on each machine, plus the one accessible from the Dropbox website.
  • Dropbox also maintains old versions of your file:
  • For Mac users, Time Machine backs up your Dropbox folder, so that’s a second backup of the file, including previous versions.  Between the Dropbox and Time Machine versions, you should be able to go back and grab a previous copy of the file if it somehow gets corrupted and then propagated to your other machines.



No system is ever perfect, including this one.  But I feel it has a lot going for it and has worked well for me so far.  One of the drawbacks is that there aren’t as many hour-by-hour backups.  I solve that by doing manual backups of my Scrivener project if I’m feeling nervous, and by quitting/unmounting everything to sync to dropbox every so often throughout the day.  I find that mealtimes and/or coffee breaks work well as a benchmark.

Hope it helps.

04: Reflection

04: Reflection:

A thought on the whole reflection thing. This is my work computer. I spend about 12-15 hours a day working at a computer between my day job and my writing and music pursuits, which leads to reflection on the role of the computer in my life and as my creative partner.

My first thought was to tidy up my desk and prepare for the shot, so I decided to avoid the first instinct and NOT clean up.

The open door behind my desk still bugs me. Expect to get jumped by ninjas at any moment.

Already feeling noise/light limits on the iPhone camera and so applied a little filter.

Online News Paywalls: Will a Subscription Model Work?

Just read an article about the Sunday Times (A UK newspaper) justifying its paywall.  The link to the article doing said justifying is of course behind the paywall, but you can find another link here (put up by the original author, I believe; remember this for later): http://www.dianestormont.com/jmscbackup/?p=229

The driving argument is this:  good journalism costs money.  Barring the celebrity crap, it costs time for research and digging and it costs money for airfare and other such expenses.

In truth, I hadn’t thought about that part much. I agree.  It makes sense.

But nothing is ever that easy or cut-and-dry.  If I start paying for news, what assurance do I have that more journalists will be hired?  Or that existing ones will get a raise?  or that Mr/Mrs. journalist ABC will finally get an expense check to cover the digging s/he’s doing?  How do I know that that money just isn’t going toward the CEO’s bonus check or to the board of directors or whatever sort of structure sits at the top?  Look at the owners of some of our newspapers and news organizations and you see money.

So it’s not just about quality journalism.  It’s about money, too.  It’s a business.

And that’s where the waters get muddy.  Furthermore, what about the incestuous nature of online news these days?  With stuff like the Associated Press, RSS syndication and suchlike, many news organizations don’t even write or originate the news they write about in the first place.  So you want me to pay you to read what other people worked on?  Why should I bother paying a local paper when I can pay for the Chronicle or the NYT or some bigger paper with more pull (local news is likely available elsewhere)?  Why should I pay the Chronicle or the NYT when maybe I can pay the Associated Press and get my news from the source?

How about the ads that many newspapers show?  One large criteria I’d have for whether I paid or not would be the assurance that they would no longer appear.

Another problem is of course the paywall itself.  When I went to read the original article, I wasn’t even allowed to read a snippet or a summary:  instead, to get my “free preview”, they requested I sign up and log in.  Just for the preview.  In addition, the paywall makes it difficult to handle any kind of discussion or openness about the information contained in the article itself.  If I want to link my friend to a really awesome piece, I can’t.  Not unless they subscribe.

So what do I do?  Likely I copy and paste the article for them.  Or print it out.

So I can’t help but draw paralells between DRM controls and paywalls-as-DRM.  I just don’t think it will work.  People will just circumvent the restriction.  Remeber the opening paragraph, where the article author himself reposted the content somewhere else so that people could read it?  News versus money.  Right there.

Plus, I see the emergence of aggregator services that take that behind-the-paywall stuff, aggregate it together, and then charge people for reading it.  It’s not much of a longshot, especially inside of niche areas like business or tech.  How do you slice up that journalistic pie?

These are the more concrete issues.  I haven’t even touched on the whole bit of how do you innovate and foster open exchange when everything is locked behind an account and a credit card? The stickier, bigger-picture images come down to news versus money and which has priority, and I don’t think the world in general is ready to answer that yet.

Like books, music, and other content, I’ll gladly pay for quality.  but I need to know where my money is going and that my money is directly related to the quality that I receive.  I need to know where it goes.  An example: there’s plenty of free fiction available online.  It spans the quality spectrum from terrible to publish-able quality.  But if I buy a book, I know where my money is going (author, publisher [who pays editors, artists, etc]) and I can expect a generic level of quality (such as basic editing, minimal formatting errors, etc).  But with fiction, the act of handing over money does NOT guarantee quality writing or storytelling, just as handing over money won’t automatically increase the quality of journalism that results.

Perhaps a microtransaction model would be better than a subscription model.  For instance: I find an interesting article to read, I sign in to my 3rd party account and authorize a transaction for 5 cents or 25 cents or whatever it would be, and then I get access to that article.  It would then behoove that news organization (and all the others) to make snippets available for free without registration in the hopes of enticing me to click-and-pay for another article.

These paywalls and the discussions that result from them are an important step, but we still have a long way to go.

Tiered Bandwidth and the Cloud

I should preface this update with the following statement:  I hate the term and idea of “the cloud” for anything having to do with the internet.  It’s a buzzword that commits two major crimes:

  • glosses over the fact that there’s nothing fuzzy or rainbow-magic about it: it’s a bunch of servers in a datacenter somewhere.  A lot of engineers and programmers have put a lot of time into working on it.
  • encourages users shrug their shoulders instead of understanding and to put a lot of trust into some nebulous entity (and companies).

But this post isn’t about that.  Instead, it’s about some long-running thoughts brought to the surface by today’s big internet/tech news: AT&T Just Killed Unlimited Wireless Data (and Screwed Everybody in the Process).

This post isn’t even about whether this is good or bad for AT&T or their customers.

There’s a tug-of-war going on, and the two people in it are the “cloud” companies (grr) and the network companies.  Tiered bandwidth has long been rumored and suggested for broadband internet providers (what to speak of overloaded cell providers) and hated by the users themselves.  Yet pretty much any tech / software company on the map these days is trying to push all their applications into the cloud and Software-As-A-Service (SaaS) realm.  You don’t have a mail client, you have gmail.  You don’t have imaging editing software, you have site x or y or z.  Which is all well and good, except this:  the tiered bandwidth model and the cloud model are opposed to one another.

Try to push all your data and computing into the cloud and you’re going to need the bandwidth to support it.  But ah-ha!  That extra bandwidth is now going to cost you.  So you have whatever subscription fees are a part of your SaaS platform (because you no longer purchase a disc or licenses; subscriptions are, alas, the way of the future) plus the increased tier bandwidth courtesy of your internet provider.

Which one wins?  I’m not sure.  I can’t say I’m rooting for “the cloud”, but I’m sure as heck not rooting for tiered bandwidth pricing.