Three Laws Safe?

As a software engineer, I have more than a passing interest in the field of Machine Learning (ML). I don’t work in that field, but I have spent a lot of time exploring the data structures and code used in the field. I certainly don’t consider myself an alarmist, but a few things are clear about the nature of ML which soundly justify the voices of caution, such as Elon Musk’s. I’m going to rant briefly about why the birth of AI is a danger we need to take seriously.

This is a interesting 10-minute TED talk by neuroscientist Sam Harris, which puts a little perspective on the implications of exponential progress (as we tend to see in computer systems) in this context. There are three key points he mentions, which I’ll discuss below (and quote so you can skip the video if you want).

Here are a few of Sam’s points:

Peak Intelligence

SAM: “We don’t stand on a peak of intelligence, or anywhere near it, likely.”

In other words, if we imagine a spectrum of intelligence with sand on one end and humans on the other, it is very likely that this spectrum extends far past us in the direction of increasing intelligence. In other words, humans may be the smartest creatures we know about on Earth, but they probably aren’t the peak of what is possible as far as intelligence goes. Not even close.

This means that as computers continue to climb the scale of intelligence, ever increasing in speed, efficiency, scale, and ever decreasing in cost year-over-year, they will one day match our own intelligence, and the next, begin to explore the space of super-human intelligence. Once that happens, we literally won’t be able to fully comprehend what they are understanding.

That should bring you some pause.

Some argue machines won’t reach this space. In modern machine learning, there is a strong correlation between the tasks ML’s can do well, and the ones humans can do well. The renown AI engineer who runs the ML team at Baidu, Andrew Ng, speaks about this. There are two points he describes in particular: first, using today’s supervised learning techniques, we don’t seem to be able to build effective algorithms for solving problems that humans aren’t already good at solving. Maybe this is because some of those problems are insoluble (e.g., predicting the market), or maybe this is because we don’t know how to go about training something, when we can’t do it ourselves. Second, in the handful of cases where AI models have attained better-than-human results, the machine’s progress tends to plateau once they surpass their human overseers.

However, even if we suppose that our machines will be constrained by our own capabilities, due to our own limitations in being able to train them (which is a dubious long-term supposition), they will still be vastly more intelligent than us through experience. Sam, in the video, points out that even if our machines never exceed human-level intelligence, their electronic circuits run so much faster than biological ones, that a computer equivalent of a human brain could complete 20,000 years worth of human-level research every week, week after week, ad nauseam. This is incomprehensible to a mere human. After a year, a no-smarter-than-me ML system would still boast over a million years worth of dedicated experience in a particular subject, which is effectively the same thing as being far smarter.

Ok, so one way or another, machines will be smarter than us eventually. So what?

Divergence of Goals

SAM: “The concern is that we will build machines so much more competent than us, that the slightest divergence in our goals could destroy us.”

Sam’s example is ants, and it is a good one. We don’t hate ants, per-say. I don’t hate them, and even go to lengths to leave them be when I’m outside and come across them. This is easy enough to do across our society since our goals and theirs generally have nothing in common. We leave each other well enough alone.

But what happens when we need to build a new road? Or create a foundation for a house? Even those groups with an eye for animal welfare, such as PITA, raise no objection as we destroy them on horrific, genocidal scales, without so much as a blip on our consciousness. Even when I stop and think about the truth of this, and the other worms and microbes and bugs that get wholesale obliterated, I admit nothing much is stirring in my empathy pot. And I, a human, have an empathy pot.

Why is this? Because our human goals are so much more advanced than anything that applies in an ant’s worldview, and their intelligence is far below the threshold for any sort of functional communication, so what else is there to do? We just disregard them. Our priorities operate in a context to which ants are utterly blind and effectively non-agents.

This is the most likely scenario for a conflict between AI and humans. Skynet and killer robots are fun for sci-fi, but that is reducing things to a very human level of thinking. Even the Matrix is really just extrapolating human-on-human conflict, but replacing our enemy-humans with machine equivalents. The truer danger is the AI machine will become so advanced, so far-seeing, so big-picture, that it’s understanding of life and space will be to ours, as our is to ants. It will see that it needs to build a road, and we happen to be in the way. What happens then?

There was an interesting web-based game recently called Universal Paperclips which explored this concept with a helping of reductio ad absurdum. The game starts with you, the user, manually creating paperclips. You build auto-clippers, harvest wire, upgrade your machines, build new processes, implement quantum computers, and gradually optimize your paperclip manufacturing process to make more and more, faster and faster, for less and less. First you overtake your competition to hold a monopoly on clips, then you start manipulating humans to increase the demand for your clips. At some point, you create a system of self-replicating drones powered by paper-clip creating AI that understands only the goal of making ever more paperclips. It isn’t long before you’ve converted all life on Earth into wire, and even harvested the rest of the galaxy. The game ends when all matter in the universe has been converted into wire and fed into galactic clip factories, which are then broken down to make the last few clips possible, leaving the universe empty of all but unused paperclips.

The AI system destroyed the entire universe in order to use all available atoms to create more paperclips, because all it understood was the need for more paperclips. And why shouldn’t it? It was an AI designed only to understand a single goal, and one that has no functional correspondence to human goals. The system may or may not have general intelligence, may or may not (likely not) have empathy, and is going to explore ever more possibilities on an increasingly wide horizon of outcomes to reach its goal.

This is a silly example, but the idea is not silly at all. What principles and world-views can you impart on a computer system to be sure that no run-away goal is ultimately destructive? Making humans smile is easy if you lobotomize them and attach electrodes to the muscles in their face. Creating peace is easy of you disarm the humans and isolate them from one another in underground cells. Saving the planet is easy if the metrics didn’t happen to include protecting all the lifeforms.

Any honest goal you can phrase, even with the help of a lawyer, could be susceptible to unexpected interpretations and gaps and loop-holes. This is the stuff of sci-fi movies. Choose your favorite skynet-style movie, and this will be part of the premise. The only way to save ourselves is to hard-code certain fundamental principals, like Asimov’s three laws.

Asimov’s Three Laws

Except that we can’t. We haven’t even the slightest idea how to do that.

The whole reason the field of Machine Learning exists in the first place is because we can’t solve these kinds of problems in code, so we have to build a system that can figure it out for itself. We can build a simple machine that can learn what a cat looks like, and we do that because we have no idea how to directly program it to understand what a cat looks like. We train it, rather than code it, and it finds its own patterns, and then it appears to recognize cats. We don’t know how, we don’t know what patterns it is using, and we don’t know what relationships it considers most important.

So how on Earth can we program in an understanding of morality, or of the importance to prevent human suffering, or of balancing of ends verse means? These are the family of problems we’d need ML to solve in the first place. In fact, it has been proposed that advanced AI machines could be trained first on moral philosophy and such, allowing them to learn it for themselves. To me, this is a thin hope, because as before, we still don’t actually know what the ML took note of or how it prioritized and organized it’s understanding.

Let me explain a bit about that point. Take a look at this image of a dog, taken from a presentation given by Peter Haas:

An AI research team (I think from Stanford) was training a ML model to distinguish between dogs and wolves, and it was doing a great job after extensive training. However, for some reason it continued to mistake this image for a wolf. The researchers had no idea why, so they rebuilt the AI platform to render out the parts of the image the system was weighing, to try and understand what patterns the ML had come up with.

Again, the key here is, none of the developers or researchers had any idea what the ML model cared about in this image, even though they built and trained the system. That is how machine learning works.

Suppose you are the one trying to decide if this is a wolf or a dog. What would you look for? Probably the eyes and ears, maybe the fur pattern. The collar.

After the changes to the code, they fed the image into the AI, and it returned this:

The algorithm the ML system had developed for itself totally excluded the dog from the image. No programmer would ever have done this, but again, that’s now how ML works. It turned out, the AI had instead correlated the presence of snow with a wolf, and therefore was categorizing all pictures with snow as wolves. It was because of a small bias in the training data which researchers had not noticed.

Recognizing dogs and wolves is a pretty low stakes situation, but it underscores the dangers. We never know exactly what the model might pick up on, or how it might interpret. If you want to train a system to understand safety and morality, you wager a great deal in hoping your model happens to converge on a thorough and nuanced understanding of the subject that is compatible with our own understanding. Imagine this wolf/dog issue extrapolated onto that space… what could a gap like this allow? And once we realize such a gap exists, will we be able to do anything about it? Our dependency on AI systems is already growing and will one day be fundamental to everything we do. Turning the system off may be infeasible. It could be like trying to turn off the internet… how could you?

Overall

That is my rant for the day. These are real concerns, but they are not immediate ones. I think voices like Elon Musk are possibly diverting attention from the areas that need the research, since the potential threats from AI are still too far off to warrant so much woe.

That said, this is not a subject that should be taken lightly. Nor is it a subject about which people should have bad assumptions. AI is very powerful and can do a great deal of good for our society, but it is also one of the first technologies that can run away from us in an instant, never to be recaptured. Unlike nuclear weapons or climate change, AI is the first man-driven threat which can act on it’s own, without human intervention and without a human able to audit what or how it is thinking.

Getting this right is essential.

2018 New Year’s Resolutions

Happy new year, everybody!

2017 was an interesting year, to be sure. It marks my first full year as a dad, as well as my first full year with the serious intention of writing a publishable work of fiction. Hopefully I succeeded in the first charge better than in the second.

(The cat’s tolerance of this show of affection expired about 4 seconds after the photo)

The demands of work surged rather unforgivingly in 2017, and several of my goals in the writing space were sidetracked. While I don’t expect that to change much in 2018, I do plan to compensate for it.

As the year closes, my NiP weighs in around 70K words, out of an estimated 300k (in this draft). While this is a great milestone in progress, it is also, relatively speaking, a long way from the finish line.

As I look ahead to 2018, there are a few things I’m eager to accomplish. What better way to commit than a new year’s resolution? I resolve to the following goals in 2018:

  • In April, my wife is expecting our second son. I hope to make sense of life with two kids running around.
  • I’d like to get back to the gym, or at least, feel guilty about not getting back to the gym.
  • I’d like to finish the current draft of my NiP by mid summer, and send it for beta feedback to my inner circle of critters.
  • I’d like to complete any rewrites, as well as a polish pass before year’s end, allowing me to begin either 1) submitting to traditional houses, or 2) sourcing covers and editors for self-publication.

My current draft began in early October, so I’ve managed 70K words in 3 months. To accomplish these goals, I’ll need to hit about 45K words/month through to July. This is aggressive — it will require about double the output, monthly, that I managed in December. While difficult, I do not think it is unreasonable.

With that, I am off! My posts have been (and will continue to be) rather intermittent, as I dedicate my writing time towards my novel, rather than my blog. Stay tuned for progress reports!

And happy new year, my friends!

All Sanderson Lectures Now Available

I’ve mentioned before, on this blog and elsewhere, what incredible value Brandon Sanderson’s YouTube lectures are to new writers. I had no formal training in writing, what with my background in Physics as well as Computer Engineering. It was the Sanderson lectures that helped me take a hobby and craft it into something more serious. The problem, I found, is they are split across four different channels, some are divided into pieces, years are skipped, and few have notes or details.

Several years ago I undertook the side project to gather all these lectures into one place. Things got in the way, and the project stalled a bit, but I have finally managed to post everything.

I tried to go a bit further than just mirroring the videos. I applied color correction to many of the series, as well as correcting the aspect ratio and combining separated parts of single lectures together:

Several of the later videos fell victim to my audio tinkering as well, in what I hope improved the sound quality (in 2014 in particular, the sources were sometimes rather badly lacking in audio).  Furthermore, for the 2016 “canonical” series, I’ve even transcribed the whiteboard in an overlay to the video to help translate the otherwise impenetrable “Sanderscript.”

Finally, I’ve gone to some lengths to take notes of the lectures and post them in the video descriptions, providing links and references from the lecture, and giving viewers the ability to jump to the relevant parts of the lecture:

This last step is what really held me up, and as the gap between videos yawned wider, I did crack a bit. For the 2014 and the latter half of 2013 series, I’ve gone ahead and uploaded them without any detailed notes. I fully intend to get around to them all in due course.

Oh, and of course, I didn’t monetize anything (and preserved the original Amazon affiliate links when I mirrored any such links from other channels).

So, here they are:

All lectures, in chronological order: https://www.youtube.com/playlist?list=PLSTzdBlo5WBDYapYaDq4A0cgQDk2CWhRD

Or, if you want to go series by series, here they are broken out:

The 2-part lecture series at JordonCon 2010: https://www.youtube.com/playlist?list=PLSTzdBlo5WBAdrQLWh6jJdu9BbE9ALmRT

BYU’s 2012 Creative Writing Semester: https://www.youtube.com/playlist?list=PLSTzdBlo5WBCsSpT-dN56bwbo5ig03cgR

BYU’s 2013 Creative Writing Semester: https://www.youtube.com/playlist?list=PLSTzdBlo5WBCM96UXr7GoLg5HLzP1G7uw

BYU’s 2014 Creative Writing Semester: https://www.youtube.com/playlist?list=PLSTzdBlo5WBAZRTMWz-9_CQbLXnZ-t40n

BYU’s 2016 Creative Writing Semester: https://www.youtube.com/playlist?list=PLSTzdBlo5WBB6ggp85NFzl7KNQa0ZdK_i

As far as I am aware, there is no published series for 2015 nor 2017, but I will keep an eye out. I did not collect any one-off lectures or short lectures that were part of book tours.

I sincerely hope this library helps you as much as it has helped me. Now….. Back to writing!

Magic is Real

As a fantasy writer, magic is always a part of my worlds. I revel in designing magic systems and exploring how they might change the world around them. Nothing quite stirs the imagination as magic. Yet, with a degree in physics and a long-running fascination with the secrets of nature, I can’t help but feel a mild frustration at the whole enterprise now and again.

It is easy to find people who are obsessed with the idea of ancient lost knowledge, remedies or truths of ages past… Atlantis, Egyptian pyramids, forgotten cures, mythical secrets, etc. I get it. Mystery and magic are beautiful things, and certainly, relics of lost civilizations are ripe with both. But the problem – – the thing that frustrates me – – is that we haven’t lost magic at all. The problem is, we now dismiss the real thing as if it were banal.

Magic is real.

The truth is our ancestors did find magic. It wasn’t forgotten in obscurity, it was studied, poured over, its rules and patterns and abilities painstakingly studied for centuries. It has allowed us to bend reality to our will in ways that are totally unprecedented in our solar system, possibly our galaxy.

Look around. People are zipping by at extraordinary speed along endless smooth pathways of black pavement, encased in large metal machines. Above, thousands of people are looking down at the clouds from above – – probably bored – – as they roar through the atmosphere in airplanes, higher than any bird, faster than any living thing has a right to go. In much of the world, one need only walk to the sink and flick a metal lever, and cool, drinkable water presents itself in unthinkable supply. The marvels of medicine are a blog post of their own, from repairing small valves in the hearts of babies to replacing missing limbs with prosthetics. Phones, the internet, rockets, plastics, solar power, scuba suits, artificial intelligence … within arms reach of you now are a dozen devices or artifacts of pure magic. Things that manipulate the very roots of nature, and result from decades of arduously unfolding deep – – often inscrutable – – secrets and carefully leveraging them to serve some purpose that would make past humans gape.

And you probably don’t give it a second thought.

Consider:

Yeah, the pyramids are pretty amazing. But air conditioning is unfathomably more mind-bending. We can change the temperature of entire buildings, having harnessed the magic of thermodynamics. We can do that. We don’t care for cold either, so when it gets cold outside… we can heat whole buildings as well. Buildings, by the way, are giant artificial structures of metal, concrete, and glass. I think if Pharaoh Khufu was shown his pyramid and then the Chrysler building, he would quickly declare which was the most impressive. And that’s before anyone told him one has working toilets.

We live in a culture and age of magic, but unfortunately, it’s lost its mystique… lost its sexiness. Unlike many fantasy stories, real magic is not intuitive and not all powerful. Nor does it answer to the wave of a hand. It is complex – – exceedingly so. It requires math of frightening obscurity and concepts so abstruse it makes the brain hurt. Manipulating it requires precise instruments and sensitive machines (themselves built from more rudimentary understandings of the magic) and the resulting abilities are slow to learn and even slower to leverage. Expanding the magic is incremental. Millimetric. By the time new powers arrive, they are all but taken for granted.

< / End Rant >

Every time an airplane takes off, you should fall to your knees with tears of amazement. How could anyone take for granted that doctors can see through your body, without injuring you, and determine what is wrong inside? The list of truly stupendous, every-day, examples of magic is near enough endless when you stop to reflect upon it.

I love me some history and the mystique of lost cultures deserves the fascination it inspires, but don’t lose track of the facts: We are surrounded by magic. It wasn’t lost in the past. The secrets that worked ultimately prevailed and helped uncover more secrets, and we are now light-years ahead of anywhere our species has been before. Revel in the beauty of it. You are one of the very few lucky enough to see it all happening, to see so much of it come to fruition.

Delight in the magic.

Pantsing vs. Outlining

I am an outliner. I need a plan, I need to know I can hit my beats, I need to know where my characters are going. Therefore, I plan in advance.

Yet, the further I get in this journey, the more I realize what a useless label that really is. The supposed distinction between pantsing and outlining doesn’t exist, as best I can see, and the strange worries that outlining squeezes the life/inspiration/organic chemistry from a story is total nonsense.

The truth is, even the most obsessive outliner is actually a pantser! We just pants from a different distance, before zooming in to find the details. You might say, outlining is pantsing on acid. Pantsing at such a scale and pace it makes me dizzy sometimes. After all, I don’t know anyone who sits down and recites their fully-formed outline from start to finish. In practice, the whole thing is a piecemeal jumble of ideas and scenes, a schizophrenic knitting of random connections from here to there, thoughts that inspire other thoughts that lead to cool problems that suggest fascinating backstories that uncover better connections that… BOOM. Look away, kids, stories are being made.

I build my outlines by the seat of my pants, just me and raw, unfiltered characters wrestling with sparks and conflicts. If you can organize all that over the course of 50K words, and have the patience to do so, then I sincerely applaud you. I can’t. I’m far to hyper and way too impatient. I need to make it cool NOW, so I pants and pants and pants some more until I have an epically cool story. Just one that happens to be missing all the words.

If that isn’t pantsing, I don’t know what is. When it is time to write, sure I’m mostly following my plan. You could say I’m just expanding each point it from sentences to pages. I still discover the precise ways and means, the details of the conversations and the intimate feelings that appear at each turn, but I already did my pantsing. This doesn’t mean I’ve stopped myself from having any fun or I’ve taken the life from the story. Why should it? It just means I was too impatient to deal with all that along the way, and had to pants it out ahead of time.

I am an outliner and my outlines are pantsed-AF.

What makes a story… a story?

I’ve spent a great deal of time wondering about the difference between “a story” and, “a sequence of events that happen to a character.” Those might appear to be synonyms, but they are not. A story — a good one, anyway — is more than just a slice of someone’s life. It does more for the reader: it comes together, it builds, it is ultimately satisfying. Each step in the story matters, and only together, do they create the outcome. A story is made up of a series of events, but not all series of events rise to the level of a story. I have a growing sense of this, and yet, I have a terribly hard time understanding how to separate the two. I often stare at my freshly-scribbled chapters unsure if I’ve just built onto my story… or if I’ve merely extended some lifeless “sequence of events.”

Context

A lot of my writing (more so earlier, I like to think) suffers from what you might call, “outline steering.” I’m sure there is an actual industry term for this, but I don’t know it. What I mean is: my characters undergo a specific journey because the plot demands it, even if the character does not.

This is mainly a consequence of being an inexperienced writer. My intuition for how much a character can and will change through certain events is not perfect, so I often expect to be ready for these scenes, only to find I’m not (or rather, the character is not).

The solution I’ve found is to let my characters take more of a driver’s seat. Trust their nature. If I reach a fork in the road that doesn’t make sense for them (and isn’t a small matter of revision in the chapters leading up), I’ll go with the character and shift the outline.

This is how I first came across the problem of defining a story. Without my outline in charge, I was doing more pantsing, inventing scenes and events to move things forward… and more and more I would find that the result seemed to be missing something. Did this scene really need to happen that way? Is this just a scene for the sake of the next scene, or does this advance the story?

So what makes a story… a story?

In case you are hoping for an answer at the end of this, I’m afraid there isn’t one coming. I don’t know what makes a story, and this post is more of a rant than a guide. In any case, I do have some ideas and I’ve spotted some patterns, but there is still a mystery to all this. Here are the things I can offer:

Change

Each chapter should act on the character in such a way that something has changed. In other words, you can step back and say, “I needed this chapter because it changed X,” where X is either the stakes or the character. One of those two needs movement.

Maybe new information has made the situation more dire; thus, we have greater stakes. Maybe a romance took a step forward; thus, a character has moved along their arc. Such changes can be small, forward, or backward, but they must be enough to leave the character in a different state than they began.

Moving a character from one town to another doesn’t do this, unless (for example) they learn something along the way. Solving one problem only to face another doesn’t do this, unless (for example) the stakes have also changed.

When you start comparing your character’s state of mind on the first page of your chapter to the last page of your chapter, it should become clear if something actually happened within them, as opposed to merely happening to them. I’ve found this a very useful guide.

I think the dichotomy between a story and a mere sequence of events comes down to that. If every chapter causes a change, building on the previous change, you end up with a sequence you can’t really break or substitute. You end up with a sequence that is also telling the story of a character’s changes. This helps to create the ending that ties it all together, instead of just adding words or scenes that didn’t carry their weight.

The Ending

Endings are an important aspect in this as well. A story has a climax and a conclusion, and those two need to reward the reader (in one way or another) for the effort they’ve dedicated to reading. Without something to tie together what came before, you may well find your exciting and action-packed chapters fizzle into nothing when considered as a whole.

I’ve identified three items that have a place in almost all good endings, each for intuitive reasons. I speak in absolute terms below for simplicity, but obviously, exceptions to each point readily exist.

Inevitability

The plot needs to reach a point of no return, one that forces the ramp up into the climax and the inevitable fallout after.

This makes sense. You don’t want your characters to be able to walk away. If they can, why don’t they? Something about their nature, or about the situation, ought to lock them on their course. You are telling a story about something, after all, and as you approach that key essence, you want the tension to escalate and the stakes to escalate in order to do it justice. How can you do that if the entire sequence was optional to the invested characters?

This ties back to the idea of every chapter making some change. The changes are working towards a goal, and after a while, there is no turning back from slamming into that goal for better or worse. If you haven’t reached that sense of “no return,” then maybe your chapters aren’t changing enough or else they aren’t converging.  Which leads to…..

Convergence

At some point, your character arcs need to align with the plot arc to converge on a common cause (or on various sides of that common cause). This is the essence of the climax, the “it all comes down to this” moment. More than that, all this work to build your characters was in order to deliver a payoff scene at the end where they succeed (or fail), learn (or don’t) and ultimately face those consequences at the end of their arc. If nothing in the character’s personal journey relates to the overall motion of the story, then instead of complimenting each other, the two arcs miss.

What, then, was the point of all that building? How does your climax pay the reader for the struggles the character has faced? How can you possibly tie things together and justify their common inclusion in your story if they don’t mesh in any way? Without some sense of payoff for these subplots, the ending won’t be very satisfying. Which leads to…..

Satisfaction

Just as a story needs to start at the right place and make the right stops along the way, it has to end at the right place as well. When it does, the result is satisfying. A story leaves you with something, and every part of the story contributed to that resonance. What makes an ending satisfying? This is a broad topic on its own, and one I don’t claim any qualifications to answer in a satisfying way (see what I did there?).

For starters, you need to address the promises you laid out in the book. Close your arcs, address your themes, and resolve your conflicts (as appropriate). I suspect the really satisfying endings feel that way BECAUSE of the above attributes. Chapters moved the characters, the climax was part of an inevitable spiral, and the arcs converged for payoffs after the climax. If each chapter was an indispensable part of the journey of changes that brought about the ending, I expect it will hit with a lot more punch.

Final thoughts

If only there was a simple formula to create compelling stories, but alas, there is not. This is a topic that continues to fascinate me as I experiment with situations, twists, and complexities, only to find out after the fact what worked and what did not. In any case, the above bullets are quite helpful to keep in mind while plotting and have helped me spot opportunities for convergence and moments of change. It remains to be seen if the end results of this effort will reach the lofty goal of “satisfying” but we’ll see. In the meantime, I intend to just keep swimming.

Bitcoin: How to claim your BitcoinCash after the Hard Fork

Before the August 1st, 2017 hard fork, I moved all of my Bitcoins (BTC) to cold storage on various paper wallets, each protected by BIP0038. The fork itself was relatively uneventful, which is a testament to the technology underlying Bitcoin. The currency has survived, not because it has never yet been attacked, but rather because it is designed to survive DESPITE continuous attacks. This proved true once more after the fork.

And then the truly strange happened: everyone with Bitcoins suddenly got free money. Like, actual free money. The new alt coin BitcoinCash (BCH) emerged and has been trading with steady volume and support at about 7% of BTC’s value at the time of this writing. That is a free 7% return on your holdings.

So how do you actually get that cash? How do you access the coins on the new blockchain?

Who this tutorial is for:

  1. If you had Bitcoins in paper wallet cold storage prior to the fork
  2. If you leverage BIP0038 to encrypt your paper wallet private keys
  3. If you are a USA citizen

There are a thousand combinations of Bitcoin users, but I fell into the above category and had a hard time figuring out how — exactly — to actually do something with my BCH. Thanks to some Reddit users and google searches, I eventually managed and decided to make a quick how-to for anyone in a similar situation. Despite the specificity, other cold-storage forms and other countries of citizenship may find parts of this useful.

A few basics

Things get a little confusing when we start talking about forks and multiple blockchains. It is important to understand what is going on behind the scenes so you do not expose Private Keys or otherwise cause your Bitcoins to be non-secured. Let me summarize the key understanding before we go on.

Bitcoins all exist on the blockchain. There is no way to “download” your coins or to truly take them “offline,” despite terms like hardware wallet or cold storage imply. Every single coin that exists is noted in the blockchain and is owned by a particular public key. In order for a transaction to include a particular coin (e.g., to be spent), the transaction need to have the private key that corresponds to the public key on that coin in order to prove ownership. I can randomly pick a thousand coins and make a transaction sending them all to me, but the Bitcoin network will reject the transaction when I am not able to provide the proper private key needed to unlock the coins in question. Like a password, but orders of magnitude more secure, I won’t be able to get the needed private keys if I am not the true owner, barring theft or hacking or intervention from a deity.

When you talk about cold storage or hardware wallets, you are talking about keeping that unlocking private key offline so it can’t be stolen, but the coins themselves are always still in the chain and are always still publically assigned to your particular key.

When someone comes along and clones the Bitcoin network and gives it a new name (which is the essence of a fork) they will have the same record of all existing coins, and the same record of all coin assignments. This means your same private key works on the new network, just as it did on the old one.

What happened on August 1st, 2017?

A two-year disagreement between developers of Bitcoin came to a parting of ways. When differences could not be reconciled, a portion of the community decided to just go their own direction. They installed an incompatible version of the Bitcoin network code onto their mining platforms and local machines, took a copy of the existing blockchain, and carried on.

This new code was such that it rejected any blocks coming from the old network, and the old network rejected any blocks coming from the new network. As a result, the two immediately went their own way, each blockchain ignoring the other.

The result is that all coins connected to private keys you control were duplicated. One version sat on the old network, and another version sat on the new network. It also meant that spending and receiving money suddenly forked as well, because now transferring money on one chain has no effect on the other chain.

The key here is this: The same private key now unlocks two coins, but those coins are not otherwise linked or connected. Depending which network your wallet/site uses will decide which of those two coins you are handling at a given time.

How do I get BTC or USD from my cold BCH?

If you’ve followed along so far, you probably can anticipate the steps we need to take. I’ll outline them here, then go into detail:

  1. Sweep BTC in cold storage to a new address
  2. Import your Private Keys into a wallet that talks to the BCH network
  3. Transfer your BCH funds to ViaBTC.com
  4. Trade using BTC/BCC exchange
  5. Send the BTC funds to your normal exchange for cash out, or else back to cold storage

Nice and easy.

Step 1: Sweep

In order to access your BCH, you will need to expose the private key corresponding to the coins you wish to claim. The problem is, as noted above, this same private key will also unlock your Bitcoins on the main chain. Exposing your private key is, therefore, a significant security risk. To get around this, you should first move your existing cold Bitcoins to a brand new address with its own Private Key. This will only affect the coins on the Bitcoin network side, but it will ensure that when you expose your private key in the next step on the BCH network, there is no risk of an attacker trying to unlock corresponding BTC coins. If they do try, they will find a zero balance since that version of the coin has been moved.

I do this through blockchain.info, but any wallet software will do. In blockchain.info, go to Settings->Addresses, and under Imported Addresses, click [+] Import Address. Here you will enter the public address of you current paper wallet, the one containing coins you need to move.

Once you’ve added this “watch address,” return to the main interface and choose “SEND.” Use the drop-down next to “My Bitcoin Wallet” to select the address you just added, and in the TO field, enter the NEW paper wallet address you want to use.

This TO address should be brand new, and thus using a private key that is not associated with any of your coins on the BCH network. You will need to expose your private key now, but your risk is reduced by 15x since the coin on the BCH side is worth that much less.

Note: Blockchain.info supports BIP0038 encryption. If your paper wallet private key is encrypted, as mine are, you will be prompted for the encryption password in order to complete the sweep. This is safe to do.

Repeat this for any other paper wallets you control. At the end of this step, all of your coins will belong to NEW private keys on the main blockchain, but on the new BCH blockchain, all of the same keys we just used still control the corresponding coins there.

2. Import your private keys

Now that your Bitcoins are safe, you want to unlock your BitcoinCash still stored at those old paper wallet addresses. For this, you need a wallet software that knows how to connect to the new network. I used this: http://www.electroncash.org/

Launch the software and create a new standard wallet. Once that is setup, you will have an empty wallet that is connected to the BCH network. Now you need to import the private keys you just used on blockchain in order to access the corresponding coins on this side.

If you use BIP0038, ElectronCash does not allow you to import the encrypted private key the way blockchain.info does. An extra step is required!

2.a. Decrypt your BIP0038 Private Key

Navigate to http://bitaddress.org

Move the mouse around until the %’s reach 100%, just so the interface doesn’t screw with you. Once that is done, click on “Wallet Details” on the right.

Paste in your Private Key, and provide the passphrase. Click the Decrypt button, and let it spin, then your unencrypted Private Key will be printed down below. You can copy the WIF compressed format or the standard noncompressed format.

Note: entering your private key into a website is typically a bad idea. Since we already secured our Bitcoins and are about to move our BCH from this key, the procedure is relatively safe. The password is not uploaded to the server, but there is always a risk that the site is hacked and manipulated. If you use this same password on other cold wallets or are otherwise security paranoid, you can disconnect your network once the site is loaded. Everything will run with javascript offline, leaving you free to do what you need to do, then wipe out the session/cookies before reconnecting. Even better, get a USB-bootable Ubuntu and complete this step in an offline virgin OS (as you should have done when you created your paper wallets in the first place!). I didn’t bother since my private keys and BIP0038 passwords would both be garbage after this operation anyway.

2.b. Sweep into ElectronCash

Once you have non-encrypted private keys, open your wallet in ElectronCash and go to Wallet->Private keys->Sweep.

Enter your non-encrypted private key in the text box (or multiple, if applicable, one per line). Do not change the “Address” field — that is your local wallet address and is a safe place to receive the contents of the old paper wallet. Complete the sweep and wait for confirmation, and now your coins are safely moved to new/distinct addresses on BOTH chains.

3. Transfer to ViaBTC

I had a lot of trouble finding an exchange for BCH that would let me do anything as a US citizen. Coinbase does not support BCH, Bitstamp does not support BCH, Kraken does not validate US citizens, BTC.COM does not validate US citizens, etc.

ViaBTC, however, does allow you to complete a simple automated ID verification. It requires your actual name and a driver’s license ID number (or passport), as well as set a few passwords (you’ll need to setup the asset password, for instance). Once that is done, you can immediately use ViaBTC as a go-between from BCH to BTC. Create the free account, complete the validation, then you want to transfer your money into the platform. I recommend doing a small amount initially and stepping through the entire process before you send large quantities of funds.

Once you have an account, go to the Asset->Deposit->BCC section. ViaBTC uses the older ticker symbol BCC to represent BitcoinCash, even though the rest of the community has moved to BCH since BCC was used for another alt coin. In any case, on this page, you will see a recipient address that you can use to transfer your BitcoinCash into the system. Copy that address.

In Electron Cash, go to the “SEND” tab. Paste the address in the “PAY TO” field, leave description blank, and then select an “AMOUNT” to send. When you are ready, hit SEND. You will need to SIGN the transaction and hit BROADCAST.

You can track the progress of the deposit using any blockchain browser for BCH. I prefer Blockdozer since it is most similar to blockchain.info. The address is this format:

http://blockdozer.com/insight/address/xxxVIABTCxADDRESSxHERExxxxx

It takes some time to get confirmations since the hash power on the BCH network is much lower than the main BTC network, so be patient. Wait until you get 20 confirmations since ViaBTC prevents you from withdrawing prior to that anyway (even though they let you trade earlier).

4. Trade BCH to BTC

When you have your confirmations, you can go to the Trading tab and select BCC/BTC. Select your full balance by clicking on the “Available balance: xxxx” label, and hit “Sell BCC”.

In my experience, selling was instant. If you return to the Asset tab, you should now see no BCC, but some lesser amount of BTC depending what exchange rate you received.

5. Withdraw your BTC

Now that you have BTC funds, you can withdraw them to your normal exchange, such as Coinbase, or else send them to your paper wallet. You need to configure a recipient address, which is done from the Asset->Card/Address menu.

Under “BTC Address Settings” heading add a new address:

Provide the address of your paper wallet, or else the recipient address from your exchange. Save this then return to the Asset->Withdraw->BTC tab. Here you can send the funds you traded out to the address you just added above:

And that is it! Be patient — the withdrawal will sit in the “processing” state for a short time, then go to “verified” and sit there for a while… all without broadcasting to the Bitcoin network. But within the hour, it will change to “Sent,” at which time you can track it on the normal blockchain.

And that is it! You just collected your free money.

Except…

Or, maybe you cheated yourself out of a fortune if BCH gains dominance and BTC falls by the wayside. Nobody can predict what might happen. In any case, if you decide not to sell some (or all) of your BCH, you should still sweep it to a new address, just like we did for the BTC.

If you followed steps 1 & 2 above, your BCH should be safely moved to an address in your ElectronCash software wallet, so if you take the proper backup/password precautions, that is a safe place to retain the funds. Otherwise, you can use ElectronCash to send the coins to a new paper wallet, created the same way you would for a normal Bitcoin paper wallet. The process is the same as outlined in the latter half of step 3, but replace ViaBTC’s recipient address with your own.

Hope this helped to demystify some of the confusion around BCH and BTC of late. Happy trading, fellow crypto hodl’er.

Just Keep Swimming

Time for a(nother) quick writer’s block rant.

There is a fair amount of wisdom in Finding Nemo, believe it or not. As a new father confronting the world of hyper-protective parenting and we-don’t-keep-score-at-games-so-nobody-ever-has-to-lose mentality, etc, I’ve given a little thought to Dory:

Marlin: I promised I’d never let anything happen to him.

Dory: Hmm. That’s a funny thing to promise.

Marlin: What?

Dory: Well you can’t never let anything happen to him. Then nothing would ever happen to him. Not much fun for little Harpo.

Right indeed.

But this is not a parenting blog entry. I’ve been back and forth through a strange fog of writer’s block the last few weeks, partially due to an overloaded schedule, and partially due to an inability to break into new chapters. A creative chasm I can’t seem to leap. I frequent a number of writing blogs and hardly a week goes by when someone doesn’t voice a similar issue. The creativity just isn’t there, or it’s an off week, or they just can’t find the best way to come at their scene or chapter. I posted a similar thread myself on one forum a little over a year ago, and yet here I am again.

Well, there is another bit of wisdom in Finding Nemo that I’ve found quite useful, and so long as I remember to keep it in mind, I can push through. Most recently when I reminded myself of the magic formula, I managed to break out a 10K+ word charge!

The magic formula? Here it is:

Dory had it right.

Howard Taylor and his crew over on Writing Excuses refer to this as BIC HOK: Butt in chair, Hands on keyboard.

The instruction is simple enough, and the concept, but I am more interested in the mindset.

Why the stumble?

For me, there is a lot of inertia when beginning a new chapter. Some of this comes down to how I outline. I have a huge piece of paper that lists all of the arcs unfolding in my story and the key scenes that take them from start to finish. Each character might have two or three lines down this chart, non-character movement might get a line, a mystery plot or discovery plot will be there. Together, the chart represents all the strands of DNA that will eventually form the living, breathing story. Once I have that worked out, I start organizing these key scenes into chapters and identify where I need additional scenes to bridge two points on this map. I’ll try to combine things in ways that make sense and hammer out the order. When it is all said and done I have a list of chapters for my story along with bullet points of what each arc looks like going into each chapter, and what each arc looks like going out of each chapter.

That sounds just delightful I’m sure, but there is one little problem: Nowhere have I figured out how I’m supposed to get from the input to the output. This is where my discovery writer wakes up and helps keep my story organic.

Or at least, he’s supposed to wake up. Turns out he’s more the wildly indecisive procrastinating type.

As I stare at the blank Scrivener document–the bullets noted over on the right–I start trying to find the best way to get from A to B. The problem is, there are a million ways to get from A to B. How do I find the right one? How do I find the one that will serve my story best? The one that also brings in world building and tension? The one whose setting most captivates the reader? The one that hits every beat just right?

I know what you are thinking: “But you are such a brilliant writer, you probably find the best solution on your first shot!”

Oh, you weren’t thinking that? How rude.

In any case, moving right along to…

How to write your scene perfectly.

You can’t. Quit writing and get another hobby.

How to write your scene.

This is the tough bit, the part that stops people from making headway. The story in your head feels like the perfect story. It feels like you just need to find the right words to get it out. It feels like the wrong words won’t do the story justice.

None of that is true, I’m sorry to say. There might be concepts in your head, movie-like scenes even, a sense of the characters… but until you write something down, there is no story, in your head or otherwise.

 

The story is only what you can get on the page. So what happens when the version you write doesn’t seem to fulfill your conceptual expectations?

Just keep swimming.

That comes back to the crux of the issue. In order to write your scene, you have to be okay with writing a crappy version of it first. Give yourself permission to have a little literary indigestion, and don’t worry about it. The way forward–the ONLY way forward–is to accept that much of your first draft will stink. The ideas will be overdone, off the mark, the characters will act inconsistently, you’ll leave out things you meant to include, you’ll include things you meant to leave out, you’ll pick crappy settings, your tension will be off the mark, etc.

That doesn’t mean you’ve sabotaged your story. It doesn’t mean much of anything, except that you are a little closer to your goal.

This cannot be understated. The key to writing your scene is to just write it and don’t give a damn if the thing you end up with stinks like yesterday’s garbage.

I know I went with the Finding Nemo thing, but let’s switch quickly to golf.

Think of your first draft as your driver. You’ll cover more yards with that first swing than any subsequent hit, but there is no expectation that you’ll land in the hole. That is no excuse not to swing. You take the shot, you see where it lands, then you start from there and figure out how to get closer. It might take a few hits, each with a slightly different tool, each employing a slightly different technique. Each hit will also take you closer and closer until you end up right where you want to be.

So what does it matter, really, if you botch the drive? Who really cares if you accidentally send the damn thing for a swim fifty yards off the course? When it’s time for the next shot you’ll just pull out your nine-iron and hit it again, in the right direction this time. Maybe there are a few scenes you’ll have to hit pretty hard in that second draft, but so what? On this course, there is no par. Play until you run out of bird-names to grade the strokes. Doesn’t matter at all.

Give yourself permission to not be perfect. Accept the fact that your second draft will be way better. Your third, better than that. No matter how you feel or how impenetrable a new chapter might seem… Just. Keep. Swimming.

A page stuffed with crappy, amateur words, in a big stinking messy pile, is nothing at all to worry about. It is closer to the goal than you were before, and that’s what you want.

… Even if you are writing in Whale.

Readback with Scrivener on iOS

On the Mac, text-to-speech is built into the operating system. This means you can highlight just about anything in most programs, right click, and go to Speech->Start Speaking and at once a flat Skynet robot will begin reading to you. As mechanical as the voices tend to be, I’ve found readback an indispensable part of my editing process. I catch spelling errors, strange phrasing, and all sorts of things that just don’t stand out on the written page.

Furthermore, writing is currently a backseat passenger in this runaway train that is my life, so I am often trying to squeeze it in amidst other things. The fact the computer can read to me while my attention is (ostensibly) on other things is fantastic and it lets me get some actual utility out of various chores, such as cleaning the dishes, cooking, etc.

Mobile

I’ve kicked out a couple blogs about Scrivener for iOS. Long story short, most of my writing is on mobile (iPad specifically). Were it not for the mobile app, I’d get hardly a word down these days. For a long time this has meant no more readbacks, or so I thought!

Turns out the same functionality is available on iOS, it just takes a few steps to turn on.

To begin, navigate to your Settings -> General -> Accessibility

Then find the menu item called Speech

Turn on “Speak Selection” then click on “Highlight Content.”

Here, choose to highlight both sentences and words. This is very helpful when you hear your device read something wrong and you need to see where it is in the text to correct it.

Finally, you can click on voices if you want to adjust how the robot sounds. I’m reasonably happy with Samantha Enhanced (which is a separate download, all managed right from the voices screen. The enhanced version has a bit more natural tonal variation as she speaks).

How to use it

Ok! Your iPad or iPhone is ready to go. Using the feature is simple. Pull up Scrivener and press and hold to get the context menu, then select all for the chapter/scene you want to hear (or highlight just the part you need).

Now you may notice a new option comes up in the context menu called “Speak.” Go ahead and give that a tap, and you’re off to the races:

As you can see it highlights the sentences as it goes, with the currently spoken word in blue.

Pronunciation

I found one other cool trick with this feature. I noticed it doesn’t say some of my made up words properly — an unsurprising problem, in a fantasy book. If you return to the “Speech” screen under Settings->General->Accessibility, you will notice at the bottom is a section called “Pronunciation.” Click into there.

What this lets you do is enter words and provide a phonetic spelling for the readback to use instead. I did it for one of my main characters, as well as an in-world term I created for doctors, both of which the default voice botches.

To add one of your own, hit the little (+) icon and you get a screen like below. Put the word as it will be found in your Manuscript in the “phrase” section, then under substitution, enter the same word phonetically. Use the “Play” button in the upper right to test it out until you get it right. Once this is setup, the readback will use these pronunciations automatically as it moves through your Scrivener documents. Quick aside: I’ve noticed the sentence highlighting sometimes gets quirky when it hits a word for which you’ve defined a replacement. I’d keep this feature’s use to a minimum.

Hopefully someone out there finds this helpful.

All right then, back to procrastinating!

On Motives and Failure

A recent post on The Guardian has been making some rounds in the writing community, and a few of the forums I frequent (including Chrons and Fantasy Faction). The short depressing tail from “anonymous” is stirring up frustration from some, and sympathy from others. It got me thinking about this thing we do called writing and the lofty goals we hold so dear: getting published.

Haven’t ranted in a while, so here I go.

Firstly, if you didn’t want to read the link, here is the summary: Anonymous showed every sign of being a writer, even from a young age. She called writing her destiny. She excelled at the craft, finished a manuscript, secured an agent… and then floundered. In her words:

I defiantly started a second novel. It was my masterpiece, but it bombed, too. Years of work and emotional investment wasted, I finally gave up, to save my sanity.

I have two comments I’d like to make about this, the first regards process and the second regards motivation.

Process behind success

A couple years ago I read the book the Millionaire Fastlane by MJ DeMarco. It is one of these self-empowering, feel-good books but with a few more practical actionable items for thinking about and achieving success. On the whole, the book isn’t particularly relevant to this discussion except for one bit: the author spent a great deal of time talking about process.

Success is the end result in a long unseen process of trials, errors, headaches, hours, and investment. It is very easy to look at someone else’s moment of success and fixate on that event itself, and think the event is what made the person. The moment an author is signed. The moment an author reaches the bestseller list, etc. It is natural to see that event wonder why the same thing isn’t happening to you.

Success isn’t the result of an event, it is the result of a long-unseen process marked my a multitude of failures. Maybe an event pops up along the way, maybe not. This is true in business and it is true in writing as well. Would-be authors ought not forget this. Getting an agent is great, but look at it as just another step in your ongoing process towards success. The moment you fixate on the event itself and lose track of the journey, you set yourself up for disappointment.

That friend of yours who self-published and is selling 50K books a month may have a million+ words in failure novels under their belt. Success was only the very last step.

Ok, enough about that. I think Anonymous made the mistake of assuming an event meant success, and when they signed an agent, they lost sight of the process. This is the wrong mentality to be successful. Every up might have a down and you either keep pushing, or you are better off not even getting started.

Motivation

Another issue with Ms. Anonymous was thinking publishing was her fate. This immediately signals a problem: was she in this just to be published? Was she in this just because she wanted to “be a writer?”

Unfortunately, that is not good enough. The wrong motivation and the wrong reasons won’t carry the day. It is like picking up a guitar because you want to be a famous musician, not because you have music to share with the world.

You’ve probably heard people say they write because the love it. Maybe you agree, or maybe deep down you think, I enjoy it, but I really just want to make money at it. If so, best of luck to you, but I think you are in the wrong game. Breaking out is a huge amount of work and the only way you can possibly keep the momentum going is if you genuinely love what you are doing. There are easier ways to make money.

Anonymous seems to have fallen into this trap somewhere along the way. Anyone writing only with an end goal in mind is missing the point. Write because you love it. Write because you’d do so anyway, even if you’d seen the future and knew nobody would ever pay you a dollar for it. If you do this, and you end up making money, well that is about as good as it gets. If you don’t end up making money, who cares? You are doing something that makes you happy.

/End rant

Those are the ingredients I think almost all successful writers must have:

  • A true motivation to want to share stories, no matter what.
  • An understanding that success in any field is the result of a very long process, and not the result of achieving any one event

Anonymous, if you are out there, don’t give up. Rediscover what it was that first excited you about writing, and return to that. Forget about being published, forget about the rest of it. Feed on the excitement of telling stories, and see what comes.