Very Secure

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 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 and then feed trbexplorer the link to the resulting paste i.e.

!e balance

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

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

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= -connect= -connect= -connect= -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:


  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. []


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. []