Very Secure

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.

Scheduled Defibrillation For The Jalopy That is TRB

January 5th, 2021

A couple of months ago I was unable to start my car. So I used a trick a mechanic taught me - I opened the hood and banged on the starter with a hammer. I then turned the key in the ignition, but the car still wouldn't start. I tried again, this time banging on the starter harder. And voila, it worked. I had to do this routine of banging on the starter with a hammer1 every time i wanted to use my car. But eventually something got bumped into the right position, I guess, because I no longer have to do this absurd routine to start my car.

It seems that the same type of bang-it-till-it-works approach is required to get trb running. I have restarted my node countless times in order to get it unstuck during the sync process. So I'm posting an example shell script that kills and then restarts trb's bitcoind.2 With the current state of trb, a script like this running on a crontask every 24 hours seems ~required to get sync'd in a timely fashion.3

restart_trb.sh

pid=`top -n 1 -b | grep "bitcoind" | awk '{print $1}';`
echo "killing bitcoind with pid $pid";
kill $pid;
echo "sleeping 60s";
sleep 60;
echo "force killing bitcoind"
kill -9 $pid;
sleep 60;
echo "sleeping another 30s";
# Change IPs and home path accordingly.
LC_ALL=C /your/raw/path/to/bitcoind -daemon -logtimestamps -myip=205.134.172.28 -connect=205.134.172.27 -connect=54.39.156.17 -connect=143.202.160.10 -verifyall &

The script works as follows. First it snags the pid of the process by piping the results from top into grep. If bitcoind is not running then the $pid variable is going to be empty and the following kill commands will fail. Otherwise, as per asciilifeform's advice, the script first does a normal kill to the bitcoind process. This should shutdown bitcoind "gracefully" so that there is no interrupted write to the db, or what have you. However, normal kill's often fail to stop bitcoind, so the script follows up with a kill -9. Finally, the script starts trb.

A potential improvement to this script would be to add some code that handles a corrupted db.

  1. the starter starter! []
  2. You have to change the last line that starts trb to meet the requirements of your specific environment. []
  3. aka less than three months. []

Breathing While Surfing

December 27th, 2020

Hold downs in surfing are much shorter than they feel. When the waves are < 10 feet, the max amount of time you're going to be tumbling underwater is ~10 seconds. The body can easily go without oxygen for 3, maybe 4, minutes. Knowing this helps me relax when I go through the washing machine. After I fall on a wave I try to always place my arms so that they protect my head1 and I relax the rest of my body as I wait for the turbulence to stop. It's not worth wasting my energy thrashing around before the wave's energy has dissipated.

Since hold downs are quite short, you can control your breath so that at no point during a surf session do you stop breathing. Instead, you just time your breaths so that you are exhaling when you go under the water. This requires a little bit of on-land yoga training, you need to be able to do inhalations and exhalations that last 15 seconds. To do this I breathe through the nose. while focusing on controlled contraction and relaxation of the diaphragm. Then, while surfing, I try to finish a deep breath before duck-diving or taking off on a wave. I can watch the horizon and adjust the speed of my breath to get the timing right. Concentrating on the breath keeps the mind and body focused and calm.

***

Here are some shots from a recent session in Marbella:

surfbreath-1
surfbreath-2
surfbreath-3
surfbreath-4
surfbreath-5
surfbreath-6
surfbreath-7
surfbreath-8

  1. I bet 85%+ of surfing deaths are from being banged on the head by one's own board. Someone died at Playa Negra three days ago in this manner. I heard he was knocked unconscious from the impact and then drowned. []

Stretching

December 13th, 2020

A person with little to no flexibility training can (usually) stand on their left leg while supporting their right leg on a table such that the two legs form a 90-degree angle. The same person can mirror that action by standing on their right leg and lifting their left leg to a 90-degree angle. So if someone has the range of motion to move each leg individually 90 degrees, then...

Why can't they do a split?

Is it because there is some physical connection between the two legs? Are there muscles, tendons, or ligaments that tie the two legs together so when they simultaneously stretch out their range of motion is limited? No. The reason one can't do a split is neurological, when they attempt to move a muscle or group of muscles past what their nervous system believes to be their maximum range, their muscles start contracting to prevent the stretch. Stretching further requires removing unnecessary muscle contractions, not increasing the length of tissue.1

This is the premise of Pavel Tsatsouline's book, Relax Into Stretch. Mr. Tsatsouline gives a list of different techniques and stretches to "trick" the nervous system into allowing your body to realize its full range of motion. I cannot verify Tsatsouline's claims myself, as I have not yet attempted his methods. But guitar has taught me that learning to relax muscle groups can lead to an incredible increase in performance.

  1. I have seen other sources argue that it is indeed possible to increase the length of tissue, by adding length to muscle fibers via adding "sarcomeres" - the contractile unit of the fiber. The field of sports "science" seems to be wrapped in pseudoscience. I certainly don't know whether Tsatsouline's theory is correct. []

BJJ Training Log 1 - December 11, 2020

December 13th, 2020

In my third class of BJJ1 in CR we did a series of stretches, went over a new technique, and rolled.

I. Stretching

During the warmup Jarrid led a series of stretches, many of which I was unfamiliar with. We did a sequence that involved the wrist. These involved getting into a push-up position and lifting the palm off the ground while keeping the 4 fingers (not the thumb) on the ground. Then we got into a push-up position where the hand was bent so that the fingers pointed towards the toes and the back of the hand was lying on the mat. More advanced students were able to do a pushup from this position.

Injury prevention is paramount in BJJ, improving flexibility is thus a necessity. I have always been stiff - can't bend over with straight legs and touch my toes. Stretching can be worked on outside of the gym, so looks like I'll have to add some yoga to my life.2 From preliminary interwebs searching and advice from my sensei, I have learned that static stretching post-workout, where one tries to extend the range of the stretch upon exhalation, seems to be one of the more effective ways to increase long term range. There is no need (or perhaps even ability) to increase the length of any tissue, stretching is about turning off the nervous system's automatic contraction response when muscles reach their maximum range of motion.

II. Technique

The combat technique we went over is a little involved and has many components, it's not worth it for me to write down the whole sequence. Rather, it's best to note a fundamental that I learned from studying the complicated technique.

While drilling the technique, I was struggling to put pressure on my opponent as I was laying on top of them. Another student, Nacho, taught me an important lesson - when your knees are on the mat while lying on someone the force you are applying to your opponent from your own weight is dramatically reduced. The proper position when on top of someone is to sprawl your legs out wide and rest on your toes and lean forward so that the weight distribution is maximally placed on the opponent.

III. Rolling

I rolled with more energy as I had at least some small idea of what I should be doing during my battles. I found it useful to tie one of my opponent's legs with my two legs, although I am dubious as to how effective this is in general since it's a 2 for 1 trade.

I also came the closest I've ever been to submitting an opponent. I had back control and attempted my first headlock choke. My technique on the choke was poor. I was squeezing my opponent for almost a full minute, but I could not get him to submit. The correct technique (taught to me by Jarrid) is to place the hand of the arm that is wrapped around the opponent's neck on the other arm's bicep, and then place the hand of the non-choking arm on the back of the opponents head. A mnemonic for remembering the technique is to make the "fuck-you" gesture where you slap the hand on a bicep and flex the bicep.3

  1. Brazilian Jiu Jitsu []
  2. There is so much mysticism in yoga that I am allergic to the idea of starting, but I'll put away my preconceptions and try to find out what sub-discipline can help my bendability. I've found what appears to be a good book on the subj - Relax Into Stretching []
  3. I wonder whether this gesture originates from showing an enemy that you know how to choke them. []

Jiu Jitsu

December 10th, 2020

This week I decided to give Jiu Jitsu a shot.

I have tried the martial art once before. About two years ago I messaged an old friend, Tom, asking to catch up. He responded by inviting me to train with him in his gym.

Tom and I use to wrestle as kids. His dad was in the military and into boxing, and was always pushing Tom to develop his fighting skills. I remember Tom would usually get the best of me, and I distinctly remember being punched in the face as he was demoing new boxing gloves.

Given our rivalry and fighting history it was fitting to meet up in a gym. Didn't know what to expect, but I knew Jiu Jitsu was a martial art that has proven itself useful in the UFC.1 Jiu Jitsu is a grappling sport, like wrestling, where no punches or kicks are allowed. The fight goes until time runs out or one contestant is able to force the other one to submission. One usually gets a submission from his opponent by putting him in a choke hold or by putting him in a compromising position where a large joint2 can be broken by applying force with leverage.

What makes Jiu Jitsu interesting is that you can practice sparring with near full commitment while maintaining a lowered risk of injury compared to other martial arts. You can be choked several times in a session, maybe even pass out, and still be able to train the next day. Imagine sparring hard in boxing, where one punch can send you to the hospital and cause permanent brain damage.

In my first session with Tom I discovered that it is thus common in Jiu Jitsu to roll3 several times with various opponents at the end of a class. Awesome. What a rush to fight against Tom and various strangers all the way to "the death." I was smoked in all my rolls, but I left the gym feeling alive.

I've signed up for one month of Jiu Jitsu classes at a local gym. I plan on training three days a week. I have no illusions that Jiu Jitsu will one day save me in some street fight. But perhaps training in Jiu Jitsu will help me build up discipline and lead me to a healthier lifestyle. In any case, despite the disgusting smell of sweat and the physical pain experienced during a roll, it feels great to fight.

  1. The UFC has exposed other martial arts - such as karate - as being ~useless in anything resembling a real fight. []
  2. Attempting to break small joints such as those in the fingers is banned. []
  3. Rolling is the Jiu Jitsu term for sparring. []