This website was archived on July 21, 2019. It is frozen in time on that date.

Sonya Mann's active website is Sonya, Supposedly.

Backing Up My Kindle Ebooks

“In a move that angered customers and generated waves of online pique, Amazon remotely deleted some digital editions of the books from the Kindle devices of readers who had bought them,” The New York Times reported in 2009.

Amazingly, the removed books were George Orwell’s 1984 and Animal Farm. We may never know how Amazon managed to make its blunder quite that on-the-nose.

A couple of days ago, an Apple customer realized that some movies he’d purchased through the company’s media store were missing and no longer available for him to download.

So for no particular reason, tonight I decided to back up my Kindle books and remove the DRM from the files.

It was a pain to figure out how to do this on a MacBook Pro in 2018, without owning a physical Kindle device. I documented the necessary steps for those of you whose setup is similar to mine.

My laptop is running High Sierra (version 10.13.6) and I have a current version of the Mac Kindle app installed. If you have trouble carrying out one of the individual steps, a search engine will be able to turn up helpful resources.

  1. Install the Kindle Mac App.
  2. Open Kindle preferences.
  3. Change the content folder to one that’s convenient for you. I put it in my Google Drive folder.
  4. Download all the books that you want to back up. Instead of doing this manually in the Mac app, follow these steps:
    1. Go to Amazon.com and navigate to the section called Your Content and Devices.
    2. Select all.
    3. Click the “Deliver” button and then select your Mac app from the dropdown menu.
    4. Do something else while the files download. If you have a lot of books, it’ll take some time. I think it took an hour for my ~300 books.
    5. This process was buggy for me but it eventually worked. No guarantees — you may have to manually trigger the download process for each book.
  5. Download Calibre.
  6. Download the DeDRM plugin and follow these instructions.
  7. Download the KFX Input plugin from Calibre’s native plugin menu.
  8. In Calibre, click the little dropdown arrow next to the “Add books” button. Choose this option: “Add books from directories, including sub-directories (Multiple books per directory, assumes every e-book file is a different book).”
  9. Wait for all the books to load.
  10. You’ll have a bunch of nonsense .md files along with your actual books. My nonsense files all started with “CR!” so I stuck that in the search bar, selected all (ctrl + A), and deleted them. My guess is that you could filter by file format instead, if you prefer.
  11. Select all the remaining books, again using ctrl + A.
  12. Click the little dropdown arrow next to “Convert books” and choose the bulk option.
  13. Fiddle with the .epub conversion settings if you want to (I didn’t) and then go ahead and convert the files.
  14. Wait for that process to go through — for me it took ~45 minutes.

Aaand here’s where I stopped. A handful of the books didn’t convert properly — Calibre told me it was because of DRM issues (after all those plugins?!) but I’ll figure out what happened later.

I hope this was helpful. If you come up with a way to improve the process, please let me know! Honestly, I would love for someone to productize this whole rigmarole.

I feel astounded by the awesomeness of open-source software, and how it restores freedom to end users… but simultaneously dismayed by how many hoops you have to jump through. It’s unfortunate that ebooks merchants like Amazon have such reader-unfriendly incentives.

Lightning Talk on Zcash Foundation Governance

I gave this short talk at the Decentralized Web Summit in August, 2018. (It was livestreamed on YouTube.) Below is the full text I prepared.


I work for a privacy nonprofit called the Zcash Foundation. We exist to support technology that puts people in control of their own financial information. We focus on stewarding the cryptocurrency Zcash, in collaboration with a separate, for-profit startup that you may know as the Zcash Company. The Foundation also works with independent cryptocurrency miners and developers.

As a protocol, Zcash is a lot like bitcoin. The biggest difference is that Zcash includes a cryptographic innovation called zero-knowledge proofs, specifically zk-SNARKs, which makes robustly private transactions possible. Zcash isn’t perfect and it has significant usability problems that are still being worked out, but we think it’s the best technological approach to financial privacy.

Part of the Foundation’s role in the Zcash ecosystem is to assess what the community at large wants for the future of the cryptocurrency. During June we held a governance process that was intended to enable broad participation while also limiting ease of manipulation. The results of the process were not legally binding, but they have already influenced the Foundation’s strategy and will continue to shape our choices as an institution.

Here’s how the governance process worked. The Foundation’s leadership decided to curate a list of people who they knew were central to the Zcash community. We reached out to those people directly to ask them to join a Community Governance Panel. We also solicited applications from the world at large on various social media channels and the Zcash forum. I personally contacted the most active forum commenters via private messages.

In general, one-on-one outreach was the most effective for getting people to sign up, but public solicitation also worked. Only two applicants were rejected: A known scammer who has burned the Zcash community before, and a sketchy-seeming opportunist. The Community Governance Panel ending up totaling 72 people.

Once the Panel had been assembled, its members voted using encrypted ballots on a system called Helios. We know who voted, but we don’t know what their individual choices were, except for a few people who voluntarily disclosed their votes. 64 of the 72 voted, which is 88% turnout. The user experience of Helios was confusing for many participants, so that’s something we’ll try to address next time.

There were six policy ballots, and the most common topic among them was the future of Zcash mining. The ballots had been proposed by community members on GitHub. In retrospect, we could have guided the ballots better, since people complained that they were either too vague or too specific. In addition to those votes, the Community Governance Panel also selected two new Foundation board members, from a field of nine candidates.

Overall, the governance process was a success, not because it went 100% smoothly but because the Foundation learned so much about how to do a better job next time. The whole user experience and how we communicate expectations will be streamlined. In particular, we hope to include more voters from outside of the United States and Europe. I wish I could go into oodles of detail, but if you’re interested, our recap blog post explains everything!

Middlemen Are Crucial: Open-Source Software & Economic Growth

Disclaimer: I’m open to disagreement that is expressed respectfully. If you have an argument against my interpretation, please share it. (Of course, I can’t guarantee that I’ll agree with your critique.)


I want to elaborate on a conversation about the economics of code from Hacker News. User wrong_variable said:

“Programmers get no respect — and its our own fault.
The computing industry is directly responsible for 1/3 of global GDP in 2016.
Its time that this is reflected in our paycheck.”

Leaving aside the assertion that programmers aren’t paid well, I responded:

“Keep in mind that code is not useful or economically impactful without business and community management surrounding it.”

User overgard chimed in:

“I think that’s demonstrably untrue — open source and free software has had a massive economic and cultural impact with precious little of that originating from the involvement of business people or community leaders. (For instance, the GNU project or the linux kernel — not to mention how many commercial products must use zlib). Business support almost always comes after the value has been created.”

I disagree. There are two threads here that I want to tease out:

  1. Writing and testing code on the scale of a project like Linux or Ruby requires a community. Some people in the community, even if they are adept programmers, will be needed to support the project in other ways.
  2. Once a program / framework / whatever is ready, it can’t promote economic growth unless it’s deployed by a business. In other words, software for its own sake is economically pointless. (By the same principle, outside of the open-source world, managers, salespeople, and marketers exist for a reason.)

People who make things tend to underestimate the importance of middlemen. I mean “middlemen” broadly — anyone in between production and consumption. In this case, programmers are production and regular end-users are consumption. However, before any product can be consumed, you need distribution.

Photo by Florian Pircher.
Photo by Florian Pircher.

Prior to the internet, distribution was limited by physical location and thus geographically specific. Particular companies controlled particular regions; they maintained relationships with individual stores. On the internet this dynamic is fundamentally different because the cost of distribution is negligible. Digital goods are effectively free to replicate, meaning there is no marginal cost. (Ben Thompson’s “Aggregation Theory” describes the consequences: value comes from being the layer that users interact with, which compels suppliers or advertisers to use your platform.)

When it comes to software, distribution is simple but difficult. It consists of two crucial functions:

  1. Making people aware of the software’s existence.
  2. Convincing them to use it by providing a compelling value proposition.

For the most part, those things don’t happen spontaneously. You need evangelists (as much as I hate that word). And those evangelists need incentives. The creators and proponents of open-source software are usually not paid directly for their labor (there are exceptions) but they are rewarded with social capital that can be leveraged into professional remuneration. You need people to write documentation and blog posts, organize / host meetups, and generally nurture the project’s ecosystem. This is the “community” part of the “business and community management” that I cited as being vital.

Even more saliently, free and open-source software projects only have an economic impact when businesses exploit comparative advantage by using them. For example, Super Body Fuel’s online store was made with WooCommerce, which sits on top of WordPress. The owners didn’t have to hire a developer to build a site for them. Using PayPal [1] as their payment processor also lowered the up-front cost and hassle.

Because of this, businesses like Super Body Fuel need less capital to get started. The owners can spend more time focusing on factors that differentiate their business (in SBF’s case, formulating a healthier and less expensive competitor to Soylent). In terms of investment and payoff, growing their business is a higher-return activity than setting it up in the first place. Efficiency increases, which result from technological innovation, are the only impetus of non-zero-sum economic activity. In a word, growth.

Of course, none of this could happen if the Super Body Fuel owners didn’t know about WordPress and WooCommerce, or if they didn’t have access to the intermediary tools necessarily to deploy them. Some amount of information seeps around without anyone making an effort, but awareness and resources that will reach thousands of people almost always require intentional promotion. Thus, coding is not enough to propel the open-source world. Other types of labor are needed to keep attracting more contributors and users.


[1] Like every large software company, PayPal both uses and develops OSS. For example: OpenStack and Linux.

Just Your Typical Startup Acquisition Announcement

Today, for the first time, I encountered Creative Commons content on Medium: an article called “Startup Acquisition Announcement” by Petter Palander. Here’s the license summary. I decided to take advantage of this open-source opportunity and post a revised version of Palander’s article on my website, which is what you’re looking at now!


“We’re super excited that we’ve been acquired by [large company]  — rest assured, nothing will happen to the app you love!” How many times have I seen a note along these lines?

For example, here is the Sunrise founders’ letter to their users, posted on the day their app was acquired by Microsoft:

To our friends and Sunrise users:

Today, we’re excited to announce that Sunrise is joining Microsoft. For Sunrise, this is just the beginning.

Sunrise started two years ago with a simple idea that by combining beautiful design and great engineering, we could reimagine your calendar.

Sunrise will remain free and available for iPhone, iPad, Mac, Android and Desktop  — we’re not going anywhere.

And here are the acquisition notes from Microsoft:

Already downloaded by millions of users, the Sunrise app will remain in market and free after the acquisition.

Well. Wow. Nothing will happen. The app is not going anywhere! It will remain free! Amazing — and, of course, total bullshit.

Portrait of a sunrise by Susanne Nilsson.
Portrait of a sunrise by Susanne Nilsson.

Yesterday Microsoft announced that Sunrise will merge into Outlook. It took about eight months.

The Sunrise team is now officially a part of the broader Outlook product team […] All of this means Outlook will eventually replace the current Sunrise app. We will leave Sunrise in market until its features are fully integrated into Outlook.

Can anyone say “aquihire”? The Sunrise founders wrote a follow-up note:

Now here comes the sad news. As the entire team is completely focused on the Outlook for iOS and Android apps, we won’t be updating the Sunrise apps anymore.

Oops. Eight months between “Nothing will happen!” and “Forget we said that!” Are you surprised?

Unfortunately, this how most acquired startups behave. I get it: you don’t want to piss off the users who made it possible for you to be bought in the first place. Maybe the founders should have considered beforehand that one business model for startups  —  or at least one possible outcome  —  is to be acquired. Which is fine! Just don’t fool the users into believing nothing will change.

The founders, the buying company, and industry experts all know that business as usual won’t be the status quo for long. But most of a startup’s users don’t know that. They believe the company blog posts and keep on using the app based on how much they love it, as well as the founders’ reassuring statements. Until one day in the future when it just doesn’t work anymore.

Screenshot of Sunrise's website.
Screenshot of Sunrise’s website.

I loved, and still love, Sunrise. It’s by far the best mobile calendar app I’ve ever used. And I’m sure the team will do the best job they can to get the highlights of Sunrise into Outlook. But that’s not the point. What angers me is that users are deceived. Can we please just stop this bullshit and be honest to our users about what will happen post-acquisition?

Thanks to Aron Solomon and @bestham for the lightning-speed editing help.

Sign up for my newsletter to stay abreast of my new writing and projects.

I am a member of the Amazon Associates program. If you click on an Amazon link from this site and subsequently buy something, I may receive a small commission (at no cost to you).