A decade online

This is a superfluous post, with no purpose other than to commemorate the 10-year anniversary of this blog.

A lot has changed in the last 10 years, and thankfully all for the better. I’ve changed careers, moved three times, gotten married, had several kids, and even scribbled a novel!

Here’s to the next 10 years!

Lunhina: Status Report

I reached a milestone today that I felt warranted a quick post. After reworking my story early last year, I emerged with an outline for a 5-part story, with parts 1-3 roughly correlating to my earlier outlined material, and parts 4&5 rendering a proper conclusion, which was lacking in the early drafts.

Today, I finished the draft of part 2, bringing the manuscript total up to 132,385 words. In the final draft, I’d hope to get that down to 90k. Somehow.

This is also the furthest I’ve gone, words-wise, into any previous revision of Lunhina (and this is draft 5 if we’re counting strictly). I like where this one is heading, I like how the world building is coming together, and I really like how some of the twists are getting staged. I am very excited to get the rest of this draft hammered down. Most critically, I don’t see any barriers between here and there, which was not the case in any previous outline.

I set some goals for myself this year, and if I can stick to them, I might, just might, have this thing “finished” by the end of the year. My work is somewhat seasonal, giving me a relatively quiet spring and summer, and the kids are getting a little older, hopefully promising full-night’s rest sometime soon. With these factors converging, I have high hopes.

Part 2 was not without its hurdles. In fact, just yesterday I paged back to reference a description from part 1 and was dismayed to find I’d written an entire reveal scene several months ago, then apparently shuffled it in the outline, forgotten, then re-wrote it just a few days past without realizing. It took some work to figure out what was supposed to go where and revise one of the two versions to work. I got there in the end.

Tomorrow I set out on part 3. The latter half of this section is particularly well outlined and should be a breeeze. The first half requires a bit more set work. With any luck, I’ll have a similar status report in a couple months.

2019 New Year’s Resolutions

Last year I made a similar post. Before I set down my goals for 2019, let’s see how I did:

  • [2018] In April, my wife is expecting our second son. I hope to make sense of life with two kids running around.
  • [2018] I’d like to get back to the gym, or at least, feel guilty about not getting back to the gym.
  • [2018] 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.
  • [2018] 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.

The first one I accomplished, and it was no easy feat. I’m a straight-up family dad now, I guess, with my time and energy generally monopolized by two wild boys. I also succeeded in the second task: I definitely felt guilty about not getting back to the gym. Excellent, 2 for 2.

I set myself up for failure a bit, since goal #4 was contingent on the completion of goal #3… and I whiffed goal 3 by an embarrassing margin. At the end of 2017, my word count on Lunhina was ~68.5K out of a projected 170K. Today, I am sitting on ~115K out of a projected 350K.

You might be thinking, “350K!? What the hell is wrong with you?”

Yes.

In any event, I added 46K words to the novel (not including some rewrites), which averages 3,800/month, or 136/day. At that rate, to reach the word count I have outlined, it will take me a further 5.1 years. So obviously this ship has gone well off course.

Informed by this data, here are my goals for 2019:

  • Start working out at least 3 times a week.
  • Get my shit together with Lunhina and finishing SOMETHING, either a self-contained “part 1” for the larger story, or the full story re-outlined to normal novel length.
  • Write at least 2000 words per week (a.k.a., double my current pathetic counts).

That is all. I’m keeping it simple, and focusing on two things I really want to accomplish: something for my physical health, and something for my mental health. Both of these things tend to take a back seat to — what I judge to be — more important things, such as my family, my work and finances, and some of my personal relationships. I don’t have any specific goals in those areas since I tend to give them most of my waking attention already. Here, I’m shooting for the things I should be able to keep in balance with everything else, but in practice don’t.

What are your goals for the year?

Blockchain without Bitcoin? No.

I’ve lost count of the number of headlines and interviews in the last year which lay out the case that Bitcoin may well be a bust, but “blockchain technology” will still transform the world.

Here is a representative Forbes headline (but I am certain you’ve seen plenty yourself if you read financial headlines or watch any daytime finance shows):

Forget Bitcoin, It’s All About Blockchain

Forbes also has a list of companies touting their forays into Blockchain, including American Express, Oracle, Facebook, Prudential, Disney, IBM, Goldman Sachs, Amazon, Intel, Morgan Stanley… well here’s their list:

The 50 largest public companies exploring blockchain

Those of us who followed the technology before the recent boom and bust are sitting here scratching our heads. Blockchain without Bitcoin…? Huh?

Just this morning I read an article lamenting the poor investors who jumped into Bitcoin just before the bubble exploded about one year ago today. The article wraps up trying to highlight the silver linings: Bitcoin may have made a mess of many investors’ lives, but at least it gave us Blockchain Technology, which needs to be separated from Bitcoin since it has it’s own great value.

Claims like these seems rooted in a total misunderstanding of the blockchain, and they get gas from the bitcoin talking heads who can no longer tout skyrocketing prices as a testament to the “revolution” which, otherwise, ended rather unceremoniously. I’m going to throw my 2 cents in and explain why I don’t see any real future for blockchain divorced from crypto-coin. I’ll try not to get too technical.

How banks store data: the database

In this day and age, I don’t think you have to be in the computer field to be familiar with the concept of a database. By and large, you can think of a database as a big Excel spreadsheet, one which programs can ask questions to, and requests updates to. Here are some common “queries” that a banking program might ask of the bank’s central database:

  • “Database, show me the spreadsheet, but only the rows dated for today.”
  • “Database, add up all the debits in the spreadsheet which belong to John Doe.”
  • “Database, add a new debit for John Doe from today in the amount of $12 to Starbucks.”

Behind the scenes, this is how your balances and your transactions are stored.

What if you wanted to change the past?  Maybe you went grocery shopping last week after skipping breakfast and walked out with $500 worth of baked goods. It sure would be nice to pretend that never happened, and get the $500 back. In a database, changing the past is easy:

  • “Database, on row number 353224 dated last week, change the debit amount from $500 to $5.”

Just like that, $495 shows up back in your account. Maybe there are backups one could use to show the discrepancy, or else logs that record such a change which might come to light during an audit, but fundamentally speaking, nothing is meant to prevent this kind of change from happening in a database. Nothing.

That actually isn’t so dangerous as it sounds. Why? Because a bank’s database is centralized and controlled by “an authority” with a vested interest in maintaining the database’s integrity: the bank, a legal and regulated entity. Any Joe Shmoe can’t come along and send commands to the database. Any transactions that are sent go through bank-provided means, and into a clearing and validating processes BEFORE they are allowed to talk to the database. This is why your balance is always right, your transactions don’t disappear, and what you did a year ago can’t be changed today.

Decentralizing.

Imagine if a bank, say, Bank of America, decided not to take responsibility for their database anymore. Instead, they made it public so arbitrary third parties could host copies of it, and they were each responsible for keeping it in sync with one another on the honor system. Bank customers would be able to transact with any of these parties, since they all have a copy of the balances and transactions on that mighty spreadsheet.

As you can imagine, pandemonium would ensue. How many minutes would it take before some versions of this database showed old bills or dues mysteriously erased, strange payments made from random customers to the new host, etc?

People would arrive in troves to Bank of America trying to withdraw mysterious fortunes from their previously empty accounts, and they would be able to point to one of the third party hosts (the one they’d modified in their favor) and say, “See? There’s my balance! I’ll take that in hundreds, please.”

This would obviously be ridiculous.

Even if all the third parties were honest, there are reasons decentralization doesn’t work. What if I deposit $100 and wait for all the holders of this database to update my balance, then I go to two of them, separately but in quick succession, and send that money to two different recipients? I could easily spend my $100 twice before the two hosts compared notes and realized what I’d done.

The goal of Bitcoin, made clear from its establishing white paper, was to solve these problems and create a reliable decentralized currency. That means anyone — you, me, any company, any state — could participate and hold a copy of the official database (ledger, in blockchain terms), and still avoid pandemonium. How on Earth can we do that and still have a reliable financial system when you can’t trust any of the hosts or any of the networks used to transmit information? That is impossible, right?

Actually, no.

The Blockchain.

The amazing thing about bitcoin is it IS completely decentralized. You could download a client today, download the entire blockchain (a.k.a., database), and you would instantly be one of the thousands of distributed authorities. Some people’s transactions would start going through you, others would check their balances on your copy of the blockchain, and your version of the blockchain would be downloaded as other clients came online. And this works even if all the participants, including you, are (independently) corrupt and all networks insecure.

How can this be?

The reasons are very technical and groundbreaking in the field of computer science. I’ll summarize them in lay terms, since only portions are important in understanding the inseparable relationship between bitcoin and blockchain.

Proof of work.

We talked about a database as a large spreadsheet. You can think of a blockchain as a series of smaller spreadsheets, each one called a block, all lined up in a list. For visual purposes, imagine the first block is a spreadsheet showing the first 100 transactions of Bitcoins. Then a brand new spreadsheet, block #2, is next in the list, and it shows the next 100 transactions of Bitcoin, and so on (as I’m working on this paragraph, we’re up to block #554,939). By starting at the beginning and moving forward, you can follow the course of all Bitcoins in existence, and determine where they end up, a.k.a., who currently owns them.

This is all secured using clever computer science techniques call hashing. How hashing works is not important here, but the key is this: a hash is like a fingerprint unique to that block. If you change anything in that block — a date, or an amount, or a recipient, or ANYTHING — the fingerprint changes. Block #2 includes within its records the fingerprint for Block #1. Block #3 includes within its records the fingerprint for Block #2, etc.

So, you can see, if someone decides to tweak a transaction in Block #1–say, to transfer a coin to themselves, or even just to fake a date — it will change the fingerprint, and no longer match the one recorded in Block #2, and everyone on the network would know to disregard this tampered version of Block #1. In order to get away with this theft, they would need to update the fingerprint stored in Block #2.

…but that will change Block #2’s fingerprint also! Remember, ANY change in the block changes its fingerprint, including changing the record of the previous block’s fingerprint. So now Block #2 won’t match to Block #3’s record of the previous fingerprint, so you have to update that one too… and on and on.

For technical reasons that don’t matter, it is very expensive — in computer terms — to publish a block. Millions of computer cycles are spent, around the world, trying to accomplish this “proof of work” algorithm in order to publish the new block. One person wins the race, the block is published, and everyone starts on the next one. Once calculated, however, it is very very inexpensive — in computer terms — to verify the fingerprint matches up.

This makes it infeasible for our would-be-thief to pull off their heist. While they are scrambling to recalculate block #4 and #5 and #6, the rest of the world has added even more blocks to the front end of the chain. They will never catch up, which means anyone presented with their corrupted version of the blockchain would easily see mismatched fingerprints, and know to request the real blockchain from someone else instead. This is easy to do, since there are THOUSANDS of blockchain hosts.

This is why participants in Bitcoin transactions are told to wait for 6 “confirmations” before considering a transaction finalized. A confirmation means a new block was published in front of your transaction, so after 6 confirmations, your transaction is buried 6 spreadsheets deep. At this point, it is technologically infeasible for someone to modify a transaction in your block and recalculate the other 5 (but constantly increasing) fingerprints ahead in the line. In fact, there are other more complex safeguards which make it unlikely anyone could modify a block even 2 or 3 confirmations back down the chain, but by 6, you are as safe as could be.

Just as it sounds, all this is a LOT of extra work. The bank just keeps a spreadsheet, and they are good to go. They don’t need hashes and fingerprints and new blocks pointing to one another.  Compared to a database, a blockchain is tons of extra overhead, making it cumbersome and very slow. You would never bother with all this unless it was serving a purpose. For Bitcoin, that purpose is decentralization.

Why does this work in practice?

There is only one thing that maintains the needed environment for decentralization to flourish: Lots of hosts of the blockchain (a.k.a. “miners”)

That is all.

If you have a lot of miners, then combined with the protocols of Bitcoin, you have a reliable decentralized blockchain. Thereby, you justify the gross overhead of storing your data in this way. Let’s see why, and this will ultimately be the point that loops us back to my original thesis, that blockchain makes no sense with Bitcoin:

Miners

“Miners” is the term for anyone hosting the blockchain and spending cpu cycles trying to calculate new blocks. There are a lot of them. When becoming a miner, you simply download some software and agree to follow the protocol, which includes an important built-in concept of majority rule. A dishonest miner, of course, can ignore the protocol and do whatever they want, but since everyone else is obeying the protocol and the majority rules, that bad miner will basically be ignored.

When I say “everyone else” I actually mean, at least 51% of all miners. As long as the majority follows the rules, the whole thing works.

If I come along and present my corrupted blockchain with mismatching fingerprints to the network, any other hosts who are obeying the protocol (which requires them to validate my version of the blockchain) will quickly note the mismatches and choose to reject my version of the blockchain. This prevents new blocks from getting added to my version and ultimately prevents my version from spreading to any other hosts.

Even if I control several hosts and try to spread my version from many sides, because so many participants are following the rules, they will continue to wall off the spread of my version, until I inevitably fall behind as new blocks are added to the real chain and I am not able to keep my fake chain up to date.

Per the protocol: Majority rules, and majority sides with the longest valid chain.

What if there were very few participants, say, only 3? In this case, if 2 of them were corrupted to the same purpose, they could simply agree NOT to follow the protocols. They could choose to make an exception and accept my corrupted blockchain as authoritative. By majority rule, everyone who owns bitcoins is now subject to my version of the ledger.

But since there are hundreds of thousands of participants — some companies, some states, some individuals — all in separate jurisdictions and with non-aligned goals, this can’t really happen in practice. You would need to control (or convince) 51% of the “hash power” to stop following the rules specifically in order to get your self-serving version of the blockchain accepted, and this just can’t happen. Right now, the biggest single entity controls 18% of the hash power which isn’t even close to the needed 51% to become a self-possessed majority.

Bottom line: With lots of miners, and more than half of them following the rules, the complicated blockchain-style ledger works as a trusted — yet decentralized — database.

Why are there a lot of miners?

Mining is expensive. I already noted that calculating new blocks is extremely expensive in computer terms, but that translates to actual money. You need dedicated hardware worth thousands of dollars and lots of electricity to run them. You need a fast and reliable network connection, and you also generate piles of excess heat.

Why would anyone bother, except for the fanboys? Why, in fact, are there hundred of thousands of participants?

The answer is very simple:

If you find the next block, you get a reward. The reward? New Bitcoins! Currently 12.5, worth (today) something like $50,000USD (which was a quarter of a million dollars a year ago).

Yes, for downloading a piece of software and letting it spin your CPU and GPU day and night, you get paid as a miner, and you get paid in Bitcoin. Basically, whoever signs off on the new block gets to add one more row to the end:

“12.5 new bitcoins transferred to me!”

This creates incentive on several layers:

  1. It encourages people to participate in mining — lots of people — because they get paid!
  2. It encourages people to follow the protocols. You can only get your reward if your new block is accepted by the majority, so you better follow the rules or you wasted your time.
  3. It encourages miners to use and support Bitcoin as a currency, since they are getting paid in it.

If you removed the reward, miners would evaporate like an oasis.

Putting it all together.

We now have all the parts needed to explain the issue:

Blockchain is a revolutionary technology for allowing a secure database to be supported in a decentralized and insecure manner, but not really in any other sense. As a pure database, it is just slow and cumbersome. The reason we put up with the extra overhead is because it enables decentralization when hosted by a large number of participants (miners). Those miners are compensated for their efforts with Bitcoin.

Let’s say GoDaddy decided to adopt Blockchain and make a public ledger of who owns all of their domain names. It would be cool to decentralize this and make it public. But why would anyone bother maintaining the copies and mining new blocks? What would incentivize these participants to spend money on mining and ultimately obey any protocol rules? And why would we want to deal with all the extra cryptographic overhead for data that can just as easily be stored without it?

Without a reason for miners to participate, you aren’t going to get the environment needed for decentralization to protect itself from corruption. Few participants, or participants without incentive to play by any rules, will make it easy for attacks on the network to bring it down. And for what benefit?

The benefit for Bitcoin is part of the package. It is money that is government-agnostic, open to all, and not depending on any potentially untrustworthy authority (a.k.a., bank or state). That, in and of itself, makes sense to a lot of people. When you are talking about money, which can be subjected to various government-imposed inflations, taxes, regulations, limitations, it makes sense some people would seek freedom. But do we need that for every kind of data set? Not really.

Need or no, the fundamental issue remains:

What decentralized participants are going to bother maintaining a blockchain if they are not compensated for it? What keeps them honest?

There is no clear answer unless the blockchain is ITSELF part of a currency, and thus we come to my point:

Blockchain exists to allow Bitcoin to exist.

Bitcoin finances the maintenance of the blockchain.

Neither makes sense without the other.

A Day in the Life

A day in the life of a writer, a.k.a., me!

Let me present my completely fool-proof plan to accomplish all of your writing goals. It has worked wonders for me. Yes, a big steaming pile of oddly shaped wonders.

1. Situate

Work can’t get done if you aren’t in your work area. To start my day, I sit at my computer. I am pumped, focused, and eager to write.

2. Mentally Prepare

Before I start anything, I browse all my writing forums and other daily websites to “get them out of the way.” You know, so I don’t get distracted later when I’m writing.

3. Logistically Prepare

Now I open up my Scrivener document and re-read what I did yesterday. Sometimes, I also pull up my outline and character notes just to make sure everything I did yesterday is consistent, and so all my marvelous ideas are fresh in my head for today’s upcoming feat of written words.

4. Set Goals

Nothing is accomplished without goals. I look at where I am in the chapter or scene, and consider my goals for today. What do I want to accomplish? What problem do I need to solve?

5. Intellectually Prepare

It’s great to know what your goals are, but knowing how to accomplish them is even better. At this point, I visit various writing websites, watch various youtube videos, and review various podcasts, seeking tips and advice on how to accomplish my specific goals for today.

6. Physically Prepare

Break for lunch. Nothing gets done on an empty stomach.

7. Back to Work

It’s been a few hours, I’ve covered a lot of ground, and I just took a break. This is when distractions will try to strike. The key to success is to be able to mentally re-focus after changing gears. I find it helpful, at this stage, to redo step 2, so I don’t get distracted anymore. Sometimes, instead, I’ll go write a blog post to really harden my grasp of the new lessons picked up in step #5.

8. Writing is a Business

Here’s the thing: writing is a business. It needs to be treated like one, which includes making good decisions about allocating time and resources, learning the needed skill set, and keeping an eye on the big picture. Often, by now, I realize I’m kind of tired. With all the tricks and tips I learned in step #5, I have a lot of new information to reflect upon. Being hasty is bad for business, and truth be told, a nap now will probably do more good for my story in the long run than a few hundred words I’ll need to redo tomorrow. This is a business decision.

9. Smell the Roses

All this work can be intoxicating, but it is important to remember to stop and smell the roses. Life keeps moving, so take a little time to enjoy it, between all the other stuff. To accomplish this, I tend to stay up very (unreasonably) late handling “life.”

10. Stay Positive

When I get into bed, exhausted though I am, I always take a moment to think of the potential ahead of me. I quickly get pumped about how much I’ll accomplish tomorrow and how many words I’ll crank out. Sometimes I do a little math. I’ll easily get 5K words down tomorrow, and if I do that every day, my novel will be done in no time! What’s more, I can just feel how EASY it’s going to be to write tomorrow, now that I’m ready and soon-to-be rested.

11. Keep the Momentum

The next day, I wake up, shower, and begin again from step 1. It is all about sticking to the routine.

 

Good luck, and happy writing!

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.