Initial commit
This commit is contained in:
commit
106e2844ca
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.obsidian
|
25
Bright Green Lies Reflection.md
Normal file
25
Bright Green Lies Reflection.md
Normal file
@ -0,0 +1,25 @@
|
||||
# Bright Green Lies and the Fermi Paradox
|
||||
|
||||
I just finished reading [Bright Green Lies](https://libro.fm/audiobooks/9781666154122) by Derrick Jensen, Lierre Keith and Max Wilbert. I really love when a book completely changes my perspective on a topic. This book did just that. Like many others, I have been concerned for quite some time about the environment and about climate change. My thinking has always been that, since it's futile to expect governments or businesses to do the right thing for curbing emissions, then the only solution to the problem is for us to engineer our way out of it. In other words, I always thought that if we built enough green technology, it would be the only way to solve the problem. This book takes that notion, and thrashes it against a wall.
|
||||
|
||||
The authors systematically take all of those technologies that I thought were going to save the planet, and show me how much damage they do to the planet they are trying to save. This is quite a devistating revelation for me because, I thought that those technologies are our *last* hope. Fossil fuels will continue to be burned, capitalist industrialism will press on, whether I like it or not. If there is nothing that humans can do to steer the market in the positive direction, then we are truly fucked as a species.
|
||||
|
||||
With all of the doom and gloom of the first 14 chapters of the book, I was hoping that the last chapter would have some golden nugget. A way to solve this problem in some kind of systematic way. If I have any criticism of the book, I say it falls short in really clearly laying out the answer. The authors say that we need to stop burning fossil fuels completely, and they also talk about some really interesting work being done with sequestering carbon in soils. That's all well and good, but we are *never* getting off of fossil fuels. It's just not going to happen. The book itself even lays out in many chapters why it will never happen. Essentially all this book is showing us is how fucked we are. The solution is one that is unattainable from a game theory perspective.
|
||||
|
||||
So I guess now that this book has taken away my last hope for solving climate change, I will go back to my old doom and gloom stance that, due to factors out of my control, there is nothing that can be done.
|
||||
|
||||
## Reflection on the Fermi Paradox
|
||||
The above reflection on the book makes me really think broadly about humans and the path that we are headed toward. I've always been fascinated by the [Fermi Paradox](https://en.wikipedia.org/wiki/Fermi_paradox). In a nutshell, the Fermi Paradox states that, given the probability of intelligent life forming on a planet, and given the sheer number of planets in the galaxy, you would think that we would have run into another civilization by now. This hasn't happened, so that's contradictory. There have been countless hypotheses about why this may be the case. My favorite has always bee the "Dark Forest" hypothesis, which essentially states that civilizations would be hesitant to attempt communication with each other given that you don't know if a civilization is friendly or not, so you don't want to risk annihilation.
|
||||
|
||||
Thinking about Bright Green Lies, and the whole issue with game theory, and climate change, it makes me think that what is really true about intelligent civilizations, is that there are just not enough resources to grow past your own planet. The human race has been growing and growing. We are at something like 7 billion people now, and our industrial processes have completely thrown this planet off balance. We are now due for a devistating course correction that will likely wipe out a bunch of our species and reset us to a less modern state (a state that the book argues, we should willfully go to, so as to minimize the death toll). If we again attempt to rebuild, we can only go so far before this happens again. We have gone way beyond our [carrying capacity](https://en.wikipedia.org/wiki/Carrying_capacity), and we won't make it off world, because every time we try, the earth will need to correct for all of the devistation that we create. Therefore, maybe it's just not physically possible for a civilization to exploit their planets resources enough to actually colonize an entire solar system, let alone outside of a solar system.
|
||||
|
||||
If we think about the conditions that need to be met for life to leave its own planet, it would shrink the probability of space-faring civilization possibly to 0. You not only need a planet capable of growing life, i.e. within it's [goldilocks zone](https://en.wikipedia.org/wiki/Circumstellar_habitable_zone). You also need a species to develop that is intelligent. Then, you need the planet to have enough resources available such that, that intelligent lifeform can colonize surrounding uninhabitable planets and be able to sustain itself on those. Those outer colonizations would also probably cost more energy than the civilization on the habitable planet, because you would need to maintain a habitable infrastructure. It's possible that this would actually shrink the probability significantly, to the point where it makes total sense why we haven't seen any other civilizations, and why we aren't all living inside of a grand [galactic empire](https://en.wikipedia.org/wiki/Galactic_empire).
|
||||
|
||||
## Conclusion
|
||||
A bit morbidly, the thought that our civilization is doomed to fail is a bit freeing. At this point, it is out of my control. There is nothing that one person can do, especially someone who is not a politician or a billionaire, that can have even a remote positive effect on the trajectory that we are headed toward. I admire people like [Greta Thunberg](https://en.wikipedia.org/wiki/Greta_Thunberg) who are really getting their voices heard and starting movements across the globe, but we still don't see politicians taking this seriously, and the only concern of entrepeneurs is to line their own pockets.
|
||||
|
||||
Elon Musk wants to [colonize Mars](https://www.cnbc.com/2021/12/15/elon-musk-surprised-if-were-not-landing-on-mars-within-five-years.html), but I think it would make more sense to colonize Earth. Start building the same shelters you were planning for Mars right here, because we are going to need them sooner than you think. My plan is to try my best to reduce, re-use, and recycle, but at the end of the day, its up to the people running the factories and the governments to make the real change.
|
||||
|
||||
Many moral questions come to mind here, such as: Is it okay to bring a child into a world that is in this state? Is violent activism justified when the stakes are this high? These topics warrant a full article of their own, but suffice to say that I worry deeply for the well-being of future generations, and I think violence as a result of climate change is not only inevitable, but [has already been taking place](https://www.dw.com/en/how-climate-change-paved-the-way-to-war-in-syria/a-56711650).
|
||||
|
||||
As always, I encourage feedback and discussion on these topics. Feel free to send me an email with your thoughts, and remember to share this article with others if you found it interesting or thought provoking.
|
267
Slack Status From PomoDoneApp Tutorial.md
Normal file
267
Slack Status From PomoDoneApp Tutorial.md
Normal file
@ -0,0 +1,267 @@
|
||||
# Setting Slack Status with PomoDoneApp using Google App Scripts
|
||||
|
||||
[PomoDoneApp](https://pomodoneapp.com/) is an app that I use on a regular basis to keep myself on task, and monitor my productivity. The thing that really sets it apart from other similar apps is all of the built-in integrations with many of the popular productivity tools like Trello, Todoist, Slack, JIRA and so on.
|
||||
|
||||
The built-in slack integration uses a public Slack bot, which has the ability to post in slack channels, but is unable to set a user's status. Personally, when I am working, I like to set my status to let my co-workers know not to bother me, or at least let them know why I am not replying to their messages. So, when I originally started using the app, I used their integration with Zapier to make zaps that would change my status automatically. This is very easy to set up and works great, but if, like me, you don't want to spend 25 dollars a month for a Zapier membership, then you are limited to 100 "tasks" per month, which really isn't enough if you are changing your status many times throughout the day.
|
||||
|
||||
So I went searching for free solutions. I figured that Zapier must be using some API to do what it is doing, so I should be able to use that same API with something that I have developed myself. The PomoDoneApp API has basically know documentation, so I had to reach out to the PomoDoneApp team to ask them how to use their API. I am using [Google API scripts](https://script.google.com/) in this tutorial, but if you don't want to use Google, this can easily be adapted to use something home-grown. I am planning on doing that in the future, but the Google solution works well enough for the time being.
|
||||
|
||||
The Google scripts that I am using here are adapted from [this google doc](http://pmdn.co/webhooks4todoist) that was sent to me by Alex Mauzon of the PomoDoneApp Team, so kudos to him for helping me get this up and running.
|
||||
|
||||
## Creating a slack bot
|
||||
The first thing that needs to be done, is you need to create a slack bot that is capable of changing your status. You can do this by going to the [Apps dashboard on api.slack.com](https://api.slack.com/apps). There you can create a new app. You then just need to go to the `OAuth & Permissions` section in the left sidebar and add `users.profile:write` scope in the `User Token Scopes` section under `Scopes`. Then you can scroll up to the `OAuth Tokens for Your Workscape` section, install the app, and get the `User OAuth Token`. This token should begin with `xoxp`. Once you have that token, you are ready to create your scripts.
|
||||
|
||||
## Creating the Google App Scripts scripts
|
||||
Go to [script.google.com](https://script.google.com/) and make sure to sign in with your Google Account. Then create a new project. The project will be created with a blank `.gs` script called `Code.gs`:
|
||||
``` javascript
|
||||
function myFunction() {
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
### The slack status script
|
||||
|
||||
Change `myFunction` to `testSetStatus` and create another function called `setStatus` that looks like the one below.
|
||||
``` javascript
|
||||
const APITOKEN = 'xoxp-my-token';
|
||||
|
||||
function testSetStatus() {
|
||||
setStatus('test status', ':man-shrugging', 0);
|
||||
}
|
||||
|
||||
function setStatus(status, emoji, timeEnd) {
|
||||
var header = {
|
||||
"Content-Type": "application/json; charset=utf-8",
|
||||
"Authorization": "Bearer " + APITOKEN,
|
||||
};
|
||||
|
||||
var payload = {
|
||||
"profile": {
|
||||
"status_text": status,
|
||||
"status_emoji": emoji,
|
||||
"status_expiration": timeEnd
|
||||
}
|
||||
};
|
||||
|
||||
var options = {
|
||||
'method' : 'post',
|
||||
'headers' : header,
|
||||
'muteHttpExceptions': false,
|
||||
'payload': JSON.stringify(payload)
|
||||
};
|
||||
|
||||
var url2fetch = "https://cyclicarx.slack.com/api/users.profile.set";
|
||||
response = UrlFetchApp.fetch(url2fetch, options);
|
||||
console.log(response.getContentText())
|
||||
}
|
||||
```
|
||||
|
||||
You can then open the `Execution log`, select `testSetStatus` from the menu bar and hit `Run`. If you set up your slack bot correctly, you should see your slack status change to "test status". If the request is unsuccessful, there will be a console message showing the response data which should give you some idea why it didn't work.
|
||||
|
||||
If this was successful, it's time to set up the PomoDoneApp side of things. First add another function to `Code.gs` called `doPost`:
|
||||
``` javascript
|
||||
/*
|
||||
* Function run when pomodoneapp posts event to google script
|
||||
*/
|
||||
function doPost(e) {
|
||||
if(e.postData){
|
||||
var myData = JSON.parse(e.postData.contents);
|
||||
}
|
||||
|
||||
if(myData){
|
||||
var pdEvent = myData.eventType; // timerStart, timerStop, cardDone
|
||||
var pdTaskName = myData.name; // "Your Task Name",
|
||||
var pdTimerSize = myData.minutes; // Duration of the timer, e.g. 5
|
||||
}
|
||||
|
||||
if(pdEvent.toLowerCase() == 'timerstop'){
|
||||
// Run on timerstop event
|
||||
var response = setStatus('', '', 0);
|
||||
}
|
||||
|
||||
if(pdEvent.toLowerCase() == 'timerstart'){
|
||||
// Run on timerstart event
|
||||
var timeEnd = Math.floor(Date.now()/1000) + (pdTimerSize*60);
|
||||
var response = setStatus(
|
||||
'Working on ' + pdTaskName + ' for the next ' + pdTimerSize + ' minutes.',
|
||||
':thinking_face:', timeEnd
|
||||
);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
This is the function that will be run by the PomoDoneApp. When the timer is stopped, it sends a blank status update, effectively clearing the status, and when the timer starts, it uses the name of the event and the time in minutes to generate an expiry for the status.
|
||||
|
||||
### The PomoDoneApp Registration Script
|
||||
Now that we have a scipt that can change our slack status, we need to tell PomoDoneApp to use it. Press the `+` symbol in the `Files` section of the left sidebar and select `Script`. Call it whatever you want. Mine is called `pgHookReg.gs`. You will be presented with a new file with the same `myFunction` function in it.
|
||||
|
||||
We'll need 4 constants for this file:
|
||||
``` javascript
|
||||
const MYAPIKEY = 'my-pomodoneapp-API-key';
|
||||
const MYINTEGRATIONNAME = 'gsheet';
|
||||
const EVENTTOADD = 'timerStart';
|
||||
const DEPLOYMENTID = "my-deploy-id";
|
||||
```
|
||||
The `DEPLOYMENTID` can be filled in after we deploy the script. `MYAPIKEY` can be found in your PomoDoneApp account. You have to go to `My Settings` and look for `Your API Key` section.
|
||||
|
||||
Next we need a function for registering the webhook with pomodoneapp:
|
||||
``` javascript
|
||||
function registerWebHook() {
|
||||
var header = {"Content-Type": "application/json"};
|
||||
|
||||
var payload = {
|
||||
"subscription_url": "registered By Google Script",
|
||||
"target_url": "https://script.google.com/macros/s/" + DEPLOYMENTID + "/exec",
|
||||
"event": EVENTTOADD
|
||||
};
|
||||
|
||||
var options = {
|
||||
'method' : 'POST',
|
||||
'header' : header,
|
||||
'payload': JSON.stringify(payload)
|
||||
};
|
||||
|
||||
var url2fetch = 'https://my.pomodoneapp.com/integration/authorize/?integration=' +
|
||||
MYINTEGRATIONNAME + '¶ms[api_key]=' + MYAPIKEY;
|
||||
response = UrlFetchApp.fetch(url2fetch, options);
|
||||
}
|
||||
```
|
||||
|
||||
We'll also want a function to remove the web hook if we want to change something in the future:
|
||||
``` javascript
|
||||
function removeAllWebHooks() {
|
||||
var header = {"Content-Type": "application/json"};
|
||||
var payload = {
|
||||
"target_url": "https://script.google.com/macros/s/" + DEPLOYMENTID + "/exec"
|
||||
}
|
||||
|
||||
var options = {
|
||||
'method' : 'POST',
|
||||
'header' : header,
|
||||
'payload': JSON.stringify(payload)
|
||||
};
|
||||
|
||||
var url2fetch = 'https://my.pomodoneapp.com/integration/remove/?integration=' +
|
||||
MYINTEGRATIONNAME + '¶ms[api_key]='+MYAPIKEY;
|
||||
response = UrlFetchApp.fetch(url2fetch, options);
|
||||
}
|
||||
```
|
||||
|
||||
### Deploying the scripts
|
||||
At this point your scripts should look like this:
|
||||
`Code.gs`
|
||||
``` javascript
|
||||
const APITOKEN = 'xoxp-my-token';
|
||||
|
||||
function testSetStatus() {
|
||||
setStatus('test status', ':man-shrugging', 0);
|
||||
}
|
||||
|
||||
function setStatus(status, emoji, timeEnd) {
|
||||
var header = {
|
||||
"Content-Type": "application/json; charset=utf-8",
|
||||
"Authorization": "Bearer " + APITOKEN,
|
||||
};
|
||||
|
||||
var payload = {
|
||||
"profile": {
|
||||
"status_text": status,
|
||||
"status_emoji": emoji,
|
||||
"status_expiration": timeEnd
|
||||
}
|
||||
};
|
||||
|
||||
var options = {
|
||||
'method' : 'post',
|
||||
'headers' : header,
|
||||
'muteHttpExceptions': false,
|
||||
'payload': JSON.stringify(payload)
|
||||
};
|
||||
|
||||
var url2fetch = "https://cyclicarx.slack.com/api/users.profile.set";
|
||||
response = UrlFetchApp.fetch(url2fetch, options);
|
||||
console.log(response.getContentText())
|
||||
}
|
||||
|
||||
/*
|
||||
* Function run when pomodoneapp posts event to google script
|
||||
*/
|
||||
function doPost(e) {
|
||||
if(e.postData){
|
||||
var myData = JSON.parse(e.postData.contents);
|
||||
}
|
||||
|
||||
if(myData){
|
||||
var pdEvent = myData.eventType; // timerStart, timerStop, cardDone
|
||||
var pdTaskName = myData.name; // "Your Task Name",
|
||||
var pdTimerSize = myData.minutes; // Duration of the timer, e.g. 5
|
||||
}
|
||||
|
||||
if(pdEvent.toLowerCase() == 'timerstop'){
|
||||
// Run on timerstop event
|
||||
var response = setStatus('', '', 0);
|
||||
}
|
||||
|
||||
if(pdEvent.toLowerCase() == 'timerstart'){
|
||||
// Run on timerstart event
|
||||
var timeEnd = Math.floor(Date.now()/1000) + (pdTimerSize*60);
|
||||
var response = setStatus(
|
||||
'Working on ' + pdTaskName + ' for the next ' + pdTimerSize + ' minutes.',
|
||||
':thinking_face:', timeEnd
|
||||
54);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`pgHookReg.gs`
|
||||
``` javascript
|
||||
const MYAPIKEY = 'my-pomodoneapp-API-key';
|
||||
const MYINTEGRATIONNAME = 'gsheet';
|
||||
const EVENTTOADD = 'timerStart';
|
||||
const DEPLOYMENTID = "my-deploy-id";
|
||||
|
||||
function registerWebHook() {
|
||||
var header = {"Content-Type": "application/json"};
|
||||
|
||||
var payload = {
|
||||
"subscription_url": "registered By Google Script",
|
||||
"target_url": "https://script.google.com/macros/s/" + DEPLOYMENTID + "/exec",
|
||||
"event": EVENTTOADD
|
||||
};
|
||||
|
||||
var options = {
|
||||
'method' : 'POST',
|
||||
'header' : header,
|
||||
'payload': JSON.stringify(payload)
|
||||
};
|
||||
|
||||
var url2fetch = 'https://my.pomodoneapp.com/integration/authorize/?integration=' +
|
||||
MYINTEGRATIONNAME + '¶ms[api_key]=' + MYAPIKEY;
|
||||
response = UrlFetchApp.fetch(url2fetch, options);
|
||||
}
|
||||
|
||||
function removeAllWebHooks() {
|
||||
var header = {"Content-Type": "application/json"};
|
||||
var payload = {
|
||||
"target_url": "https://script.google.com/macros/s/" + DEPLOYMENTID + "/exec"
|
||||
}
|
||||
|
||||
var options = {
|
||||
'method' : 'POST',
|
||||
'header' : header,
|
||||
'payload': JSON.stringify(payload)
|
||||
};
|
||||
|
||||
var url2fetch = 'https://my.pomodoneapp.com/integration/remove/?integration=' +
|
||||
MYINTEGRATIONNAME + '¶ms[api_key]='+MYAPIKEY;
|
||||
response = UrlFetchApp.fetch(url2fetch, options);
|
||||
}
|
||||
```
|
||||
|
||||
Now we need to deploy. In the top right of the editor window, you should see a big blue `Deploy` button. Click that and select `New deployment`. The type should be `Web app`. Give it any description that you'd like and hit `Deploy`. Once it is deployed you will be given a deployment ID that you can put into the `DEPLOYMENTID` parameter in `pgHookReg.gs`. All you need to do now is open `Execution log`, select `registerWebHook` from the dropdown at the top bar and hit `Run`. If there is no error, then the webhook should now be registered. Test that its working by opening the pomodoneapp and running a timer. You should then see your status change.
|
||||
|
||||
Now we have the scripts deployed and the `'timerStart'` event registered, but we still need to add a `'timerStop'` hook. Change `EVENTTOADD` to `'timerStop'` and run `registerWebHook` again. Then stop the timer in your pomodone app and you should see your status clear.
|
||||
|
||||
## Edit: Home-grown Solution
|
||||
### Date: 20220313
|
||||
Since creating the above scripts, I set out to find a solution that I could host at home instead of relying on Google servers to run it. I ended up creating [this Flask app](https://gitlab.com/fizzizist/pomodone-slack-bridge), which is essentially a python rendition of the above scripts. I run this at home on a Raspi 4 now. It can easily be run on any cloud VM as well, but in that case, it's probably cheaper to just continue using the Google script. If you'd like to use this app instead, you can follow the README to get it up and running.
|
27
Thoughts on the Future of Cryptocurrency.md
Normal file
27
Thoughts on the Future of Cryptocurrency.md
Normal file
@ -0,0 +1,27 @@
|
||||
# Thoughts on the Future of Cryptocurrency
|
||||
#cryptocurrency #blog
|
||||
|
||||
Cryptocurrency has seen a huge surge in popularity lately thanks to large corporations announcing their adoption of it for purchases, as well as more and more people getting into trading it on popular exchanges like [Binance](https://www.binance.com/en) and [Coinbase](https://www.coinbase.com/). Cryptocurrency is not going away, and will likely see more and more adoption by businesses and people over time. Cryptocurrency is very similar to regular cash currency. Like cash, it is quick and easy to use, but it is also up to the person holding it to keep it safe. In this article, I want to argue that, like cash, people will eventually not want this responsibility, and that cryptocurrency will end up mostly being held by banks and governing bodies like regular fiat currency is today.
|
||||
|
||||
## Cryptocurrency is Here to Stay
|
||||
One thing we know for sure: cryptocurrency is here to stay. The “genie is out of the bottle” as they say. Those of us who already use it for many things love using it. It’s a fast, easy, secure way to send money to someone completely anonymously. All I need is your Nano address, and I can instantly send money to it without having to talk to my bank. Some currencies have [extremely low network fees or none at all](https://medium.com/nanocurrency/cryptocurrency-fee-comparison-which-crypto-has-the-lowest-fees-4e9118590e1f). Comparing that to traditional fiat currency: you give me your email, I have to be known by a bank and so do you, I tell my bank to send you money securely to your email. You then have to get the email, log into to your bank account and tell them that you accept the money. Not to mention how long it takes for the banks to process this transaction, and the fees associated. It’s a messy long process which requires both of us to be attached to large corporations, and its far from being equivalent to me handing you 10 dollars on the street.
|
||||
|
||||
## The Cash Analogy
|
||||
When you think about it, cryptocurrency is almost exactly like cash in every way. If I have 10 dollars in cash, it doesn’t belong to anybody but me. If I really wanted to, I could burn the cash, or rip it up. If I do that then I lose it forever and so does everyone else in that society (that’s why its illegal in many countries to destroy money). It’s also the case that I could lose my cash, or it could be stolen from me, and at that point, it is also no longer mine. It belongs to the person who stole it, or the person who finds it. Cash however is our most anonymous and convenient way to exchange money in our society. I can just hand you cash, and that’s the transaction. A bank doesn’t have to get involved, and it is super easy and fast. The trade-off of course is that I am responsible for keeping my cash safe and secure.
|
||||
|
||||
Cryptocurrency works basically the same way. I have a private key to a wallet with x amount of crypto. That private key basically represents the cryptocurrency because it is what I need in order to make transactions. If I delete my private key to my wallet, it’s like burning cash. I and everyone else on the network loses that money. It is locked away in that wallet forever. On the other hand, suppose that I lose my private key or someone steals it. Supposing that the thief is able to transfer it to their own wallet faster than I realized that they stole my key, again, I lose the crypto. There is no institution for me to call and claim that I have lost my money. The crypto is no longer mine and I can’t do anything about it. Thus, crypto is like cash in this way. It is extremely easy and frictionless to use, but also extremely easy to lose if you are not careful with it. You don’t keep thousands of dollars in a wallet that you use for transactions every day just like you wouldn’t keep thousands of dollars in the wallet you carry in your back pocket. It’s risky. This is why most people keep the majority of their crypto in safe offline hardware or paper wallets because they are the most secure. It is also why most people keep the majority of their fiat money stored away in a bank account.
|
||||
|
||||
## Real Decentralization is Hard to Maintain
|
||||
The above analogy is crucial when we think about the future of cryptocurrency. Yes, cryptocurrency is here to stay, but when it is adopted by the general public, it cannot be as decentralized as most of us tech people would hope it to be. This is because most people will not care to take the time to create paper wallets or hardware wallets. Most people would actually rather have someone else take care of their money for them. This is where banks come in. Would you rather store your money in a bank or keep most of your money in cash in a secure safe that you protect yourself? Most people would rather just put it in a bank. A bank is a known, trusted institution with a reputation of taking and securing people’s money guaranteeing that it will be there when they get back. The idea of fully decentralized cryptocurrency as the finance of the future just doesn’t meet this requirement. Eventually we will need banks to hold our cryptocurrency for us because people don’t want the hassle of protecting it themselves.
|
||||
|
||||
Even if we look at the the most user-friendly crypto wallets that exist right now, most will have you copy down a 12 or 24 word recovery phrase, and remind you that if you lose your phrase, you will not be able to recover your currency. This is because most applications store your private key locally and use the recovery phrase to regenerate it again if need be. But we need to ask ourselves: will the average person really want to backup and keep a recovery phrase safe? Or will they likely feel more comfortable having an institution keep it safe for them. This is why I don’t understand why banks are such late adopters to cryptocurrency. Why hasn’t TD Canada Trust, one of the largest banks in Canada asked me to open my first crypto wallet with them yet?
|
||||
|
||||
It’s not just banks that need to adopt crypto in order for it to become a mainstream part of society, though. It is also our governing bodies. One of the benefits of cryptocurrency is that it is not tied to any government, but there are economic problems with that being the case, and it is why there exist “stablecoins” like [Tether](https://tether.to/) and [QCAD](https://www.stablecorp.ca/) that are meant to track the price of a fiat currency. Stability is a good thing for a currency, because if I use it in my daily life, I would rather not lose and gain hundreds of dollars per hour. On top of that, we need to think about a society which fully adopts cryptocurrency. Imagine a society where fiat currency is not a thing, and everything is just cryptocurrency. In order for this to work, people have to get paid in crypto, businesses have to sell things and pay their employees in crypto, and governments have to collect crypto for taxes, and pay benefits in crypto. If any link in this chain is broken, then we will always have a society where I walk into a store and see a CAD price and then maybe I pay in crypto, but it is always just converted to the CAD price because that is the actual stable currency for the country. Every society needs a single currency that is the main stable currency for that society, because we all need to agree on what things are worth. The dream is to walk into a retail store and see something that is labelled as costing 20 NANO, and then paying 20 NANO for it. That can’t happen unless NANO is stable and adopted by everyone in the society or at least the community where the store is.
|
||||
|
||||
## Isn’t It Easier to Keep Crypto Safe?
|
||||
A critic of my argument might push back on the analogy that keeping a recovery phrase safe is the same as storing all of your cash under your mattress or in a safe. They might argue that with enough education through the wallet apps themselves, most people can be taught to backup a phrase securely. This is a fair point, but I think that even if someone knows all that you need to know about keeping encrypted backups and making paper wallets, it is still on them to keep it safe, and people just don’t want that responsibility. With a bank, you have 100% guarantee that your money is safe. If the bank loses your money, it is their problem, and they owe you that money. It is a guarantee with absolutely no work involved on your part. In contrast, me keeping my recovery phrase means that there is a very small but real chance that I could lose it, and if that happens, no one can help me, and it is completely my fault. The average person just doesn’t want that responsibility even if it means not truly owning their own money.
|
||||
|
||||
## Conclusion
|
||||
This isn’t to say that cryptocurrency is bad or that it couldn’t work as a main currency for a society. I actually believe that it could work, and should be adopted by banks and by governments in order to speed up the process. What I am saying is that a full adoption of cryptocurrency is going to eventually look a lot like the current fiat currencies that we already use. There will be subtle but important differences, like maybe it won’t be owned and operated by the government. Instead, the government is just another participant in the economy. In general it would be a more modern and secure system. Of course it would also require everyone in the society to own some kind of smart device to actually make transactions with. But in any case, it seems to me that this utopian decentralized system where every citizen of the society is in complete control of their money, with no institutions involved, is kind of a pipe dream. At the end of the day, most people don’t want that responsibility. If people really wanted that, then every home would have a secured safe full of cash in it.
|
||||
|
||||
I am not an expert on cryptocurrency by any means, so if I have made a grave error somewhere I would really like your feedback, so drop me an email. Also, please share this article if you found it interesting.
|
Loading…
Reference in New Issue
Block a user