In 2009, in the springtime, I had the idea for Avogadro Corp. I was busy that year, trying to launch a small side project. It wasn’t until December that I had any time to pursue writing, and thanks to a change in the vacation policy of my company, I ended up taking off the entire month of December. I wrote the first draft of Avogadro Corp, finishing it at 11:50pm on New Year’s Eve. It wasn’t published until two years later: December of 2011.

Ten years and 50,000+ copies later, I still consider this book to be the accomplishment I’m most proud of. It’s led to countless opportunities, including multiple appearances on national radio, speaking at dozens of conferences, getting to know many luminaries in the tech and writing worlds, new friends, and along with the rest of my books, it even enabled me to buy my home.

And on top of all that, I still think it’s a really great story.

Avogadro Corp. Why not buy a copy for a friend? 

I’ll be at the Conference on World Affairs in Boulder, Colorado next week, from April 9th to 13th. I’ll be speaking on topics including artificial intelligence, social media, data ownership and privacy, writing science fiction, and the role of science fiction in technological progress.

If you’ll be at CWA or in Boulder, and would like to meet up, chat, or get a book signed, please reach out to me. You can find me on twitter as @hertling, or by email at william dot hertling at gmail dot com.

 

I’ve always been one of those writers who pays careful attention to reviews of my books. It comes at an emotional cost — it’s never easy to read a very critical review. But I believe the feedback is useful both from a writing perspective as well as the impact on sales. I did a second proofreading pass on Avogadro Corp in response to reviews, and then years later even did a full rewrite, and both revisions saw an increase in the average rating and an increase in the sell-through rate to the sequel. Although I think of writing as an art, it’s an art that helps pay the bills, and I like that. It’s good business to pay attention to your customers (in this case, readers) and what they want.

I knew that Kill Switch would be different because I was writing about topics that would alienate some of my core fans: relationships, sexuality, polyamory, kink, and homosexuality. As I wrote about in the afterword, I chose those topics with intention. In part, I wanted to destigmatize those topics by writing about them in an accurate, non-titillating way, to help out people who are currently marginalized. I wanted to challenge readers to think about and possibly accept people that they might not otherwise. And most importantly, and core to the kinds of topics I normally write about, I wanted to draw connections between privacy, risk, and personal freedom, and those topics made for a rich way to explore those threads.

I expected some readers would object, and they did. Sometimes those objections came with direct honesty, such as the person who messaged me that they were an older white male and didn’t want to read about lesbians having sex. Other reviews and messages said that the first half of the book was a little slow and bogged down with relationship and sexual stuff, but that the second half of the book was very fast paced — which I think is a fair and legitimate observation. Many of those latter readers remarked that they were glad they finished, and they ultimately saw the connections I was trying to draw.

But recently there have been several reviews and messages from people saying they didn’t enjoy the book, and it wasn’t the polyamory, kink, or lesbians they were objecting to, but that the book was about relationships. They wanted a technothriller and didn’t feel that Kill Switch delivered on that promise. A few even said they wanted their money back. To me, this feedback feels a lot more critical. If I under-delivered on the story and the tech, that’s an issue I would want to address. I’d also be pretty disappointed in myself if I failed to deliver on that.

I decided to investigate what portion of the book was spent on the tech plot versus the relationships and kink. I went through the chapters, categorizing each as a relationship/kink chapter or a tech chapter or mixed, and listing the word count. The mixed chapters tended to be mostly tech rather than relationship, but for the sake of simplicity, I counted them as 50% tech and 50% relationship, and divided up the word count.

What I found is that there are 105,000 words of tech plot line, and 33,700 of relationship/kink. That breaks down to 76% tech, and 24% relationship/kink. The first half of the book is heavy on relationship stuff (64% tech to 36% relationship), whereas the second half of the book is overwhelming tech (92% tech to 8% relationship.) Further breaking down the relationship/kink/sex scenes, it turns out to be 22,000 words on relationships and 11,700 words on BDSM play (e.g. 16% of the book is about relationships, and 9% about sex.)

Breakdown of word count by topic in Kill Switch

If I was to make a change based solely on those reviews, it would be to cut the amount of relationship/kink in the first third of the book, which is where I’m guessing people are getting bogged down. In the back of my mind, I started to think about making another editing pass, thinning out those topics, even though it might weaken some of the points I was trying to get across. But then I made a surprising discovery…

There’s a very significant bias depending on where the reviews are posted!

  • On Amazon, Kill Switch appears to be deeply polarizing: there are 22 reviews, with 59% being positive (5 stars), and 41% being negative (1 or 2 stars). There is no middle ground: there are no 3 or 4 star reviews.
  • On Goodreads, where there are 62 ratings, there are 76% positive reviews (4 or 5 stars), 17% neutral reviews (3 stars), and only 4% negative reviews (1 or 2). These ratings are very similar to Kill Process, which is 79% positive and 4% negative.

If the writing and story in Kill Switch were deeply flawed, I think I’d see reviews on Goodreads that were more closely aligned with what’s on Amazon. Readers want a good story, and they aren’t going to give good reviews if the story is missing. Based on the word count analysis, I think that story is there: there’s 105,000 words of solid tech plot line. By comparison, my first two novels were under 80,000 words, which means that Kill Switch delivers 25% more tech than those first books.

My working assumption at this point is that a portion of the people who gave negative reviews to Kill Switch were in fact struggling with their acceptance of the more controversial poly/kink/homosexuality topics (whether they were aware of it or not), and they may have couched those feelings in more neutral ways by talking about relationships vs tech plot.

Although I find those negative reviews on Amazon very discouraging, at this time I’m inclined to just leave the book be and hope that eventually it finds an audience on Amazon that resonates more strongly with it, as it clearly has on Goodreads.

In the meantime, there have been some reviewers that have really enjoyed Kill Switch and believe it’s the best novel yet. I really appreciate your encouragement, which makes all the work of writing worthwhile! Thank you so much.

I have good news about the Kill Switch release!

It’s been two years since Kill Process was released. Kill Switch was a daunting book to write. It’s 20% longer than Kill Process, which, when it was released, was the longest novel I’d written by far. Kill Switch also tackles new topics that required more research and finesse to handle properly. And while writing this novel, I also bought a house, moved, tackled house projects, switched roles at my day job, and more.

So it is with both excitement and relief that I’m thrilled to finally announce that Kill Switch will be released in October. The proofreading is done. The final formatting is done. The audiobook is nearly complete. The cover design is done. I will have a firm launch date within a week or two.

As usual, Patreon backers will be the first to receive Kill Switch, and they should receive their ebooks the first weekend in October, and the paperback prior to the official launch.

Thank you so much for your patience! I’m delighted to get Kill Switch into everyone’s hands.

The new cover was designed by Jenn Reese, who did a wonderful job. Thank you Jenn!

Kill Switch by William Hertling

Kill Switch Cover

 

NAME

polyamory – supports simultaneous relationships

SYNOPSIS

poly [-dpt]

DESCRIPTION

poly supports simultaneous host-to-host relationships.

By default, poly searches for and upgrades any preexisting monogamous relationship to polyamory. Results may be mixed. To suppress this behavior, use kill -9 to terminate existing relationships first.

Polyamory comes in many variations. Best results are obtained running identical or closely compatible variations. See also: poly-nonhierarchical, poly-hierarchical, and poly-solo. Less compatible variations include: swinging. Poly is not compatible with cheating.

It is possible but not recommended to connect two hosts, one running poly and one running monogamy, but this requires an experienced system administrator and increases the risk of system instability. Resource utilization (see relationship-discussion) will likely be higher with this combination.

It is normal to have one or more relationship-discussion background processes per relationship. In some cases, O(n^2) processes are required for n relationships. These child processes automatically consume all available CPU cycles, and are necessary for system stability.

OPTIONS

-p In promiscuous mode, poly will fork additional instances any time it sees an open port on a compatible host. This can be resource intensive and is not recommended to run indefinitely, although it is common for users to start poly in this state.

-d In debug mode, extra relationship-discussions are spawned. Poly is notoriously difficult to debug. If relationship-discussion is insufficient, if CPU utilization is too high, or system instability exceeds comfortable limits, use couples-counseling to process debug output.

-t To prevent errors during initialization and facilitate user adoption, poly supports a -t flag for trial mode. However, this is a dummy flag and has no effect.

TIPS

Poly by default operates in a time-sharing mode. For real-time relationship parallelism, it may be necessary to install the threesome, orgy, and/or kitchen-table packages.

It is recommended to run sti-scanner at regular intervals while running poly and furthermore to ensure that all relationship endpoints run sti-scanner. Alternatively, you can run poly in a private cloud, although not all benefits of poly are available in this configuration.

It is normal after installing poly to sometimes wish to revert to monogamy, especially after during periods of high system instability. While this works in some cases, running poly modifies many components of the host operating system, sometimes permanently. Results with reverting to monogamy may vary.

A redditor asked me about my writing process, and wanted to know if I had any tips for outlining or otherwise managing the complexity of epic stories. Unfortunately, I don’t. But I described my writing process, and then thought it would be a nice blog post. So here’s my answer:

I’m sorry to say that I don’t any tips for managing that complexity. I’m totally a panster. I usually do an outline as I’m nearing the end of my first draft, to see what I’ve written and to help me understand the themes.

As a book gets bigger, it’s more and more difficult to fly by the seat of your pants, because of the growing complexity, but I haven’t found a method of outlining that works for me. I tried outlining a book once, and then as soon as I knew the basic outline of the plot, I had no interest in writing any more. The motivation for me to keep writing is to discover how things will end up.

My partner, Anastasia Poirier, is also a writer, and she uses the process described in Take off your pants!, which supposedly focuses on a style of outlining that doesn’t outline plot, but instead outlines character arcs, which supposedly avoids the problem I described, but I haven’t tried it myself yet.

In general, my method could be roughly described as:

  • Think about who I want the main character to be. Daydream about them, and some specific scenes. Who are they? What do they talk about? What do they care about?
  • Think about core dramatic scenes. For example, in The Last Firewall, I knew starting out that there would be this big showdown attack on the main antagonist AI. (Aka, the lobby scene…inspired by The Matrix.) I always had that in the back of my mind, and was working toward it the whole time I was writing.
  • Also think about moments in which the hero triumphs or falters. Imagine those and how they respond, and keep those moments as something to be worked towards.
  • Once those things are in my head, then I start writing.
  • Focus on keep moving the plot forward.
  • As I write, I’m developing the characters further.
  • Eventually I finish the first draft.
  • Then I reread and think about the core themes of what I wrote. I go back through the novel, strengthening those core themes. Make the characters consistent (i.e. if I discovered something key about them later in writing, make sure their earlier selves are consistent with it.)
  • Send manuscript off to my development editor. Get their feedback on the biggest issues to address. Fix those.
  • Send revised manuscript off to half my beta readers, get their feedback. Address the biggest issues and the easiest issues.
  • Send polished manuscript off to remaining half of my beta readers. Simultaneously, send manuscript off for line editing.
  • Incorporate any critical issues identified by beta readers in at the same time I address line editing feedback.
  • Send off for proofreading, then formatting for print and ebook.

That process usually takes 15-18 months, although this time around it’s taking 24 months. In general, as the books get longer, they are taking longer to write. Complexity and effort seems to increase exponentially after 80,000 words. In general, about two-thirds of the time is spent generating that first draft, and one third in revising and production.

When I finish a novel, I always need a break from writing for a while to recharge. Sometimes I take a break from long-form writing and do a series of short blog posts, or sometimes I bury myself in programming for a while.

This time around, it’s been a little of everything: My day job has been busy. I’ve done a few small programming projects on the side. I’m networking with film and TV folks in the hopes of getting a screen adaptation for one of my books. And I’m researching topics for my next book.

In the last couple of months, I’ve experimented with different ideas for my next book. I have about 10,000 words written — that’s about 10% of the average length of one of my books. I don’t want to say too much more, because it’s so early in the process that it could go in almost any possible direction. But I have general ideas I want to explore, and a tentative story arc.

That’s usually enough for me to get going. I’m not a big outliner, even though plenty of writers swear by the process. I tried outlining a novel once and learned that once I had finished the outline and knew how the story ended, I had no interest in actually writing it. Now I stick to a loose story arc, and let my characters take me where they want to go.

I will find out more about their destination in the coming month. November is NaNoWriMo. If you are not familiar with it, NaNoWriMo is National Novel Writing Month, in which people aim to write a 50,000 word novel in one month. I’ve never written a whole novel in November, but I often like to use the month to build momentum, so I’ve set myself a modest word count goal for this November. It should be enough to prove out many of the concepts I’m planning for the book.

When I wrote Kill Process, I had no idea how it would be received. It was a departure from my existing series and my focus on AI. Would existing fans enjoy the new work, or be disappointed that I had changed subject matter? Would my focus on issues such as domestic violence and corporate ownership of data make for an interesting story, or detract from people’s interest? Just how much technology could I put in a book, anyway? Is JSON and XML a step too far?

I’m happy to be able to say that people seem to be enjoying it very much. A numerical rating can never completely represent the complexity of a book, but Kill Process is averaging 4.8 stars across 98 reviews on Amazon, a big leap up compared to my earlier books.

I’m also delighted that a lot of the reviews specifically call out that Kill Process is an improvement over my previous writing. As much as I enjoyed the stories in Avogadro Corp and AI Apocalypse, I readily admit the writing is not as good as I wanted it to be. I’m glad the hard work makes a difference people can see. Here are a few quotes from Amazon reviews that made me smile:

  • “I think this is some of his best writing, with good character development, great plot line with twists and turns and an excellent weaving in of technology. Hertling clearly knows his stuff when it comes to the tech, but it doesn’t overwhelm the plot line.” — Greg-C
  • “This was an outstanding read. I thought I was going to get a quick high tech thriller. What I got was an education in state of the art along with some great thinking about technology, a business startup book, and a cool story to boot. I came away really impressed. William Hertling is a thoughtful writer and clearly researches the heck out of his books. While reading three of the supposedly scifi future aspects of the book showed up as stories in the NY Times. He couldn’t be more topical. This was a real pleasure.” — Stu the Honest Review Guy
  • “A modern day Neuromancer about cutting edge technological manipulation, privacy, and our dependence on it.” — AltaEgoNerd
  • “Every William Hertling book is excellent–mind-blowing and -building, about coding, hacking, AI and how humans create, interact and are inevitably changed by software. They are science fiction insofar as not every hack has been fully executed…yet. His latest, Kill Process, is a spread-spectrum of hacking, psychology and the start-up of a desperately needed, world-changing technology created by a young team of coders gathered together by a broken but brilliant leader, Angie, whose secrets and exploits will dominate your attention until the final period.” — John Kirk

You get the idea. I’m glad that accurate, tech-heavy science fiction has an audience. As long as people keep enjoying it, I’ll keep writing it.

Anonymous emblemWith each book I write, I usually create an accompanying blog post about the technology in the story: what’s real, what’s on the horizon, and what’s totally made up.

My previous Singularity series extrapolated out from current day technology by ten year intervals, which turned the books into a series of predictions about the future. Kill Process is different because it’s a current day novel. A few of the ideas are a handful of years out, but not by much.

Haven’t read Kill Process yet? Then stop here, go buy the book, and come back after you’ve read it. 🙂

Warning: Spoilers ahead!

The technology of Kill Process can be divided into three categories:

  1. General hacking: profiling people, getting into computers and online accounts, and accessing data feeds, such as video cameras.
  2. Remotely controlling hardware to kill people.
  3. The distributed social network Tapestry.

General Hacking and Profiling

JENOPTIK DIGITAL CAMERA

The inside of an Apple IIe. To host a Diversi-Dial, one would install a modem in every slot. Because one slot was needed to connect the disk drives, it was necessary to load the software from a *cassette tape* to support 7 phone lines simultaneously!

In the mid-1980s, Angie is running a multiline dial-up chat system called a Diversi-Dial (real). An enemy hacker shuts off her phone service. Angie calls the phone company on an internal number, and talks to an employee, and tricks them into reconnecting her phone service in such a way that she doesn’t get billed for it. All aspects of this are real, including the chat system and the disconnect/reconnect.

As an older teenager, Angie wins a Corvette ZR1 by rerouting phone calls into a radio station. Real. This is the exact hack that Kevin Poulsen used to win a Porsche.

In the current day, Angie regularly determines where people are. They’re running a smartphone application (Tomo) that regularly checks in with Tomo servers to see if there are any new notifications. Each time they check in, their smartphone determines their current geolocation, and uploads their coordinates. Angie gets access to this information not through hacking, but by exploiting her employee access at Tomo. All of this is completely feasible, and it’s how virtually all social media applications work. The granularity of geocoordinates can vary, depending on whether the GPS is currently turned on, but even without GPS, the location can be determined via cell phone tower triangulation to within a few thousand feet. If you want to mask your location from social media apps, you can use the two smartphone approach: One smartphone has no identifying applications or accounts on it, and is used to act as a wireless hotspot. A second smartphone has no SIM card and/or is placed in airplane mode so that it has no cellular connection, and GPS functionality is turned off. It connects to the Internet via the wireless hotspot functionality of the first phone. This doesn’t hide you completely (because the IP address of the first phone can be tracked), but it will mask your location from typical social media applications. While Angie can see everyone, because of her employee access, even regular folks can stalk their “friends”: stalking people via Facebook location data.

Angie determines if people are happy, depressed, or isolated based on patterns of social media usage as well as the specific words they use. Feasible. Studies have been done using sentiment analysis to determine depression.

Computer hackers and lock picking. One handed lock picking (video). Teflon-coated lock picks to avoid evidenceReal.

Angie profiles domestic abusers through their social media activity. Quasi-feasible. Most abusers seek to isolate their victims, and that will include keeping their victims off social media. That would make it hard for Angie to profile them, because it’s difficult to profile what’s not there. On the other hand, many abusers stalk their victims through their smartphones, which actually opens up more opportunities to detect when such abuse happens.

Angie builds a private onion routing network using solar-powered Raspberry Pi computers. This is very feasible, and multiple crowd sourced projects for onion routers have launched.

Angie seamlessly navigates between user’s payment data (the Tomo app handles NFC payments), social media profiles, search data, and web history. This is real. Data from multiple sources is routinely combined, even across accounts that you think are not connected, because you used different email addresses to sign up. There are many ways information can leak to connect accounts: a website has both email addresses, a friend has both email addresses listed under one contact, attempting to log in under one email address and then logging under a different across. But the most common is web browser cookies from advertisers that tracking you across multiple websites and multiple experiences. They know all of your browser activity is “you”. Even if you never sign up for Facebook or other social media accounts, they are aggregating information about who you are, who your connections are. Future Crimes by Marc Goodman has one of the best descriptions of this. But I’ll warn you that this book is so terrifying that I had to consume it in small bits, because I couldn’t stomach reading it all at once.

Compromising a computer via a USB drive. Real.

Angie hacks a database that she can’t access by provisioning an extra database server into a cluster, making modifications to that server (which she has compromised), and waiting for the changes to synchronize. Likely feasible, but I don’t have a ton of experience here. The implication is that she has access to change the configuration of the cluster, even though she doesn’t have access to modify the database. This is plausible. An IT organization could give an ops engineers rights to do things related to provisioning without giving them access to change the data itself.

Angie did a stint in Ops to give herself backdoors into the provisioning layer. Feasible. It’s implausible that Angie could do everything she does by herself unless I gave her some advantages, simply because it’s too time consuming to do everything via brute force attacks. By giving Angie employee access, and letting her install backdoors into the software, it makes her much more powerful, and enables her to do things that might otherwise take a large group of hackers much longer periods of time to achieve.

Angie manipulates the bitcoin market by forcing Tomo to buy exponentially larger and larger amounts of bitcoin. This is somewhat feasible, although bitcoin probably has too much money invested in it now to be manipulated by one company’s purchases. Such manipulation would be more plausible with one of the smaller, less popular alternative currencies, but I was afraid that general readers wouldn’t be familiar with the other currencies. The way she does this is somewhat clever, I think. Rather than change the source code, which would get the closest level of inspection, she does it by changing the behavior of the database so that it returns different data than expected: in one case returning the reverse of a number, and in another case, returning a list of accounts from which to draw funds. Since access to application code and application servers is often managed separately from access to database servers, attacking the database server fits with Angie’s skills and previous role as database architect.

Angie is in her office when Igloo detects ultrasonic sounds. Ultrasonic communication between a computer and smartphone to get around airgaps is real. Basics of ultrasonic communication. Malware using ultrasonic to get around air gaps of up to 60 feet.

Remotely Controlling Hardware

In the recent past, most devices with embedded electronics ran custom firmware that implemented a very limited set of functionality: exactly what was needed for the function of the device, no more and no less. It ran on very limited hardware, with just exactly the functionality that was needed.

But the trend of decreasing electronics cost, increasing functionality, and connectivity has driven many devices towards using general-purpose operating systems running on general purpose computers. By doing so, they get benefits such as a complete network stack for doing TCP/IP communication, APIs for commodity storage devices, and libraries that implement higher levels functions. Unfortunately, all of this standard software may have bugs in it. If your furnace moves to a Raspberry Pi controller, for example, you now have a furnace vulnerable to any bug or security exploit in any aspect of the Linux variant that’s running, as well as any bugs or exploits in the application written by the furnace manufacturer.

Angie has a car execute a pre-determined set of maneuvers based on an incoming signal. Feasible in the near future. This particular scenario hasn’t happened, but hackers are making many inroads: Hackers remote take control of a Jeep. Remotely disable brakes. Unlock VW cars.

Killing someone via their pacemaker. Feasible: Hackers Kill a Mannequin.

Controlling an elevator. Not feasible yet, but will be feasible in the future when building elevators implement general internet or wireless connectivity for diagnostics and/or elevator coordination.

Software defined radios can communicate at a wide range of frequencies and be programmed to use any wireless protocol. Real.

handgun-drone

Yes, that is a handgun mounted on a quadcopter.

Angie hacks smoke and carbon monoxide alarms to disable the alarm prior to killing someone. Unfortunately, hacking smoke alarms is real, as is hacking connected appliances. Appliances typically have very weak security. It’s feasible in the near future that Angie could adjust combustion settings and reroute airflow for a home furnace. Setting a house on fire is very possible.

There’s a scene involving a robot and a gun. I won’t say much more about the scene, but people have put guns on drones. Real.

Tapestry / Distributed Social Networks

Angie defined a function to predict the adoption of a social network. This was my own creation, modeled on the Drake Equation. It received some input from others, and while I’m not aware of anyone using it, it probably can be used as a thought exercise for evaluating social network ideas.

IndieWeb is completely real and totally awesome. If you’re a programmer, get involved.

The protocols for how Tapestry works are all feasible. I architected everything that was in the book to make sure it could be done, to the point of creating interaction diagrams and figuring out message payloads. Some of this stuff I kept, but most was just a series of whiteboard drawings.

Igloo designs chatbots to alleviate social isolation. Plausible. This is an active area of development: With Bots Like These, Who Needs Friends? Is there an app for loneliness?

Conclusion

I haven’t exhaustively covered everything in the book, but what I have listed should help demonstrate that essentially all the technology in Kill Process is known to be real, or is plausible today, or will be feasible within the next few years.

For more reading, I recommend:

 

Kill Process Cover

I’m excited to announce that my new novel, Kill Process, is now available!

Here’s where you can get it right now:

More storefronts, such as iBooks and Barnes & Noble, will be available in the coming days. I’m also very happy to announce that, thanks to in part to fast work from Brick Shop Audio, the audio book edition is already available!

The concept:

By day, Angie, a twenty-year veteran of the tech industry, is a data analyst at Tomo, the world’s largest social networking company; by night, she exploits her database access to profile domestic abusers and kill the worst of them. She can’t change her own traumatic past, but she can save other women.

When Tomo introduces a deceptive new product that preys on users’ fears to drive up its own revenue, Angie sees Tomo for what it really is—another evil abuser. Using her coding and hacking expertise, she decides to destroy Tomo by building a new social network that is completely distributed, compartmentalized, and unstoppable. If she succeeds, it will be the end of all centralized power in the Internet.

But how can an anti-social, one-armed programmer with too many dark secrets succeed when the world’s largest tech company is out to crush her and a no-name government black ops agency sets a psychopath to look into her growing digital footprint?

A few of the early endorsements:

“Awesome, thrilling, and creepy: a fast-paced portrayal of the startup world, and the perils of our personal data and technical infrastructure in the wrong hands.”
Brad Feld, managing director of Foundry Group

“His most ambitious work yet. A murder thriller about high tech surveillance and espionage in the startup world. Like the best of Tom Clancy and Barry Eisner.”
Gene Kim, author of The Phoenix Project

“Explores the creation and effects of the templated self, the rise of structured identity and one-size-fits-all media culture, and feasible alternatives.”
Amber Case, author of Calm Technology

I hope you have a blast reading Kill Process. I certainly enjoyed writing it.
— Will