Very Secure

A short guide for setting up apache with flask on gentoo.

July 29th, 2021

1. Install apache.

emerge apache

2. Install mod_wsgi.

Before emerging mod_wsgi set your python targets to python2_7 by adding the following lines to /etc/portage/make.conf

PYTHON_TARGETS="python2_7"
PYTHON_SINGLE_TARGET="python2_7"
emerge --ask www-apache/mod_wsgi

3. Setup a group that has permissions for necessary files and directories.

groupadd www-data
usermod -a -G www-data apache
chown youruser:www-data necessaryfilesndirectories
chmod 0774 necessarydirectories1
chmod 0764 necessaryfiles

4. Add a virtual hosts file to /etc/apache2/vhosts.d. You may need to delete some other default hosts file in that directory that is competing for your port/ip address. Example vhosts file (modified from the example one in asciilifeform's logger) below:

Listen 80

WSGIPythonPath /home/youruser/pathtoyourwsgifile

<VirtualHost *:80>

    ServerName yourdomain.com

    ErrorLog /var/log/apache2/error.log
    CustomLog /var/log/apache2/access.log combined

    WSGIDaemonProcess yourbotuser user=youruser group=apache threads=16

    WSGIProcessGroup %{GLOBAL}

    WSGIScriptAlias / /home/youruser/yourcustompath/youruser.wsgi

    Alias /static/ /home/youruser/yourcustompath/static/

    <Directory /home/youruser/yourcustompath/static>
        Require all granted
    </Directory>

    <Directory /home/youruser/yourcustompath/>
    <Files yourwsgifile.wsgi>
        Require all granted
    </Files>
    </Directory>

</VirtualHost>

5. Create a wsgi file that looks like

#!/usr/bin/python

from yourflaskapp import app as application

6. Create a flask app yourflaskapp.py, example


from flask import Flask
from flask import request

PORT = 80
app = Flask(__name__)

@app.route('/')
def index():
    return "hello world"

if __name__ == '__main__':
    app.run(host='127.0.0.1', port=PORT)

Bonus Tips:

7. Run apache commands via /etc/init.d/apache2, rather than just the global apache2 command.

8. Set apache's environment variables in /etc/conf.d/apache2.

  1. The execute bit is necessary to be able to search inside of a directory. []

WARNING: Bitcoins stored in segwit addresses, i.e. addresses that start with a "3" or "bc1" are NOT safe. Please move your coins immediately before a miner "steals" them.

July 20th, 2021

whaack: no hope, i guess, of getting a mass movement off of segwit - i.e. convincing all the well meanining bitcoiners without the werewithal to see the dangers of segwit to move their coins to a safe address while the current mining cartel is enforcing the new rule

Let it be known that we tried...

Tell your father, tell your mother,
tell your sister, tell your brother,
tell your uncle, tell your aunt,
tell your nephew, tell your niece,
tell your friend, tell your neighbor,
tell your husband, tell your wife...

If you store your bitcoins in a segwit address, then one day you will wake up to see they have suddenly disappeared from your wallet.

Let's go over how segwit came to be, why it leaves your coins vulnerable to the whim of miners, and what you can do to protect yourself.

Once upon a time, satoshi released the first working version of his bitcoin client. A copy of this version is stored at the real bitcoin foundation's website. If it's not obvious, the name the real bitcoin is tongue-in-cheek, as no one has the authority to own the bitcoin project or claim themselves the lead developer of bitcoin.

However, just like in the English language, where we have no Official Dictionary yet we have a consensus on word definitions, we must keep a consensus on bitcoin rules without Official Developers. And in the case of both language and bitcoin, history matters. With all else equal, when a word has two competing definitions, the definition that came first is the correct one. The same principle applies for the rules of bitcoin.

The first working version of bitcoin -i.e. the real and only bitcoin- contains a rule where outputs that go to an address starting with a "0" byte are treated as anyone-can-spend. The name is self explanatory, if you put coins in an anyone-can-spend address then anyone is allowed to use those coins as an input to their transaction. In a world with greedy miners running the real bitcoin, the miners would likely create transactions that send these coins to themselves and mine them in the next block. However...

At bitcoin block 481,824 miners were convinced to put a restriction on who could spend anyone-can-spend addresses. This extra restriction, a rule unbeknownst to the real bitcoin, prevents miners from mining transactions that use anyone-can-spend addresses as inputs unless the transaction being mined includes an auxiliary "segregated" piece of data that serves as a signature. This new rule -known to the layman as segwit- is backwards compatible, no problem for the real bitcoiners, and it works. ...Until it doesn't.

The problem is that this new rule has drastically reduced the security of the real bitcoin network by giving an insane amount of power to the miners.1 If the miners as a whole, or any miner with enough hashing power, defects from their promise that they made at block 481,824, chaos ensues and another fork war begins. The "defecting" miners (which, in the eyes of the real bitcoin, are not actually defecting, but instead taking what is rightfully theirs) will begin to mine anyone-can-spend transactions without requiring the segwit data. They will likely try to send the 5 million or so coins held in segwit addresses to themselves.

The economic consequence of this is unclear. The miners may choose to dump these coins on the market, crashing the real bitcoin's price, or they may choose to hoard the coins, sending the real bitcoin's price - not to the moon - but to the stars. I have expressed an optimistic view while trinque and others have perhaps the more realistic one.

signpost: this idea that trb has some kind of strategic advantage is complete nonsense.
signpost: as mats says, draining the segwitcoins would extinguish bitcoin, and some other network would take its place.
signpost: this isn't happening in a vacuum, and saint mp of lost causes is not watching over trb.
signpost: it's a piece of shoddy trash we never got finished decrufting.
whaack: signpost: so trb users are beholden to all new rules i.e. softforks that prb imposes?
signpost: no, they can fork off into a network of their own, pretending that trbcoin is a unit of account in their imaginary economy, I suppose
signpost: contrary to the teachings of mp, declaring victory is not all that is required.
whaack: my point in saying that trb has a 'massive technical advantage' is that if segwit coins get drained, trb still has an accounting system, whereas segwit users do not
signpost: so what?
whaack: so for the 98% of the world not involved in bitcoin, but have heard the term, trb users have a product to sell and segwit users do not
whaack: segwit users will say 'bitcoin is broken! it was hacked!' and trb users will say 'nah, just download this client'
whaack: i admit that the infrastructure of a huge number of wallets and exchanges collapsing does not bode well
signpost: that is utter nonsense. "bitcoin failed." is what will happen in that scenario.
signpost: if you want the economic phenomenon called bitcoin to proceed, you'd better hope the segwit piggy is *not* cracked open.
signpost: to give mp a small amount of credit, why do you suppose he chose "the darkening" to refer to this era?
signpost: it is quite likely from where I sit that what comes next is a chinese-style totalitarian "smart contract" system, much like while peripheral nerds can use p2p warez networks just like they did in the old days, the *economic phenomenon* of mp3/rar/etc was crushed.
signpost: and we'll recall the old days of real p2p.
whaack: i admit that the thought that bitcoin depends on the miner's continuing to enforce the softfork of segwit is so daunting that i may just have trouble swallowing that idea

The existence of transactions that attempt to take the coins held in anyone-can-spend addresses is not a theoretical concern, the transactions exist today, waiting to be mined. All it takes for segwit to fall apart is for the miners to return to using OG bitcoin.

whaack: !e push 01000000014a61d44f3c13a1fdeec587c3d6dc22975758e3e88873e330855741304c12e7a20000000000ffffffff0270281200000000001976a9146c560e9d65f3daf56e44d7c4c6b6bb39c4c120b188ac70281200000000001976a9146c560e9d65f3daf56e44d7c4c6b6bb39c4c120b188ac00000000
trbexplorer: txid 8a5385db0d79f61964047eb73801fb5d052f2dda6da4213120982c59434080d4
whaack: alright, bomb planted
thimbronion: whaack: terrorist!

Save yourself from being a victim of Segwit Armageddon, move your coins to a proper p2pkh address. Even if you believe it's best that the segwit softfork stays enforced, keeping your coins in p2pkh addresses is the safer and more economical action. Should there ever be a hardfork war, those storing their bitcoins in proper p2pkh addresses will have coins on both forks, whereas those storing them in segwit addresses will have coins in only 1 of them.

  1. This power wasn't created out of thin air - it was taken from all of the "bitcoin" users who were duped into using segwit. []

Three Waves From Playa Negra, July 17th Between 5:20AM and 8:15AM

July 19th, 2021

...last time at Negra1...

***

A photographer caught three of my waves on camera two mornings ago. I have 1 picture for the first 2 waves, and a sequence of photos for the 3rd wave. As always, click the picture for higher resolution.

Wave 1

negrajuly-1

Wave 2

negrajuly-2

Wave 3

negrajuly-3
negrajuly-4
negrajuly-5
negrajuly-6
negrajuly-7
negrajuly-8
negrajuly-9
negrajuly-10

  1. Playa Negra is arguably the best wave in Guanacaste. It is a right that barrels over coral reef. []

A new potential injury, this time knee joint problems

July 17th, 2021

Preventing an injury is easier than fixing an injury, and thus I'm logging my first instance of mild pain in my knee joint.1 I felt the pain after 3 hours of surfing Playa Negra and then spending another hour on a carver.2 I am fairly certain that the pain is coming from having poor technique while I was practicing new moves on the surf skate. I was compressing and torquing to get sharp bottom turns.

I found a random video on youtube of one guy who evidently went through the trouble of constructing a model of the knee so as to better understand how to fix the same problem as I am having now. So I'll leave it here for my future reference.

One piece of advice that I've now received from two athletes regarding injuries in small joints/tendons is to focus on making those smaller muscles very strong. So next on the to-do list is to figure out a series of workouts I can do to improve my knee joint strength as well as my wrist strength.

  1. Maybe I had some pain before, but I never logged it so idk! Do you have a super good memory, or are you also forgetting things because you don't write them down on your blog? Do you have a blog? A journal? []
  2. Carver is a brand of skateboards used for practicing surf technique. []

Random Surf Tips

July 6th, 2021

1. The kooks are too far out.

The kooks get sucked out to sea by currents while waiting for a wave. There are also many surfers waiting for that one big wave that comes every 30 minutes. If you sit closer to the shore than everyone else you are almost always guaranteed to be in a better position to catch more, quality waves.

2. You can duck dive in the ocean deeper than in a pool if you let the force of the white water hit the back of your leg.

When you do the duck dive motion in a pool or in the ocean sans wave, you cannot get the nose too deep in the water without shooting backward from whence you came. However, if you have the force of a wave hit your back leg it will provide the torque necessary to push the tail to a lower level than the nose, so you shoot forward out of the back of the wave.

3. Paddle for waves like your life depends on it.

When you think you are paddling hard for a wave paddle twice as hard. This prevents you from having to airdrop and gives you the opportunity to start your wave with a pump.

4. While held under the water with your board, tilt it sideways so that you float to the top quickly.

After being held down by a wave, Keeping your board parallel with the surface will keep you under the water for longer than necessary.

5. Time your breathing so you exhale when underwater.

Full article on this here.

6. Use a bigger board with large fins. Use a board with a pintail.

Until your technique is near perfect you benefit more from getting more waves to practice your moves than you do from having a small performance board. Pintails are one of the best types of boards for stability and barrels.

7. Practice your technique on land with a camera.

Flowing through the motions on land with a camera and comparing what your movements look like to the movements of the pros will help you progress way faster than going into the water mindlessly.

8. Place your hands further back on your board when you pop up.

Make sure your forearm and bicep part of the arm form a 90-degree angle at the elbow when you pop up. This makes popping up take less energy.

9. Keep track of your position in the water by using two land markers onshore.

You cannot triangulate with only one marker.

10. To bottom turn, don't lean. Put your weight on your back toe/heel.

To do a backside bottom turn you are essentially doing a squat with most of your weight on your back leg. To do a frontside bottom turn you should have the heel of the back foot lifted slightly off the board.

The RSI Logs

June 29th, 2021

I have some version of an rsi, repetitive strain injury. Rsi is an umbrella term that refers to various possible problems: tendonitis, carpal tunnel syndrome, radial/ulnar nerve problems, arthritis, etc. I don't know exactly what I have, it may be a combination of various problems. I'm also unconvinced that the injury is caused by 'repetitive strain.' It's possible I found another way to hurt some tissue, and the symptoms merely present themselves when I'm doing my everyday activities. In any case, I refer to the problem as 'rsi' although technically speaking the ailment is an rsi.

Rsi is a mysterious and devilish ailment. It negatively affects me in all that I love to do: play guitar, work on programming projects, and surf. I hope to heal myself completely and if that proves impossible I hope to prevent the problem from getting worse.

In any case, I will be another data point for whoever is studying those who have documented their rsi experience.

***

Episode 1:

I had my first wave of rsi that I can remember in December of 2019. As mentioned in the link, the pain was very subtle. On a scale of 1-10, 1 being no pain and 10 being very ouch, I would rate the pain 1.5 to 2. It was just enough to notice that something was...off. I remember that lasted about 1 month, maybe 2, and then the pain faded away completely.

Episode 2: (current)

Flash forward to May of 2021 and the pain has returned. This episode was triggered by a very specific action - I was doing a pull off with my pinky on my guitar. I kept playing for 15-30 minutes while enduring some pain. This occurred after a week of practicing some new (rather aggressive) techniques to get more volume on my hammer-on and pull-offs. This pain has been going on for almost 2 months now. My fingers and wrists feel like they have no oil. They crack all the time when I move them and I think I have lost some grip strength. The problem is distributed almost evenly amongst the hands and fingers, although the left side seems worse and specifically the left pinky. The steady pain I would say is a 2/10, but every once in a while the pain becomes very sharp and jumps to a 7/10 or 8/10 for a few milliseconds. One night I had some slight trouble sleeping from the pain, but in general I can't say I've lost sleep from this episode.

Current Treatment and Preventive Measures:

After a month of mostly resting without any improvement, I saw a physiotherapist.

I took a shot of vitamin B12 complex and I am taking a daily magnesium supplement. I've switched to a mechanical keyboard; I am playing a minimal amount of guitar. I am trying to stay active and do some form of physical activity to get the blood flowing daily (walking, surfing, slacklining.) I am doing the exercises to 'slide my nerves' demonstrated in this video. I am also doing two more exercises: I am holding a hammer and pronating and supinating(sp?) my wrists, and I am flexing them up and down (without a hammer.) In both exercises I keep my arms stretched out straight in front of me.

Notes on the Spanish trilled R

May 23rd, 2021

To my gringo ear, the trilled R is the most Spanishy of the Spanish phonemes. I have been obsessed with getting this sound right, despite being told that correcting the pronunciation of other sounds - i.e. the Spanish vowels - is far more important for reducing one's accent. In addition to being rather unimportant, getting a trilled R down is difficult. It's a technique that requires effort to learn but relaxation to perform. This catch-22 is a probable cause of students going through years of Spanish schooling without being able to produce the phoneme.

But despite the low utility/difficulty ratio, I've been stubbornly focusing on this one sound. Perhaps it's because I'm convinced myself that I need to be able to do the trilled R in order to have the confidence to work on other parts of my accent.

Anyways, my stubborn efforts have been fruitful. I'm far from perfect and stumble on the trill very often, but I have more or less got the technique down. I've compiled a list of notes and links of videos surrounding the production of the trilled R for my own reference and to help anyone else who is learning this vocal technique.

I. The issue of whether the ability to make the trilled R is genetic, and why people still fail after years of trying.

There's no reason to suspect that there is a common body type that is physically incapable of producing the trilled R sound. If one is unable to produce the trilled R from a physical limitation, I am sure that someone also has other problems with speech production. Languages and their phonemes evolve over time, and since universal inclusion likely benefits the utility of a language, it is also likely that modern languages only use phonemes that can be produced by every race/gender/etc. of humans.

I believe the primary reason that people fail to achieve the trilled R is because they strain their tongue when trying. The tongue has to stay relaxed in order to "flap in the wind" (as I will describe shortly) and this relaxation is difficult when one is simultaneously putting a conscious effort to put the tongue in a new position.

II. When the trilled R should be pronounced.

(a) Any time one sees two adjacent r's in a word i.e. carretera, perro, terremoto
(b) When an r begins a Spanish word i.e. roto, ramar, realizar
(c) When an r follows an l, n, or s in a word i.e: alrededor, Ronroneo1

III. The positioning of the vocal organs, specifically the tongue.

The trilled R is all about the tongue. It doesn't really matter what your jaws or lips are doing, so better to keep them both relaxed with the mouth slightly open. To learn the proper position, the best piece of advice I can give is to watch the following video from Ten Minute Spanish as well as the followup video. If the video is not an option for you, or if the link has since died, here is a summary of the proper tongue position for the Spanish R:

The tongue is raised so that the underside of the tongue touches the alveolar ridge. The center of the tongue is depressed to make a cup shape where the sides of the tongue touch the sides of the palate. Once in this position, the tongue should be incredibly relaxed.

IV. The importance of proper pulmonary airflow and avoiding glottal stops.

The trilled R is produced by the tip of the tongue flapping as the wind caused by the lungs blowing out air rushes to leave the mouth. Without sufficient air pressure, the tongue does not flap. It is hard to whisper a trilled R.

English speakers have a tendency to put glottal stops2 in between words. Putting glottal stops between words is a major problem that contributes to a foreign Spanish accent. The bad habit causes a specific problem with the trilled R, since the glottal stop blocks/slows down airflow to the point where the tongue does not flap.

V. Exercises that help one develop the ability to produce the trilled R.

The trilled R for an English speaker is a new muscle movement that requires some stretching and practice. These exercises will force you to do movements with the tongue that will help you find the right position and sensation for the trilled R.

Horse trot and mushroom: To do the horse trot, stick the tongue on the roof of your mouth and create a pressure pocket and flick the tongue down so it makes a clicking/trotting noise. Do this over and over again. To do the mushroom do the same movement as the trot, but create a lot of pressure with the tongue on the roof so that the tongue sticks to the roof. Then open your mouth as wide as you can to give the tongue a nice stretch.

Relax flap: Curl your tongue backwards behind your upper teeth. Then let the tongue relax completely so it unfolds itself out in front of your teeth.

VI. The difficulty of the flapped r following an l, s, and n.

Even after one has gotten the trilled R down, the lr, sr, and nr combinations remain difficult to produce. To work on these combinations I recommend watching the two following videos from Ten Minute Spanish.

Here is a video for the l->r and n->r combinations.

And here is a video for the s->r combination. The advice in this video is essentially to not even attempt the trilled r when following an s. Instead the author of the video suggests you make a "sh" sound with the r.

  1. I cannot find an example of a word with an s followed by an r. []
  2. A glottal stop is when the glottis, a valve in the vocal track, closes to cutoff airflow from the lungs. You can learn to feel where the glottis is and learn to consciously control it by doing the following exercise. Say the English phrase "uh-oh", i.e. the one you say when you're in trouble. Say it again and again paying attention to the sensation of something opening and closing in your throat. Keep saying "uh-oh", each time more quietly, while still paying attention to that opening and closing sensation in the throat. Eventually you can control the glottis valve without actually saying the phrase "uh-oh." Try holding the glottis closed for a period of time.

    You can check if your glottis is closed by making a fish face with your mouth and flicking your cheek. If the glottis is closed the flick on the cheek will produce a resonating tone that changes depending on the size of the aperture created by your lips. []

Block Explorer Update

May 15th, 2021

I've begun working again on my block explorer. I have a prototype running in #whaacked that is synced up to block ~260,000 as of writing. It's running on a local machine, located near near a beach in Costa Rica in a beautiful-albeit-not-well-infrastructured town, so please pardon the downtime. It has a few commands you can see via:

!e help

If the arguments to a function are too long to paste into a single line of irc, you can instead paste the arguments to paste.deedbot.org and then feed trbexplorer the link to the resulting paste i.e.

!e balance http://paste.deedbot.org/?id=y484

The only time I see this send-arguments-via-paste feature being useful is for the command push,1 where one will paste a potentially long hex string representing a raw txn.

The ircbot currently returns a link to a paste of the result of the command. I was tempted to return the results of certain commands, such as !e balance [ADDRESS], directly via an irc message. However this would require operators of ircbot to have to write different logic for handling the responses of different commands, so I decided to return all results via paste.deedbot.org.

There are three main items on my TODO list, not including code revision and testing.

I. Speed up syncing/scan.

It looks like it's going to take 30-45 days to sync up on my machine. It's already a nightmare to get trb itself sync'd, so any shaving off of this time will be appreciated by someone wanting to run the explorer locally.

II. Decide on data return format.

I think returning the results to queries as an sexpr, and/or something that interfaces well with Gale's Bitcoin Wallet is the way to go.

III. Implement an interface with the mempool.

As I see it, the mempool is a secondary layer above the main protocol. So it may be best to ignore the rpc commands to trb and create an ad-hoc mempool. Essentially, trbexplorer may be the only interface into the trbexplorer mempool.

  1. ATM push is not a tested feature []

Receiving/Sending Bitcoins To/From An Offline Wallet, A Basic Explanation

March 4th, 2021

There is a common confusion amongst bitcoin newcomers regarding how an offline wallet is able to receive bitcoins and then later send those same bitcoins to another address. The core of the misunderstanding is revealed in the commonly asked question:

How can an offline computer receive bitcoins? Doesn't the offline computer need to download a piece of information that represents the bitcoin?

The answer to the latter question is no, the offline computer does not need to download anything to receive bitcoins. However, to be able to spend the bitcoins, the offline computer needs to be transferred a piece of information called an Unspent Transaction Outputs (UTXO) from a computer connected to the bitcoin network.

The reason that the offline wallet does not need to download anything to receive a bitcoin is because to own a bitcoin means to have the potential ability to extend a chain of transactions. To understand this let's walk through an example.

Bitcoins first appear in the blockchain as a single transaction paid out to a miner.1 When the miner mines a block, a piece of data gets added to the blockchain that looks something like:

50 BTC -> 1A7Ae2RczM1T2ZqgLQhLRzx5RdcJWvHDot (TX ID: 4039)2

Now let's say the miner decides to send his bitcoins to someone else's address. In the next block, He will add data to the blockchain that looks like

Use the output from TX ID 4039 to send 50 BTC from 1A7Ae2RczM1T2ZqgLQhLRzx5RdcJWvHDot -> 1C26k7Z7JMmhKf1zZyZUEFEvcQCEPqRPvx + (Signature from 1A7Ae2RczM1T2ZqgLQhLRzx5RdcJWvHDot)3 (TX ID: 5019)

Now let's say you are friends with the owner of address 1C26k7Z7JMmhKf1zZyZUEFEvcQCEPqRPvx and you want him to send you some bitcoins. So with your offline wallet you generate a public / private key pair - your bitcoin address is 1NKrRM2M5TmdVJRHwAeWXAZyAGHJ7U1dEV. Then the owner of address 1C26.. can then send you the bitcoins by appending a transaction to the blockchain that looks like the previous one:

Use the output from TX ID 5019 to send 50 BTC from 1C26k7Z7JMmhKf1zZyZUEFEvcQCEPqRPvx -> 1NKrRM2M5TmdVJRHwAeWXAZyAGHJ7U1dEV + (Signature from 1C26k7Z7JMmhKf1zZyZUEFEvcQCEPqRPvx) (TX ID: 8492)

Once this transaction is in the blockchain, you have effectively "received" the bitcoins. The offline computer itself does not (yet) need to have the transaction data, once the transaction is in the blockchain the bitcoin network has acknowledged that the owner of the 50 BTC is the person with the private key corresponding to (your) bitcoin address 1NKrRM2M5TmdVJRHwAeWXAZyAGHJ7U1dEV.

This being said, at the moment you want to spend the bitcoins that you have in address 1NKrRM2M5TmdVJRHwAeWXAZyAGHJ7U1dEV, your offline computer will need the data in the above transaction with ID 8492. This is because the offline computer creates the transaction signature. To generate that signature, the offline computer needs to have the information of the transaction it is creating. That information includes the source of the bitcoins to be spent, i.e. the UTXO from TX with ID 8492.

To conclude let's go over how someone may use an offline wallet to receive and then send bitcoins. First, the bitcoin user creates his public/private key on the offline computer. He then monitors the blockchain using an online computer to see that he has received funds. Finally, when he wants to spend the funds, he downloads the necessary information from the blockchain (i.e. the relevant UTXO's), puts the UTXO information on his offline computer, uses the UTXO information to create a signed transaction,4 and transfers that signed transaction to an online computer that broadcasts the transaction to the network.

For some more technical details regarding bitcoin transactions check out jfw's series "bitcoin transactions and their signing".

  1. This transaction is commonly called a coinbase transaction. A company called "Coinbase" took this term and used it as their name. []
  2. This "transaction id" is actually a hash of the data in the transaction, not just a number. I chose to represent the tx hash as a number for sake of explanation. []
  3. This signature is a piece of data that is a mathematical proof showing that the person who generated the address 1A7Ae2RczM1T2ZqgLQhLRzx5RdcJWvHDot authorizes the transaction. []
  4. Alternatively he creates the transaction on the online computer, and the only task of the offline computer is to sign the transaction. In this scenario the offline computer doesn't need to have (direct) access to the UTXO. []

The Fake Covid Consensus

January 19th, 2021

If one looks around Costa Rica without speaking to anyone they will get the impression that everyone believes in and supports the covid mask-wearing hysteria. Lots of people here walk around with masks on. Store owners have signs on their windows stating that masks are required for entry, plz keep a social distance, put some alcohol goo on your hands, etc, etc. Recently a local restaurant I frequent put this ridiculous police tape around chairs preventing clients from accessing their bar.

Given the apparent universality of the idea that one should be wearing a mask indoors, it is easy to get into the habit of showing you agree with this craziness. Many people who don't buy into the lamestream narrative still put on a mask whenever they walk into a store. Often when you ask these people if they believe in the mask mandates they will say ~ "no, I am just wearing the mask to avoid trouble" (i.e. conversation/confrontation.) But because the mask is on their face, they inadvertently signal a belief in the importance of the covid mandates. I myself sometimes forget that I'm wearing a mask after I've left a store. And until I remember to take it off, I am signaling that one should wear a mask when walking outside on the street!

The CR government is enforcing businesses to put these 'mask required' signs on their windows. The restaurant with the police tape around the bar put that there, not from the owner's own wish, but because some police officer threatened to shut down the business after the officer had a temper tantrum from seeing some guys sitting at the bar drinking together. So really the various restrictions and mask-required signs do not represent the will of the actual business owners, the owners only put them there to appease the bureaucratic clipboard lady and her police henchmen. Thus, as a client, I default to ignoring the signs and I walk into stores without a mask. I always do this for mom and pop shops, and I try to say something along the lines of "I don't mind if you don't wear a mask" so the clerks working there don't feel obligated to "protect" me.

If you are against the mask nonsense then you must be mask-free. If a private business owner wants you to wear a mask, they must tell you explicitly, posted signs mean nothing since those signs are government-mandated. Don't signal your support for something you don't believe in.