<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Karan Goel</title>
    <description>I'm a software engineer with a knack for entrepreneurship, privacy, and freedom of information.
</description>
    <link>https://goel.io/</link>
    <atom:link href="https://goel.io/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Wed, 11 Aug 2021 23:46:11 +0000</pubDate>
    <lastBuildDate>Wed, 11 Aug 2021 23:46:11 +0000</lastBuildDate>
    <generator>Jekyll v4.2.0</generator>
    
      <item>
        <title>Hope amid the climate emergency</title>
        <description>&lt;p&gt;I sometimes have this conversation with friends - what gives us hope for the future of the world. As Dr. Ayana Elizabeth Johnson puts it, this is just a way for people to seek hope. Here are some headlines just from the &lt;em&gt;last 2 days&lt;/em&gt;:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.seattletimes.com/seattle-news/seattle-continues-to-break-heat-records-hits-105-degrees/&quot;&gt;Seattle continues to break heat records, hits 108 degrees&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.theguardian.com/world/2021/jul/01/british-columbia-sees-195-increase-in-sudden-deaths-during-canada-heatwave&quot;&gt;British Columbia sees 195% increase in sudden deaths during Canada heatwave&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.theguardian.com/environment/2021/jun/30/five-asian-countries-80-percent-new-coal-power-investment&quot;&gt;Five Asian countries account for 80% of new coal power investment&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.reuters.com/world/india/indias-death-toll-coronavirus-crosses-400000-2021-07-02/&quot;&gt;India’s death toll from coronavirus crosses 400,000; vaccination drive falters&lt;/a&gt;. &lt;em&gt;This is an undercount by many orders of magnitude&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Meanwhile, we’re putting &lt;a href=&quot;https://www.un.org/sustainabledevelopment/blog/2019/05/nature-decline-unprecedented-report/&quot;&gt;millions of species at risk of extinction&lt;/a&gt;, and the only group of people &lt;a href=&quot;https://www.huffpost.com/entry/billionaires-pandemic-inequality_n_5f84718dc5b6e5c32001d8c3&quot;&gt;benefiting&lt;/a&gt; from all the destruction are the wealthy.&lt;/p&gt;

&lt;p&gt;Hope only makes sense when you have a long time for it to motivate action. Climate change and its impacts are not theoretical, they are not our future. We’re living through them right now. With climate change at our doorstep, we just don’t have that kind of time. People don’t even talk the same language or share the same level of emergency&lt;sup&gt;&lt;a href=&quot;#footnote1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;. Hope to me feels like a blanket to hide from reality.&lt;/p&gt;

&lt;p&gt;I tell people not to look to me for hope because I have none to give. I just have fear and grief. Fear for the people that will have to live through the changing hostile planet, and grief for what could have been. The lack of hope doesn’t necessarily mean inaction either. The fear, the grief, and the guilt motivate me to donate both money and time.&lt;/p&gt;

&lt;p&gt;None of this is to say that the millions of scientists, educators, journalists, engineers, activists working their asses off to address climate change don’t matter; they are our only saving grace. I will take all the wins that we can get - criminally holding liable oil companies and their executives, closing down dirty energy production plants, expanding public transit, technological breakthroughts. They are not however a substitute for the &lt;em&gt;rapid&lt;/em&gt; global action that is needed with justice and equity at its core.&lt;/p&gt;

&lt;p&gt;To some this seems pessimistic. But to me this is just being realistic.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a name=&quot;footnote1&quot;&gt;1&lt;/a&gt;: I’m not talking about climate change deniers here (I don’t care for them). I’m talking about disagreements about everything from attributing blame, to agreeing on solutions, and to enforcing accountability.&lt;/p&gt;

</description>
        <pubDate>Fri, 02 Jul 2021 08:09:14 +0000</pubDate>
        <link>https://goel.io/hope</link>
        <guid isPermaLink="true">https://goel.io/hope</guid>
        
        <category>climate</category>
        
        <category>change</category>
        
        
      </item>
    
      <item>
        <title>Building noJS.club</title>
        <description>&lt;p&gt;Modern web is a mess. That’s why I think I loved the idea behind &lt;a href=&quot;https://1mb.club&quot;&gt;1MB Club&lt;/a&gt;, and the offshoots &lt;a href=&quot;https://512kb.club/&quot;&gt;512KB Club&lt;/a&gt; and &lt;a href=&quot;https://250kb.club/&quot;&gt;250kb Club&lt;/a&gt;. They are lists of websites where the pages are under 1MB, 512KB, and 256kb respectively.&lt;/p&gt;

&lt;p&gt;Taking inspiration from them, I am launching &lt;a href=&quot;https://nojs.club/&quot;&gt;The NoJS Club&lt;/a&gt;. As the name suggests, it’s a showcase of the Javascript-less web. While we can debate the merits of Javascript endlessly, without changing anyone’s mind, I’d like to highlight how I built the nojs.club website itself.&lt;/p&gt;

&lt;p&gt;I had two main goals with this project. First, adding a new website should not require someone to go through the cumbersome process of forking the repo and sending a pull request. Second, ongoing maintenance of the website should be reduced as much as possible.&lt;/p&gt;

&lt;p&gt;As you can guess, there’s an &lt;a href=&quot;https://xkcd.com/1319/&quot;&gt;xkcd&lt;/a&gt; for that:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/aOzKm7u.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;While I don’t expect the project to go viral, it was a fun learning opportunity. I decided to fully operationalize it through Github: Github Actions for adding new websites to the list, and Github Pages for hosting the resulting webpage.&lt;/p&gt;

&lt;p&gt;If you are not familiar with Github Actions, this is a good intro from &lt;a href=&quot;https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/introduction-to-github-actions&quot;&gt;Github docs&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;GitHub Actions help you automate tasks within your software development life cycle. GitHub Actions are event-driven, meaning that you can run a series of commands after a specified event has occurred. For example, every time someone creates a pull request for a repository, you can automatically run a command that executes a software testing script.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The full flow in nojs.club is like this:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Someone &lt;a href=&quot;https://github.com/karan/nojs.club/issues/new?assignees=&amp;amp;labels=&amp;amp;template=nojsrequest.md&amp;amp;title=example.com&quot;&gt;opens an issue&lt;/a&gt; suggesting a new website. The issue must follow the set template.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;A Github Actions Workflow kicks off and&lt;/p&gt;

    &lt;p&gt;a. Extracts the domain of the request (&lt;a href=&quot;https://github.com/karan/nojs.club/blob/19a5556c278e55a74572c7a0ab9bc524725f6e58/.github/workflows/main.yml#L32-L37&quot;&gt;code ref&lt;/a&gt;)&lt;/p&gt;

    &lt;p&gt;b. Find any use of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;script&amp;gt;&lt;/code&gt; tags on the web page. Good ol’ &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;curl&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;grep&lt;/code&gt; come in handy here (&lt;a href=&quot;https://github.com/karan/nojs.club/blob/19a5556c278e55a74572c7a0ab9bc524725f6e58/.github/workflows/main.yml#L39-L64&quot;&gt;code ref&lt;/a&gt;)&lt;/p&gt;

    &lt;p&gt;c. Post a comment on the issue with any Javascript found (&lt;a href=&quot;https://github.com/karan/nojs.club/blob/19a5556c278e55a74572c7a0ab9bc524725f6e58/.github/workflows/main.yml#L66-L72&quot;&gt;code ref&lt;/a&gt;)&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once that happens, someone (me) must manually approve the request. I must post a comment in the format &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/approve example.com 123.45&lt;/code&gt; where the numbers refer to the total size of downloaded assets in KB. Another workflow then kicks off and adds the domain to a CSV file in the same repo (&lt;a href=&quot;https://github.com/karan/nojs.club/blob/19a5556c278e55a74572c7a0ab9bc524725f6e58/.github/workflows/main.yml#L80-L111&quot;&gt;code ref&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/UONdXnW.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: While I can also automate the approval itself, I did not want to risk adding bad data to the list.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Excluding the latency for me to respond, this takes under a minute.&lt;/p&gt;

&lt;p&gt;When a new commit is pushed to the repo, a &lt;a href=&quot;https://github.com/karan/nojs.club/blob/main/.github/workflows/github-pages.yml&quot;&gt;different workflow&lt;/a&gt; builds and pushes the Jekyll-based site to the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gh-pages&lt;/code&gt; branch. That process takes a couple of minutes.&lt;/p&gt;

&lt;h2 id=&quot;some-gotchas&quot;&gt;Some gotchas&lt;/h2&gt;

&lt;p&gt;While the resulting process and code is relatively easy to follow and reason about, it did take a lot of head-banging for me to get it working end-to-end.&lt;/p&gt;

&lt;h4 id=&quot;fail-fast-shell&quot;&gt;Fail-fast shell&lt;/h4&gt;

&lt;p&gt;The default shell that Github provides fails fast: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-eo pipefail&lt;/code&gt;. What that means is that any command with a non-zero exit code will fail the job.&lt;/p&gt;

&lt;p&gt;Little did I know that &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;grep&lt;/code&gt; by default returns an exit code of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;1&lt;/code&gt; when no match is found:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ echo &quot;hello world&quot; | grep hi
$ echo $?
1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The bash script in a fail-fast shell, thus, ends up failing with an exit code of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;1&lt;/code&gt;, and &lt;a href=&quot;https://github.com/karan/nojs.club/runs/1456173513?check_suite_focus=true&quot;&gt;no useful logs&lt;/a&gt;.&lt;/p&gt;

&lt;h4 id=&quot;no-local-dev-environment&quot;&gt;No local dev environment&lt;/h4&gt;

&lt;p&gt;The lack of a full-fledged local dev environment for Github Actions meant that my development flow was slow and unpredictable. I would modify the action, push it, then test using real issues. This results in so much time being spent just waiting to test.&lt;/p&gt;

&lt;p&gt;I would urge Github to put out a real test environment that stubs events.&lt;/p&gt;

&lt;h4 id=&quot;jekyll-versioning&quot;&gt;Jekyll versioning&lt;/h4&gt;

&lt;p&gt;The website is built using Jekyll like I mentioned. Because I wanted the list of websites to be sorted by size of the web page, I had to do an in-memory sort (&lt;a href=&quot;https://github.com/karan/nojs.club/blame/19a5556c278e55a74572c7a0ab9bc524725f6e58/index.md#L28&quot;&gt;code ref&lt;/a&gt;). That worked well locally, but not when rendered by Github Pages.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/e9LOuEU.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;After some digging, I found that Github uses Jekyll 3.9.0 while my local install had 4.0.1. That seemed like a likely culprit, and as I found was &lt;a href=&quot;https://github.com/github/pages-gem/issues/651&quot;&gt;widely reported&lt;/a&gt;. Github has shown no interest in upgrading Jekyll, so the workaround for me was to build the Jekyll site on every commit using - you guessed it - Github Action (&lt;a href=&quot;https://github.com/karan/nojs.club/blob/19a5556c278e55a74572c7a0ab9bc524725f6e58/.github/workflows/github-pages.yml#L13&quot;&gt;code ref&lt;/a&gt;).&lt;/p&gt;

&lt;h4 id=&quot;trigger-action-on-commit&quot;&gt;Trigger action on commit&lt;/h4&gt;

&lt;p&gt;When a commit is made through a Github Action, by default the resulting action does not trigger any Github Action Workflows. As &lt;a href=&quot;https://help.github.com/en/actions/reference/events-that-trigger-workflows#triggering-new-workflows-using-a-personal-access-token&quot;&gt;Github explains&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;When you use the repository’s GITHUB_TOKEN to perform tasks on behalf of the GitHub Actions app, events triggered by the GITHUB_TOKEN will not create a new workflow run. This prevents you from accidentally creating recursive workflow runs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is a good default. However, this means that when my Github Action adds a new website to the CSV, it does not trigger a Jekyll build. A simple solution for this is to use a personal access token instead of the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;GITHUB_TOKEN&lt;/code&gt; (&lt;a href=&quot;https://github.com/karan/nojs.club/blob/19a5556c278e55a74572c7a0ab9bc524725f6e58/.github/workflows/main.yml#L85&quot;&gt;code ref&lt;/a&gt;).&lt;/p&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;There are of course many ways to implement a similar project, some better than others. In the end, this was a good project to learn some new skills, build something that aligns with &lt;a href=&quot;/about#principles&quot;&gt;my principles&lt;/a&gt;, and join a &lt;del&gt;viral trend&lt;/del&gt; fad.&lt;/p&gt;

&lt;p&gt;Now go remove all Javascript from your website and &lt;a href=&quot;https://github.com/karan/nojs.club/issues/new?assignees=&amp;amp;labels=&amp;amp;template=nojsrequest.md&amp;amp;title=example.com&quot;&gt;add it to the list&lt;/a&gt;.&lt;/p&gt;
</description>
        <pubDate>Wed, 25 Nov 2020 16:09:14 +0000</pubDate>
        <link>https://goel.io/nojs-club</link>
        <guid isPermaLink="true">https://goel.io/nojs-club</guid>
        
        <category>coding,</category>
        
        <category>programming</category>
        
        
      </item>
    
      <item>
        <title>Thoughts on the Election</title>
        <description>&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/EdOAMFg.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Historic:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;AP-US-APNewsAlert Nov 07, 2020 11:26AM (GMT 16:26) — 10 words WASHINGTON (AP) — Joe Biden elected president of the United States.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Joe Biden / Kamala Harris won with &lt;a href=&quot;https://en.m.wikipedia.org/wiki/List_of_United_States_presidential_candidates_by_number_of_votes_received&quot;&gt;more popular votes&lt;/a&gt; than Obama ever did, and is ahead with a larger margin than in 2016. What’s depressing is that 8 million &lt;em&gt;more&lt;/em&gt; people chose to vote for Trump - a bankrupt fascist responsible for 237,000+ deaths - now than in 2016.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Sadly, the voters who said in 2016 that they chose Trump because they thought he was “just like them” turned out to be right. Now, by picking him again, those voters are showing that they are just like him: angry, spoiled, racially resentful, aggrieved, and willing to die rather than ever admit that they were wrong.&lt;/p&gt;

  &lt;p&gt;&lt;a href=&quot;https://www.theatlantic.com/ideas/archive/2020/11/large-portion-electorate-chose-sociopath/616994/&quot;&gt;Tom Nichols: A Large Portion of the Electorate Chose the Sociopath&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The right is living is a delusion, not an alternate reality. In that delusion, their guy can only lose if there’s massive fraud (by whom? how?). Never mind the (lack of any) evidence of it.&lt;/p&gt;

&lt;p&gt;Of course what they call “fraud” is just the messy process of democracy; what they want is not a President or elections, but a King and a dynasty. They want to submit.&lt;/p&gt;

&lt;p&gt;Never mind the grift, the theft, the incompetence, the cruelty, the arrogance, the narcissism:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;President Trump is racing to raise money for an “official election defense fund.” But the fine print on the solicitations tells a different story: Half – or more – of any contribution will be used to retire debt from his re-election campaign.&lt;/p&gt;

  &lt;p&gt;Clicking through to the donation page, potential givers can review a disclaimer that 50% of any contribution will be used for general election campaign debt retirement and 50% for the campaign’s recount account.&lt;/p&gt;

  &lt;p&gt;&lt;a href=&quot;https://www.wsj.com/livecoverage/trump-biden-election-day-2020/card/zU0rMlE7ltxzuW4lIwai&quot;&gt;Julie Bykowicz: Trump Fundraising for Legal Challenges Would Also Pay Down Debt&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I won’t be surprised if ignorant, stupid, selfish people will happily be swindled yet again by a bankrupt con man who has never paid his debts back in full to prove to themselves that they have been right all along.&lt;/p&gt;

&lt;p&gt;The election is over, the misinformation and the lying straight from the top will continue to divide this country and its people. No foreign power needs to interfere now, the GOP is on it. It’s now up to the Zuckerbergs and the Dorseys of the world to &lt;sup&gt;&lt;a href=&quot;#footnote1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; to grow some &lt;del&gt;balls&lt;/del&gt; gonads, and ban the people spreading the dangerous lies starting with Trump. Waiting till January may be too late.&lt;/p&gt;

&lt;p&gt;Where does this get us? The best analogy I can come up with is this: You know how hair starts clogging up in the bathtub drain over time? Then you put a little thing on top of the drain that catches hair from going down.&lt;/p&gt;

&lt;p&gt;That’s where we are. The drain is still clogged but at least it’s not getting any worse. We’re gonna have to pull the nasty, gross stuff out to end the blockage. The &lt;a href=&quot;https://projects.fivethirtyeight.com/congress-trump-score/&quot;&gt;fascist-enabling&lt;/a&gt; politicians in Congress and in local legislatures need to be pulled out before democracy can function again.&lt;/p&gt;

&lt;p&gt;This time, the People kicked out a fascist, but fascism still very much exists. The delusion carries on.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a name=&quot;footnote1&quot;&gt;1&lt;/a&gt;: As if there’s more than one Facebook, Twitter or YouTube.&lt;/p&gt;
</description>
        <pubDate>Sat, 07 Nov 2020 12:09:14 +0000</pubDate>
        <link>https://goel.io/2020-election</link>
        <guid isPermaLink="true">https://goel.io/2020-election</guid>
        
        <category>politics</category>
        
        
      </item>
    
      <item>
        <title>Facebook's Transparency around Content Moderation is Deceptive</title>
        <description>&lt;p&gt;Facebook (like every other platforms) touts its content moderation and content removal numbers really well. Here’s just a sample from the last few months:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;September 13, 2020: &lt;a href=&quot;https://www.theverge.com/2020/9/13/21434743/facebook-remove-oregon-fires-rumors-antifa-qanon-false&quot;&gt;Facebook says it will remove false claims about who started wildfires in Oregon&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;August 19, 2020: &lt;a href=&quot;https://www.nytimes.com/2020/08/19/technology/facebook-qanon-groups-takedown.html&quot;&gt;Facebook Removes 790 QAnon Groups to Fight Conspiracy Theory&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;August 11, 2020: &lt;a href=&quot;https://www.washingtonpost.com/technology/2020/08/11/facebook-covid-misinformation-takedowns/&quot;&gt;Facebook says it has taken down 7 million posts for spreading coronavirus misinformation&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;August 11, 2020: &lt;a href=&quot;https://www.bloomberg.com/news/articles/2020-08-11/facebook-pulls-22-5-million-hate-speech-posts-in-second-quarter&quot;&gt;Facebook Pulls 22.5 Million Hate Speech Posts in Quarter&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;June 30, 2020: &lt;a href=&quot;https://www.cnbc.com/2020/06/30/facebook-removes-accounts-associated-with-boogaloo-movement.html&quot;&gt;The company removed 220 accounts, 95 Instagram accounts, 28 pages and 106 groups in the boogaloo network&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;May 12, 2020: &lt;a href=&quot;https://fortune.com/2020/05/12/facebook-removes-10-million-hate-speech-posts/&quot;&gt;Facebook removes 10 million posts for hate speech as tensions rise on the social network&lt;/a&gt;&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These numbers in theory sound great. Who wouldn’t want millions of posts with hate speech removed? Who would be opposed to remove dangerous terrorists off the platform?&lt;/p&gt;

&lt;p&gt;However, this is deception and manipulation. This is Facebook PR telling you that only Facebook can solve problems of content moderation because of its scale (without realizing that the scale is what caused these problems).&lt;/p&gt;

&lt;p&gt;What never gets answered in these press releases is what reach these posts had before they were taken down. You may have heard of &lt;a href=&quot;https://www.washingtonpost.com/&quot;&gt;Facebook removing the Plandemic propaganda&lt;/a&gt;, but what you may not have heard about is that it only happened after the video was viewed millions of times. In other words, the damage was already done.&lt;/p&gt;

&lt;p&gt;Facebook wants you to know that it took down millions of posts spreading coronavirus misinformation. But what it won’t tell you is how many people saw those posts, and how many people believed them enough to share them. Facebook won’t tell you how many people were harmed in real life due to its inaction.&lt;/p&gt;

&lt;p&gt;Facebook wants you to know that it removed hundreds of white nationalist terrorists from its platform. But it won’t tell you how many other people were already manipulated by those accounts. It won’t tell you what their “reach” was. It won’t tell you how many other people were brainwashed into taking arms before they were banned.&lt;/p&gt;

&lt;p&gt;The other thing Facebook refuses to do is correct the record after taking punitive action against its users. If you see a false coronavirus post that Facebook later deletes, you won’t see a correction to the earlier post. The net effect of that is that the platform lets misinformation spread faster than it ever could, eventually takes it down (sometimes), but never corrects it. The damage is done! &lt;sup&gt;&lt;a href=&quot;#footnote1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt; &lt;sup&gt;&lt;a href=&quot;#footnote2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;So what’s the solution? Facebook will have you believe that its elusive &lt;a href=&quot;https://www.zdnet.com/article/facebook-says-ai-enhancements-have-bolstered-its-content-moderation-efforts/&quot;&gt;AI-based&lt;/a&gt; content moderation will solve the problem of policing the platform. The fact of the matter is that no algorithm is going to work. Even with a 99% accuracy rate ― which may never happen ― we’re talking about millions of dangerous users and posts being left up for hours, or days, or forever.&lt;/p&gt;

&lt;p&gt;No content moderation system is going to be perfect. Humans won’t be perfect, AI won’t be perfect. Short of shutting it down entirely ― which can be a net positive for humanity ― what may work is to limit the reach of any content, especially dangerous content across its network.&lt;/p&gt;

&lt;p&gt;Facebook’s scale &lt;em&gt;is the problem&lt;/em&gt;. It’s much easier for a teacher to manage a classroom of a dozen rowdy kids than a lecture hall of a thousand kids. Facebook has far too much power over far too much of the world’s population, and a solid re-thinking of the anti-trust framework may break that hold.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a name=&quot;footnote1&quot;&gt;1&lt;/a&gt;: Facebook will show fact check notices next to some content, the fact check policies themselves &lt;a href=&quot;https://www.fastcompany.com/90538655/facebook-is-quietly-pressuring-its-independent-fact-checkers-to-change-their-rulings&quot;&gt;are influenced&lt;/a&gt; by the company’s business interests.&lt;/p&gt;

&lt;p&gt;&lt;a name=&quot;footnote2&quot;&gt;2&lt;/a&gt;: Facebook must send notifications to users that have engaged in any form with misinformation and disinformation correcting the record.&lt;/p&gt;
</description>
        <pubDate>Sun, 13 Sep 2020 08:09:14 +0000</pubDate>
        <link>https://goel.io/facebook-deception</link>
        <guid isPermaLink="true">https://goel.io/facebook-deception</guid>
        
        <category>privacy,</category>
        
        <category>tech,</category>
        
        <category>monopoly</category>
        
        
      </item>
    
      <item>
        <title>Privacy advocates are failing to respond to the “nothing to hide” argument</title>
        <description>&lt;p&gt;Within privacy circles, Glenn Greenwald’s &lt;a href=&quot;https://www.ted.com/talks/glenn_greenwald_why_privacy_matters&quot;&gt;2014 TED talk&lt;/a&gt; titled “Why privacy matters” is considered required reading. One quote jumps out to nearly everyone ― including the live audience ― has to do with how Greenwald responds to people who don’t worry about privacy because they have nothing to hide.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;I always say the same thing to them. I get out a pen, I write down my email address. I say, “Here’s my email address. What I want you to do when you get home is email me the passwords to all of your email accounts…[snip]”&lt;/p&gt;

  &lt;p&gt;Not a single person has taken me up on that offer.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;He continues to explain why that is:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;And there’s a reason for that, which is that we as human beings, even those of us who in words disclaim the importance of our own privacy, instinctively understand the profound importance of it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ending that thinking with:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;People can very easily in words claim that they don’t value their privacy, but their actions negate the authenticity of that belief.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I used to agree and echo the same point, mostly in jest. Some version of “then hand me your passwords” is even a popular comeback &lt;a href=&quot;https://old.reddit.com/r/privacy/search?q=%22nothing%20to%20hide%22&amp;amp;restrict_sr=1&quot;&gt;on Reddit&lt;/a&gt; to the the “&lt;a href=&quot;https://en.wikipedia.org/wiki/Nothing_to_hide_argument&quot;&gt;nothing to hide&lt;/a&gt;” argument.&lt;/p&gt;

&lt;p&gt;Over time, I’ve come to realize that the response does very little to actually understand where people are coming from, and to really explain to them &lt;a href=&quot;https://whyprivacymatters.org/&quot;&gt;why privacy matters&lt;/a&gt;. Of course no one would hand me keys to their bank account just to prove a point. I won’t dissect the matter too much ― people much more qualified than me have been &lt;a href=&quot;https://scholar.google.com/scholar?hl=en&amp;amp;as_sdt=0%2C48&amp;amp;q=nothing+to+hide+argument&amp;amp;btnG=&amp;amp;oq=%22nothing+to+hide%22&quot;&gt;doing so for years&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;One understated aspect of the “nothing to hide” argument has to do with how humans think of themselves in crowds. Much like in a busy city, people tend to think they are invisible; they are one in many. Everyone feels a sense of anonymity in large crowds. Individuals are surrounded, but not watched. They are not “important”.&lt;/p&gt;

&lt;p&gt;I believe the same concept intrinsically causes an average person to suspend the need for privacy in the digital realm. I have nothing to hide, because no one is watching &lt;em&gt;me&lt;/em&gt;. I am not “important”.&lt;/p&gt;

&lt;p&gt;Up until the 1980s spying was very labor intensive and hard to scale. You could only spy on one person at a time. With the advent of &lt;del&gt;big data&lt;/del&gt; digital data processing, falling prices of surveillance equipment, as well as dirt-cheap storage and compute technologies, that is no longer true. Through economies of scale, it is cheaper to monitor and spy on a hundred thousand people than on hundred people.&lt;/p&gt;

&lt;p&gt;With the choice of privacy, we have the freedom to choose to be who we want; we are allowed to create identities we choose. The promise of the Internet and technology was to expand that choice even more. Every day, I see that promise reneged.&lt;/p&gt;

&lt;p&gt;Recently, many apps including TikTok and LinkedIn were &lt;a href=&quot;https://arstechnica.com/gadgets/2020/06/tiktok-and-53-other-ios-apps-still-snoop-your-sensitive-clipboard-data/&quot;&gt;caught snooping&lt;/a&gt; on clipboards on iPhones (data you cut or copy but may not have pasted anywhere else). Weirdly, they all claimed to have had the same bug. Even with all the might of the US government or the Soviet spying apparatus, accidentally spying on tens of millions of people’s thoughts was impossible until recently. Now, all it takes is an over-worked software engineer.&lt;/p&gt;

&lt;p&gt;We all are creeped out when we see a car following us. I do not believe that at this time privacy advocates are doing a good job of explaining to normal people why digital surveillance is cause for concern. I believe their arguments are scattered, hard to parse, and still considered an artifact of the cypherpunk era. We can do a better job of talking about how knowledge, privacy, and power are interconnected, and how that balance of power has tipped largely against the general public.&lt;/p&gt;

&lt;p&gt;We can do a better job of explaining why the promise of a better life through technology has been a lie, and that the cost is too high.&lt;/p&gt;

&lt;p&gt;Now, I don’t think we need to be extremists about our privacy. Giving up some privacy is good under some circumstances ― sharing personal details with loved ones creates a more intimate bond, sharing some details with government health departments helps in contact tracing during a pandemic.&lt;/p&gt;
</description>
        <pubDate>Fri, 14 Aug 2020 08:09:14 +0000</pubDate>
        <link>https://goel.io/nothing-to-hide</link>
        <guid isPermaLink="true">https://goel.io/nothing-to-hide</guid>
        
        <category>privacy,</category>
        
        <category>tech</category>
        
        
      </item>
    
      <item>
        <title>Gideon Lewis-Kraus: Slate Star Codex and Silicon Valley’s War Against the Media</title>
        <description>&lt;p&gt;Gideon Lewis-Kraus in &lt;a href=&quot;https://www.newyorker.com/culture/annals-of-inquiry/slate-star-codex-and-silicon-valleys-war-against-the-media&quot;&gt;The New Yorker&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;But the rationalists, despite their fixation with cognitive bias, read into the contingencies a darkly meaningful pattern. Alexander, whose role has been to help explain Silicon Valley to itself, was taken up as a mascot and a martyr in a struggle against the Times, which, in the tweets of Srinivasan, Graham, and others, was enlisted as a proxy for all of the gatekeepers—the arbiters of what it is and is not O.K. to say, and who is allowed, by virtue of their identity, to say it. As Eric Weinstein, a podcast host and managing director at Peter Thiel’s investment firm, tweeted, “I believe that activism has taken over.” Here was the first great salvo in a new front in the culture wars.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And then,&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The temperature of the reaction only seemed to climb as rumors spread that Metz’s interest in Slate Star Codex might not be limited to Alexander’s early warnings about the coronavirus. Messages from Metz, published on Twitter and Reddit, revealed that his overtures to S.S.C. figures had referred to the blog’s readership with such adjectives as “powerful” and “interesting,” and noted that S.S.C. was a “hugely influential voice, not only with the tight-knit community in the comments, but with some very influential figures in Silicon Valley and beyond.” These neutral, noncommittal words were ominously interpreted, taken as a clue that the reporter might be working on something other than a light, flattering story.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This reminds me awfully of &lt;a href=&quot;https://www.theatlantic.com/newsletters/archive/2020/05/qanon-q-pro-trump-conspiracy/611722/&quot;&gt;QAnon&lt;/a&gt;, and the tendency to look for confirmation bias to prove your &lt;del&gt;point&lt;/del&gt; conspiracy theory. (And I’m sorry, “rationalists”?)&lt;/p&gt;

&lt;p&gt;Further down:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;As Paul Graham pointed out, in a 2017 tweet, it was unfair to condemn the entirety of the tech sector based on a few bad actors. “Criticizing Juicero is fine,” he wrote. “What’s intellectually dishonest is criticizing SV by claiming Juicero is typical of it.” (The obvious irony—that people like Graham nevertheless feel free to write off the entirety of “the media” on a similarly invidious basis—seems lost on many of them.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;Alexander goes on, in the post, to allow that Silicon Valley is not above reproach, acknowledging that “anything remotely good in the world gets invaded by rent-seeking parasites and empty suits,” but argues that journalists at publications such as the former Deadspin do not understand that the “spirit of Silicon Valley” is “a precious thing that needs to be protected.” (Deadspin, in its original form, did not survive the aftermath of Hulk Hogan’s lawsuit against its former parent company, Gawker Media; the lawsuit was underwritten by Peter Thiel, which complicates the issue of who, exactly, needs protection from whom.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The victim complex amongst the elite of Silicon Valley extends far beyond the geography of the Valley. The rich have never liked accountability, especially amongst the technocrats who are never taught how to handle real-world criticism. For years, I believe, media was easy on tech companies and people. They were coddled; now we’re in a big mess.&lt;/p&gt;

&lt;p&gt;I personally despise these “thought leaders” who think they are experts on everything just because they are rich or famous. They think they are entitled to an audience, and that their veil of jargon and pseudo-philosophy will shield them from any consequences. The dangerous thing however is the sheer size of the mob of blind defenders they cultivate (Paul Graham has over 1 million Twitter followers).&lt;/p&gt;

&lt;p&gt;So much for “radical transparency” and “continuous self iteration”. &lt;a href=&quot;https://www.newyorker.com/culture/annals-of-inquiry/slate-star-codex-and-silicon-valleys-war-against-the-media&quot;&gt;The whole piece&lt;/a&gt; is worth a read.&lt;/p&gt;
</description>
        <pubDate>Sun, 12 Jul 2020 08:09:14 +0000</pubDate>
        <link>https://goel.io/sv-media</link>
        <guid isPermaLink="true">https://goel.io/sv-media</guid>
        
        <category>silicon</category>
        
        <category>valley,</category>
        
        <category>journalism</category>
        
        
      </item>
    
      <item>
        <title>Why My Tweets are Ephemeral</title>
        <description>&lt;p&gt;A few weeks ago, I &lt;a href=&quot;https://twitter.com/karangoel/status/1268740608614514688&quot;&gt;decided&lt;/a&gt; that my tweets will be ephemeral. Unless they are tagged with “#DNT”, my tweets will auto-delete after 3 days&lt;sup&gt;&lt;a href=&quot;#footnote1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;. After being on Twitter for over a decade, and taking a months-long hiatus from using the platform recently, it was not a very hard decision.&lt;/p&gt;

&lt;p&gt;I primarily use Twitter to share opinions around current events. Twitter, like other social media platforms, encourages reactions and speed. I tend to be very candid there, often calling others out. These fast reactions are often full of emotions and are not always well-thought out.&lt;/p&gt;

&lt;p&gt;On your social media profile, your historical tweets will be attributed to the person you are now. When you see someone’s social media profile today, you do so in today’s context. Unfortunately, there’s no way to convey that context over the tubes. That leaves very little room for people to evolve and change for the better.&lt;/p&gt;

&lt;p&gt;My tweets from years ago are pretty mundane, and likely not controversial; I still choose not to be represented by them.&lt;/p&gt;

&lt;p&gt;Due to the real-time nature of Twitter, there’s often no engagement on tweets after first few hours, much less days or years. Think about it, how many times do you get people retweeting you the next day, or on the third day? Unless you are a big-shot, probably rarely.&lt;/p&gt;

&lt;p&gt;One push-back I have received to this is that deleting tweets breaks conversations; it makes others’ replies to my tweets look broken. That’s fair. My argument to this is the same—how often do people look back at their conversations from days ago? Not often. Those who do though should probably set up some sort of backup.&lt;/p&gt;

&lt;p&gt;My purpose here is to not scrub things I’ve said. I’m aware of archiving services like the Internet Archive (&lt;a href=&quot;https://archive.org/donate/&quot;&gt;donate to them&lt;/a&gt;). I know they can preserve my tweets—forever—before I delete them. I know that the Internet is not ephemeral. My goal here is to be more in control of my public profile and persona, while being honest in the moment.&lt;/p&gt;

&lt;p&gt;Twitter is a great tool if you use it right. Of course it has a lot of harassment, racism, trolling, and other filth there. To me though, the ability to control what I see, and to control what others see about me is paramount. It makes the experience a little better.&lt;/p&gt;

&lt;p&gt;If you want to do the same, I wrote &lt;a href=&quot;https://github.com/karan/fleets&quot;&gt;a tool for it&lt;/a&gt;. Just set it up to run on a cron schedule, and it will automatically delete your tweets, retweets and favorites.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;# Every day at 4pm
0 16 * * * ENV_FILE_PATH=/home/prod.env /home/fleets
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a name=&quot;footnote1&quot;&gt;1&lt;/a&gt;: I may change this to 2 days in the future.&lt;/p&gt;
</description>
        <pubDate>Fri, 03 Jul 2020 08:09:14 +0000</pubDate>
        <link>https://goel.io/fleets</link>
        <guid isPermaLink="true">https://goel.io/fleets</guid>
        
        <category>privacy,</category>
        
        <category>social</category>
        
        <category>media</category>
        
        
      </item>
    
      <item>
        <title>Ownership in The Age of DRM</title>
        <description>&lt;p&gt;I’ve been thinking about what it means to own something. The definition that resonated the most with me is this&lt;sup&gt;&lt;a href=&quot;#footnote1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;You own what you can pass down&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It used to be common decades ago for people to pass down their property including media (vinyl records, disks, cassettes). You paid for hard assets that you owned.&lt;/p&gt;

&lt;p&gt;Objectively, it’s easier to hold on to, and pass down, digital assets - you just have to change the “ownership” field in a database, or hand over a hard drive.&lt;/p&gt;

&lt;p&gt;Instead, we got &lt;a href=&quot;https://www.eff.org/issues/drm&quot;&gt;Digital Rights Management&lt;/a&gt;. DRM comprises of tools to lock down &lt;em&gt;who&lt;/em&gt; has access to content, &lt;em&gt;where&lt;/em&gt; it can be accessed, and for &lt;em&gt;how long&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Simply put, if you buy an album on iTunes, it’s DRM protected. You cannot watch it on an Android device. Legally, you can’t even share it with your partner or family.&lt;/p&gt;

&lt;p&gt;If you buy an ebook on Amazon, you merely get a license to read it. If Amazon decides they don’t like you as a customer and delete your account, you lose your book. Or, if your Kindle dies, you can’t just open the book on your computer or phone.&lt;/p&gt;

&lt;p&gt;Using DRM, media companies can prosecute anyone that trying to transfer a Blu-Ray movie to their own computer.&lt;/p&gt;

&lt;p&gt;That’s not ownership. In the digital age, we merely borrow when we “buy”.&lt;/p&gt;

&lt;p&gt;To me, I only own media if:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;I can store it on any device I own&lt;/li&gt;
  &lt;li&gt;I can transfer it freely between devices I own&lt;/li&gt;
  &lt;li&gt;I can consume it through any device&lt;sup&gt;&lt;a href=&quot;#footnote2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;
  &lt;li&gt;The seller cannot take it away from me&lt;/li&gt;
  &lt;li&gt;I can transfer ownership freely&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Based on that criteria, the following are not ownership:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Netflix, Spotify, Pandora (is that still a thing) etc&lt;/li&gt;
  &lt;li&gt;iTunes&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.salon.com/2013/03/01/do_you_truly_own_your_e_books/&quot;&gt;Kindle books&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Blu-Ray disks (and some DVDs)&lt;/li&gt;
  &lt;li&gt;Gaming console disks, or digital games (Steam)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The only media marketplace I use that meets that criteria is &lt;a href=&quot;https://bandcamp.com/&quot;&gt;Bandcamp&lt;/a&gt; where you buy music directly from artists and get to download it.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/img/posts/2020/2020-07-02-ownership-drm.png&quot; alt=&quot;&quot; /&gt;
&lt;em&gt;&lt;a href=&quot;https://nadasurf.bandcamp.com/&quot;&gt;Nada Surf&lt;/a&gt; is an awesome alt-rock band!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I prefer straight up MP3 files. That’s what doing digital media the right way looks like.&lt;/p&gt;

&lt;p&gt;Don’t get me wrong. For creators piracy is a big problem. Some common reasons for piracy and illegal media sharing are:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Not available in consumers’ region&lt;/li&gt;
  &lt;li&gt;Delayed release in consumers’ region&lt;/li&gt;
  &lt;li&gt;Not convenient to purchase&lt;/li&gt;
  &lt;li&gt;Not convenient to consume the media (DRM)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, DRM is not a solution. It’s a duct tape on a crumbling building.&lt;/p&gt;

&lt;p&gt;I do recognize that creators have bills and should be paid fairly for their work. I will continue to pay for my media (that’s both “bought” and &lt;em&gt;bought&lt;/em&gt;) as well support creators directly (Patreon etc).&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a name=&quot;footnote1&quot;&gt;1&lt;/a&gt;: I did not come up with this, but I also can’t find out where I read/watched/listened this idea. If you do, let me know.&lt;/p&gt;

&lt;p&gt;&lt;a name=&quot;footnote2&quot;&gt;2&lt;/a&gt;: I don’t necessarily mean that if the latest video or audio codec is not supported on Android for example, then the media encoded in that codec breaks my criterion. However the codec spec must be open and not proprietary for alternative implementations.&lt;/p&gt;
</description>
        <pubDate>Thu, 02 Jul 2020 10:09:14 +0000</pubDate>
        <link>https://goel.io/drm-ownership</link>
        <guid isPermaLink="true">https://goel.io/drm-ownership</guid>
        
        <category>monopoly,</category>
        
        <category>money,</category>
        
        <category>privacy</category>
        
        
      </item>
    
      <item>
        <title>I Cancelled my Amazon Prime Account</title>
        <description>&lt;p&gt;Last week, I decided to cancel my Amazon Prime account.&lt;/p&gt;

&lt;p&gt;Over time, I have come to realize that I don’t really need things in two days or fewer. I either need something right now - in which case I’ll run to the store - or soon - in which case I’ll shop around for a quality product.&lt;/p&gt;

&lt;p&gt;I did not feel like I should contribute to Bezos getting any richer&lt;sup&gt;&lt;a href=&quot;#footnote1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;

&lt;p&gt;Amazon &lt;del&gt;evades&lt;/del&gt; &lt;a href=&quot;https://www.theguardian.com/technology/2018/apr/25/from-seattle-to-luxembourg-how-tax-schemes-shaped-amazon&quot;&gt;avoids taxes&lt;/a&gt;, &lt;a href=&quot;https://www.bloomberg.com/news/articles/2020-04-08/an-amazon-warehouse-is-dealing-with-a-coronavirus-outbreak&quot;&gt;mistreats its workers&lt;/a&gt; (including &lt;a href=&quot;https://time.com/956/how-amazon-crushed-the-union-movement/&quot;&gt;busting unions&lt;/a&gt;), is extremely &lt;a href=&quot;https://www.theatlantic.com/technology/archive/2017/06/when-exactly-does-amazon-become-a-monopoly/530616/&quot;&gt;monopolistic&lt;/a&gt;, and &lt;a href=&quot;https://www.poynter.org/tfcn/tfcn-feature/2019/how-big-is-amazons-carbon-footprint/&quot;&gt;horrible for the environment&lt;/a&gt;&lt;sup&gt;&lt;a href=&quot;#footnote2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;.  Through years of scandals, it’s clear that buying products from Amazon is like consuming news from Facebook - you just can’t trust it. The “platform” means they don’t have a stake in making sure the products they sell are authentic (let alone safe).&lt;/p&gt;

&lt;p&gt;I know I’m in a very small minority here, and I also realize for many people Amazon Prime is an excellent deal. I am fortunate enough to be able to shop at local businesses, or through other websites. For example, I recently bought some toys as a gift and opted to buy at a local store (that had to layoff their staff due to COVID), and &lt;a href=&quot;https://bookshop.org/books/goliath-the-100-year-war-between-monopoly-power-and-democracy/9781501183089&quot;&gt;a book at bookshop.org&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you can, you should &lt;a href=&quot;https://www.amazon.com/gp/help/customer/display.html?nodeId=201910380&quot;&gt;cancel your Prime subscription&lt;/a&gt; too.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;a name=&quot;footnote1&quot;&gt;1&lt;/a&gt;: How smart a person is, or how successful a person is, is orthogonal to how that person uses their power. In Bezos’s case, he’s wielded his power and his wealth to fight a &lt;a href=&quot;https://gizmodo.com/blue-origin-reminds-everyone-it-has-a-big-rocket-too-1793058691&quot;&gt;billionaire dick-measure contest&lt;/a&gt;. Yes he pledged to give $10B for climate change causes, but the &lt;a href=&quot;https://www.commondreams.org/news/2020/02/18/one-hand-cannot-give-what-other-taking-away-critics-skeptical-bezos-pledge-10&quot;&gt;hypocrisy of his goodwill&lt;/a&gt; is apparent.&lt;/p&gt;

&lt;p&gt;&lt;a name=&quot;footnote2&quot;&gt;2&lt;/a&gt;: The cohort of terrible corporations is very large. Amazon, however, is one of the biggest.&lt;/p&gt;
</description>
        <pubDate>Fri, 19 Jun 2020 10:09:14 +0000</pubDate>
        <link>https://goel.io/cancel-prime</link>
        <guid isPermaLink="true">https://goel.io/cancel-prime</guid>
        
        <category>monopoly,</category>
        
        <category>amazon</category>
        
        
      </item>
    
      <item>
        <title>Read: How Mastodon Works</title>
        <description>&lt;p&gt;I recently &lt;a href=&quot;https://fosstodon.org/@karan&quot;&gt;joined&lt;/a&gt; a Mastodon server years after ditching Facebook (and Instagram) and dramatically scaling back my Twitter use (if there’s interest, I can write about why I quit most social media).&lt;/p&gt;

&lt;p&gt;Mastodon is a breath of fresh air. It’s decentralized and you can run your own instance - meaning you own your data - and “federate” with other instances. The best way I can describe Mastodon Facebook-groups-meet-Twitter. On blockchain of course (just kidding).&lt;/p&gt;

&lt;p&gt;Even though many concepts are similar to Twitter’s, the curve to understanding Mastodon can be steep. Kev Quirk has &lt;a href=&quot;https://kevq.uk/how-does-mastodon-work/&quot;&gt;a post&lt;/a&gt; where he explains these concepts. I particularly like his explanation of federation:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The Mastodon network is made up of individual servers, called Instances. If we use our email analogy; think of Mastodon as email as a whole. So if Mastodon is “email”, then an Instance would be an email provider. For example, Gmail, Hotmail, or Zoho.&lt;/p&gt;

  &lt;p&gt;They’re all completely different servers that are run by completely different companies, but Gmail, Hotmail and Zoho can all send email to one another.&lt;/p&gt;

  &lt;p&gt;Mastodon is the same. My instance, Fosstodon, is run my myself and my friend Mike. Yet we can Toot with thousands of other Mastodon servers around the world that we do not run.&lt;/p&gt;

  &lt;p&gt;&lt;a href=&quot;https://kevq.uk/how-does-mastodon-work/&quot;&gt;Kev Quirk: How Does Mastodon Work?&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Barring the largest instances, &lt;a href=&quot;https://joinmastodon.org/#getting-started&quot;&gt;the communities&lt;/a&gt; are much smaller. Whereas Twitter is a football stadium where the loudest person gets some attention, Mastodon is like a living room where people don’t yell at all. People are nice and respectful. The pace is much slower.&lt;/p&gt;

&lt;p&gt;It gives you time to interact, and not just engage.&lt;/p&gt;
</description>
        <pubDate>Thu, 18 Jun 2020 10:09:14 +0000</pubDate>
        <link>https://goel.io/how-mastodon-works</link>
        <guid isPermaLink="true">https://goel.io/how-mastodon-works</guid>
        
        <category>privacy,</category>
        
        <category>mastodon,</category>
        
        <category>decentralized</category>
        
        
      </item>
    
  </channel>
</rss>
