Creating a dApp with SvelteKit (part 1)

Follow along with the code on GitHub: https://github.com/PythoniCode/svelte-dapp-part1

If you’re deciding on a front-end framework, then I can’t recommend SvelteKit enough. Development workflow in SvelteKit is the most simple and straightforward of any framework.

In this post, I will walk through how to start a new dApp project in SvelteKit and why I prefer it to Next.js or Nuxt.

First, I recommend installing Visual Studio Code. I’m not a huge IDE enthusiast, but VS Code is amazing. Furthermore, it has special features that help develop a SvelteKit project.

Next, we will set up our default SvelteKit project. To get started with Svelte in VS Code, press CTRL+SHIFT+X to open the extensions panel. Then, search for Svelte and install the Svelte for VS Code extension.

Then, open up a terminal (either in a new window or with CTRL+SHIFT+ ` ). In the terminal, navigate to a new directory and type npm init svelte@next to initialize a new SvelteKit project.

If you have not worked with Svelte before I recommend checking out the Tutorial on their website. Otherwise, you can initialize a project with the settings below or feel free to use your own settings.

Congrats! Now we have a default SvelteKit project that we can play around with.

There are two more things to do before moving on…

1 (REQUIRED) Install svelte-web3

2 (OPTIONAL) Install Tailwind CSS

You can find detailed instructions on how to install svelte-web3 here.

Install svelte-web3

First, in terminal type npm i svelte-web3

Then, goto app.html in your project folder and paste the following code anywhere in the <head> tag.

<script src="https://cdn.jsdelivr.net/npm/web3@latest/dist/web3.min.js"></script>

And that’s it! You’re ready to use web3 with svelte.

(Optional) Install TailwindCSS

If you want to use the Tailwind CSS library all you have to do is type npx svelte-add@latest tailwindcss in the terminal. Then type npm install to finish installing the necessary packages.

Basic Functionality

OK!!! Now our project is finally all setup and we’re ready to start coding our application.

To open our dev environment make sure all packages are installed then type npm run dev

In your project folder, goto index.svelte in the /routes subdirectory. Here is where the homepage of your app will be (aka the root directory). If there is not a <script> tag then add one at the top of the file.

Depending on how you initialized the SvelteKit project, it may already be populated with a ton of starter code. We are going to ignore this for now!


At the top of the <script> tag in index.svelte we need to import a few things to make use of the svelte-web3 library.

<script>
	// IMPORT THESE
	import { browser } from '$app/env';
	import { defaultEvmStores, web3, selectedAccount, connected, chainId, chainData } from 'svelte-web3';
</script>

More information on the svelte-web3 imports can be found on their GitHub page.

You may see the following error:
exports is not defined
ReferenceError: exports is not defined

This is a known issue, refresh the page and it should be fine. Otherwise, check the svelte-web3 page for updates.

The first thing we need to do is set a provider. You can read more about web3 providers here. We will use a browser provider like Metamask, so if you don’t have one installed I recommend installing it now.

To set Metamsk as a provider, simply include the following code in the <script> tag.

// This will only render client-side if the browser is available.
if(browser) {
	defaultEvmStores.setBrowserProvider();
}

The reason we have the if(browser) check is because SvelteKit does something called server-side rendering. If this code is running on the server, then we don’t have access to the browser object, thus this code will only be run on the client-end and thus we have access to the browser so we can load a browser provider like Metamask.

Any code that accesses elements that are part of the browser (like window and document) needs to be kept client-side by using if(browser) checks or onMount functions.


Ok. Now let’s make our web application display blockchain information.

Somewhere below the <script> tags, add a <div> element that exposes the chain ID that our current provider is connected to. (I replaced the <Counter/> component in the Svelte starter project).

<!-- <Counter /> -->
<div>{$chainId}</div>

Yay! Now your SvelteKit project should show the chain ID of your current network somewhere on the page. In the above screenshot you can see the chain ID is 1 since I was connected to Ethereum main net.

The chain ID will dynamically update based on the network you are connected to.

Well that’s pretty simple. What else can we do? Go back to the <div> that includes the chain ID and add a field to display chain data like so.

<div>{$chainId} {JSON.stringify($chainData)}</div>

Now we have more information about the chain that we can use in our application.

For example, I will include the following information about the chain:

<!-- NOTE: this codeblock includes Tailwind CSS classes -->
<div class="flex flex-col justify-center items-center">
		<h1 class="font-bold">{$chainData?.name}</h1>
		<p>Native Currency: {$chainData?.nativeCurrency?.name} ({$chainData?.nativeCurrency?.symbol})</p>
</div>

After adding some Tailwind CSS styling and deleting the rest of the body in the example project we get the following result:

Looks nice, but it doesn’t really do anything. So let’s add some features to our new application.

More features

Let’s figure out how to find the balance of an address on the blockchain.

First add a simple form element to our html body in index.svelte

<form class="m-2 p-2">
		<input type="text"/>
		<button type="submit">Get Balance</button>
		<p id="result"></p>
</form>

Now, to make this form usable in Svelte we have to add some code into our <script> tag.

let address;
let result;

const query_balance = () => {
	// Not implemented
}

And then update our HTML like so.

<form on:submit|preventDefault={query_balance} class="m-2 p-2">
		<input bind:value={address} type="text"/>
		<button type="submit">Get Balance</button>
		<div bind:textContent={result} contenteditable="true"></div>
</form>

Our “Get Balance” button still doesn’t do anything, because when it is pressed the query_balance() function is executed and it is currently empty.

Try adding the following code in the query_balance() function and see what happens when you press “Get Balance”

const query_balance = () => { result = address; }

Yay! Now our “result” is being updated with whatever we input into “address”.

Let’s change the function to return the balance of an address.

const query_balance = async () => {
		if($web3.utils.isAddress(address)) result = $web3.utils.fromWei(await $web3.eth.getBalance(address)).toString() + " " + $chainData?.nativeCurrency?.symbol;
		else result = "Not a valid address.";
}

Yep! Just two lines of code. To test the function here is a list of the richest Ethereum wallets on the main net: https://www.coincarp.com/currencies/ethereum/richlist/

(Make sure you are connected to Ethereum Mainnet when testing)

BOOM! We can now query the balance of any user on the blockchain we are connected to.

I’m going to wrap up this post here and do a part 2 soon, so hopefully you were able to follow along and enjoyed making a simple dapp in SvelteKit!

Why exercise is good for you.

This seems like a silly topic to be writing about, but I thought I’d share some of my thoughts and findings on why exercise is so healthy for us and hopefully convince you to start exercising or make you feel better about exercising already!

Physiology

First I want to outline some things that exercise does to our bodies. I will be mainly talking about steady-state training such as endurance running, biking, and swimming; but I will also discuss resistance training at a later point

Burns Calories

Whenever we do anything with our bodies, whether it’s walking a dog, holding a bag of groceries, or pushing our grandma down the stairs, it takes energy to do so.

Our bodies constantly demand intake of energy from food so we can use it to supply energy to our body (even if you’re sick and lying in bed the entire day).

Anyways. Everyone knows that exercise is a way to increase the rate at which you burn calories. We expend way more calories when doing strenuous activity and maintaining a raised heart rate, than when we nudge grandma a little to tip her over.

Now, a lot of people think (correctly so) that they don’t need to exercise and can simply eat fewer calories to still be healthy. It’s a fair argument, but there is an interesting nuance to burning more calories which most people don’t always think about…

Take this simple example for instance:

Caloric IntakeJames (exercises)Jake (doesn’t exercise)
Cupcakes300 calories300 calories
Healthy Food

Caloric Expenditure
Resting
From Exercise
2200 calories


2000 calories
500 calories
1700 calories


2000 calories
0 calories

Ok, so both James and Jake have a balanced caloric intake and expenditure. James ran for 30 minutes so his caloric expenditure is higher than Jake’s by a decent margin, but no big deal since each of them ate the same number of calories as they burned so they will maintain approximately the same weight.

That is TRUE… However, assume that James and Jake went to the same party and decided to eat a cupcake. This is no big deal since Jake still eats fewer calories than James by the end of the day. BUT the problem is that now James will eat that 300 calorie cupcake and he still has room to eat 2200 calories of nutrient-dense, healthy food! Jake on the other hand only has 1700 calories left to eat healthy food before he starts eating too much and might gain weight.

What’s the problem?

Jake will not get as much nutrient-dense food as James (even if Jake doesn’t eat the cupcake). That means less protein, essential fatty acids, vitamins, minerals, AND probably even more important: not as much diversity of essential nutrients.

Case in point: exercise allows you to eat more food = more diverse food = more healthy food = more healthy you!

Makes your life easier

Pretty vague, but a simple concept. Exercise does 2 important things to our physiology: A) our muscles get stronger and B) our ability to take in oxygen increases.

This makes daily activities easier to perform without fatigue.

It’s also shown to reduce levels of chronic stress by producing an acute stress response: epinephrine, norepinephrine (as well as other neurotransmitters like endorphins).

And also, exercising tends to improve your routine by forcing you to habitually schedule sessions for exercise, as well as (hopefully) scheduling sleep better to recover.

How to exercise?

I’ve sometimes wondered: what is the best way to exercise in terms of maximizing both fitness and longevity?

My guess is that the best way to exercise is a multifaceted training regimen similar to those of Triathletes including swimming, running, biking, and strength training.

However, for most people, this is a lot to ask. If I had to recommend something to someone newly getting into an exercise routine, it would probably be light running and strength training OR cycling + strength training.

Running + strength training is easy to get into if you don’t have access to a gym, a bike, or good bike trails. But overall, cycling is much nicer on the body (and to be honest if I didn’t love orienteering so much I’d probably live near a bike trail and be a cyclist).

I also don’t recommend people to run that much if they are new to running. For most people running 20-30 minutes around 3-4 times per week is enough to maintain pretty decent shape, especially if you include some drills of 30-second sprints at least once a week.

As for cycling, it takes quite a bit more time to see large improvements in strength and cardiovascular health, but I would also recommend about 40 minutes 3-4 times a week.

Either way, I think neglecting steady-state aerobic training is a no-go, but ignoring strength is also not the move which is why I think beginners should also include basic strength training in any exercise routine (whether it’s at the gym or at home).

How much is enough

I used to think that there was no such thing as too much exercise. It’s pretty clear, however, that aggressive competition and overtraining can be damaging.

I mentioned the Triathlete as being the pinnacle of fitness, and I still stand by that statement, particularly if you manage your training well. However, 2-3 training sessions per day is simply not necessary for the average person.

I listened to a podcast episode with Peter Attia who studies longevity and I think his estimates of lower-bound fitness are pretty good.

He recommends 150 minutes of steady-state aerobic exercise (like light running or biking). This is approximately what I recommended in the previous section.

I also think that approximately 25% of your sessions should have extra intensity and work to elevate your heart rate to a higher level (like running intervals or bike sprints).

Peter also recommends strength training sessions 3-4 times per week with a focus on functional movements. This can include anything from pullups, pushups, deadlifts, situps, etc.

That’s all I have for this post, I mainly wanted to get the point across that exercise is better for you than most people give it credit for (particularly the point I made about diet). So hopefully you can feel better about exercising or maybe start doing something about it after reading this post!

Anthony Riley

Are we training wrong? (Part 2)

In the last post I mentioned how separating running and orienteering training is not very effective, and also how focusing on training more with orienteering-specific workouts can develop your terrain speed more than just traditional speedwork (which is designed to make you a faster runner not orienteer).

In this post I want to write a little about what I think it takes for a new elite orienteer to make it into the big leagues. Being new to the elite level, I’m speculating about how I can train to hopefully compete with some of the top athletes.


1) Train speed through terrain

I’ve mentioned this many times, but it’s been drilled into my head (and correctly so) that you need to be fast to compete with other fast runners.

This was made very apparent to me at JWOC where I had some decent performances, but was crushed by the faster athletes.

Why is speed (particularly terrain speed) so important? Might be a stupid question, but here’s a few reasons.

1) The faster you go through terrain the faster you can run when you aren’t navigating (e.g. on trails or easy legs)

2) If you are a stronger runner it is easier to read the map at higher speeds (this is actually quite important).

AND both of these things can bootstrap off each other to make you orienteer much better and faster. When it is easier to read map at high speed, it is easier to simplify legs and make the leg easier to run at higher speed.

2) Train in difficult terrain

Since spending a lot of time training speed through terrain doesn’t leave as much time for technical training (especially in the states where it’s hard to find and set up courses) it’s important to train in challenging terrain.

Greg Ahlswede definitely clued me in on this when I did a couple training camps with him in North-East Pennsylvania and my technical skills massively improved.

Why does training in difficult terrain improve your technical skills? (Wow another really stupid-sounding question).

Well, training in challenging terrain challenges your technical skills thus forcing you to adapt, improvise and overcome.

Difficult terrain allows us to identify our technical skills that aren’t very strong and we need more practice with. It also forces you to be very diligent about your focus during the training which is key to effectively simplifying the map and identifying/executing your route.

This is also brings me to my next point.

3) Train in different types of terrain

New and different terrain to what you normally run in also allows you to find technical skills that you don’t necessarily use as often and sharpen them up.

Also, most importantly, training in different types of terrain allows you to abstract the important elements of orienteering into a more refined and effective method for navigating through all types of terrain.

For example, you might learn that simplifying the map applies to pretty much all types of terrain and you can abstract the idea of simplification and apply that idea to new terrain that you maybe never seen before.

4) Train in easy terrain

This might seem pretty counter intuitive, but I also think it’s important to train in easy terrain about as often as you train in difficult terrain.

One of the key things I attribute to my skill in orienteering is confidence. It’s extremely important to be focused and confident while navigating or else you will lose a lot of time due to hesitation or second-guessing yourself.

Training through easy terrain helps build confidence and is great training for running fast through terrain. If you only train in difficult areas then your confidence can take a hit and you will start hesitating and running slower, but if you train in easy areas and have amazing training sessions that are fast and clean then your confidence will skyrocket and it allows you to translate that confidence to real orienteering races which is crucial to success in the sport.

Anyways, that’s all I have for this post. If you are interested in reading more in depth on how to improve (especially technical skills) then I recommend reading The Winning Eye.

I may have recommended it before, but a lot of the theories I come up with on technical training are based on that so, enjoy!

Are we training wrong? (Part 1)

I’m not convinced that the way many orienteers train is very effective for orienteering. Why?

It pretty much started when I looked at my training for this year.



2021 isn’t over yet, but by the end of the yea I don’t expect to have much more than 250 hours of training logged on Attackpoint.

That is 100 hours less than last year when I was injured for 3 months, but training way more (especially in university). And now I am in the best orienteering shape of my life after a relatively small amount of training this year.

Do I think that training less is better? No.

But what I’ve learned this year is that more specialized training for orienteering is super important and having effective training sessions can makeup for a HUGE lack of training hours.

Would I have liked to train more this year? Yes, I just ran into some problems and instead spent my gap-year time focusing on how to make my training more effective rather than just more.


The second (normal red) bar in the graph above represents orienteering and I expect that by the end of the year my orienteering volume will match or exceed that of last year while both conditioning and running volume will be significantly lower.

Not only have I been doing more orienteering training this year, but I’ve tried to focus my workouts to be more orienteering specific.

By orienteering specific workouts I mean the following:

Terrain Intervals / Running – running through terrain at a fast pace

Hill Workouts / Training – running up hills at a fast pace

Dynamic Movement Workouts – running/jumping/climbing over obstacles


Why do I do these orienteering specific workouts as opposed to normal running workouts? Well it is pretty self explanatory.

Despite being at a lower speed than say a track workout, these orienteering workouts help develop the leg strength and power necessary for speed through terrain which, as I’ve mentioned in another post, is the primary physical component of orienteering (at least in the forest).

Is doing track workouts useless then? I don’t think so.

At first I thought that replacing all speed work with these kind of orienteering specific workouts is the way to go. But after some thought, it seems to me that track workouts at a fast pace also have their place in orienteering training because 1) they will be easier if you have a good base of strength from orienteering and 2) they help train aerobic endurance and speed in a way that orienteering specific workouts can’t seem to do.

So I do think that if you HAD to choose between doing only orienteering specific speedwork vs. typical speedwork then do the one more specialized for orienteering (like terrain intervals).

But since we have the option to do both I think that doing both is more effective than only one or the other even if traditional speedwork isn’t specifically designed for improving your orienteering.

Oregon Ducks add 5 more victories to close out Hayward Premiere track and  field meet - oregonlive.com

So, what would a good week of training look like for me?

Monday: Rest Day / Cross Training

Tuesday: Orienteering Specific Workout

Wednesday: Easy Run w/ Map

Thursday: Traditional Speedwork (either tempo run or track workout)

Friday: Easy Run w/ Map or Cross Training

Saturday: Easy Orienteering Training or Terrain Running w/ Map

Sunday: Long Run or Hard Orienteering Training

I plan to follow something similar to the above when I go back to school in a few weeks (although my club does workouts on Wednesday so I’ll have to move things around).

Anyways, I want to go into how to train during actual orienteering sessions and why running with a map is important, but I think I will leave that for another post.

Thanks for reading! Read Part 2 here.

JWOC Training Week in Turkey — thoughts

Above are all 7 maps in the official training camp before JWOC here in Turkey.

I’ve been training here along with the other athletes: David Runde, Jessica Colleran and Ben Brady.

My impressions so far have been pretty mixed. The first two maps above were meant to be relevant to the middle however they weren’t similar to each other at all.

The long relevant terrain also is not VERY similar to the leaked Long map.

Although judging from the description and photo in the bulletin I expect the long will mostly be on the west side of the map shown below.


Anyways, so far the training has been going quite well for me. I’m a bit rough around the edges at times making small mistakes, but the mistakes have been going away as I do more trainings.

Only after 4 forest trainings, I feel pretty solid about the upcoming races, especially after watching some of the other team trainings.

Animated GIF - Find & Share on GIPHY

I had a really good training in the same area many teams have been training (number 4/5 in the map gallery above).

We did a simulated mass start between the Ukrainian, USA, Japanese and Spanish teams (like the first leg of a relay).

And I managed to beat everyone, running barely over 6 min/km in pretty physical terrain.

I recommend watching the replay here if you are interested. It doesn’t have very many routes, but if you look at my route it can give you a good idea of how to run through this kind of terrain (when / why I avoid green etc.)

It wasn’t a perfect race, although I was cleaner than most and physically managed to push pretty well. Before this one I took the trainings really easy too so I probably had some extra energy.

Anyways, I felt really good about that race and hope I can pull off something similar in the actual relay and also a fast / clean race in the middle and long as well.


The last thing I want to cover is the first training we did which is probably most relevant to the middle.

Here is a link to my route (bad map quality sorry).

The scattered and detailed rocks map it look very technical, kinda like in the Czech Republic this year.

However, the rocks are very over-mapped which is a bit odd. Most of the mapped “rock piles” are very small. The cliffs and boulders are also usually minimum size or smaller.

This makes the terrain not as technical as it looks at first glance because if you keep your head up then it’s easy to see other features or just spot the control. But I still think you can get confused if you are looking for one rock in the middle of a bunch of rocks ESPECIALLY if you don’t stick on your compass.

I believe we are doing another training here before JWOC actually starts on September 5th, and I am going to focus on taking some really good compasses through the rocky areas.

Anyways, I think that’s all I have to say about training here. The races are coming up soon and I’m very excited! Now trying to be as physically prepared as possible by letting my legs recover, eating and sleeping well!

That’s all.

Who is Dr. Jordan B Peterson? (Part 1)

This past year I took a break from university mainly to avoid the insufferable nonsense of online education. I never expected it to be so difficult to live without the structure of school and the everyday comfort of having something to do.

All of a sudden I needed to decide what to do every moment of everyday and it was HARD. I struggled quite a bit, jumping between different hobbies and shuffling schedules. I’ve never really been a diligent planner so that meant I would go into each day not knowing what I was doing AT ALL until maybe 5 minutes beforehand when I decide to do something silly, like start a blog.

Anyways, one of the discoveries I made during this time was a book written by the popular psychologist Jordan B. Peterson called 12 Rules for Life: An Antidote to Chaos. If you haven’t heard of the guy then either you’ve been living under a rock or otherwise have better things to be doing than listening to some guy talk for hours on YouTube.

Jordan Peterson rose to fame some time around 2016 after taking a controversial political / social stance on Canada’s Bill C16 which mandated the use of preferred pronouns under Canadian law.

But for many years he’s been known as a brilliant psychology professor, intellectual and philosopher on topics ranging from Religion to Personal Development.

If you’ve never seen or heard about him I really recommend watching one of his lectures to get a better idea who he is.

Jordan Peterson on the meaning of life for men. MUST WATCH - YouTube

Now, I truly think that Jordan is brilliant in his speech and presentation skills, which are backed up by a wide array of knowledge in psychology, neuroscience and history.

Despite all that background, I do believe that I can break down Jordan Peterson’s main philosophies in one blog post — hopefully in a way that is more easily digestible than his lectures where he speaks for hours.

Not everything about Jordan Peterson will be covered in this post, but I will share some of the important ideas, philosophical concepts and developmental theories starting with a description of certain fundamental concepts.

Developmental Psychology

I wouldn’t call Jordan a developmental psychologist (although he is a clinical psychologist) but he brings up the field several times in his lectures, particularly the work of Jean Piaget, famous for his work on child development. The idea that humans behavior is largely explained by development since birth isn’t new, and is not very controversial. Yet the field of developmental psychology is way too large to go in depth so I will cite a few important takeaways that Jordan often mentions:

1. Taking good care of children from birth is crucial for their later life success and wellbeing (measured in various ways).

It’s not clear exactly what “good care” means, and it varies from person to person with sometimes comparable levels of success, but as I continue it will become more clear what Jordan believes (and I mostly agree with) to be the main indicators of parenting success.

2. Changing your own behavior is crucial to developing yourself.

Pretty self-explanatory. This will be mentioned a lot more later in the post, so I’ll just say that changing your behavior can change the trajectory of your development either towards something better or not, so controlling that is important (but difficult).

Existentialism

Most people think of existentialism as the “life is meaningless” idea, but that’s not entirely correct. Existentialism is essentially the idea that meaning is derived from lived experience; it’s not things themselves that have meaning but the way we use objects or perceive them.

Existentialism emphasizes the importance of individual existence (pretty easy to remember if you take apart the word).

Phenomenology

One of the most interesting fields that Peterson frequently touches upon. Plainly put, phenomenology is the study of ‘phenomena’ or more simply — an approach that concentrates on the study of consciousness and the objects of direct experience.

Consciousness is a very strange phenomenon (pardon the pun) and is extremely interesting to both study and philosophize about because we don’t know crap about it.

One thing that Jordan mentions a lot is the difference between objective reality and experienced reality. Or the difference between matter and what matters.

At first it might seem strange. What’s the difference? It’s actually pretty huge, and this is a point Dr. Peterson emphasizes a lot. We perceive the world not as a collection of objects, but as filled with ‘tools’ and ‘obstacles’ that either aid in moving towards an aim / objective or prevent us from moving towards the current goal.

More simply: we always have a current aim or goal, we perceive the world as things that move us towards or away from that goal because THAT is was is important to us.

Let’s look at an example…

Say you are downstairs and haven’t ate for many hours, but were distracted by homework that you FINALLY finished. All of a sudden your brain will likely fall under control of hunger (a motivated state) and your perception will be hyper focused on how to satisfy that motivated state (and thus activate certain reward systems to reinforce that behavior, but that’s a topic for another time).

The kitchen is upstairs so first thing you’ll do is get up out of your chair and align your body and eyes to move towards the stair case. You automatically ignore everything else in the room, because none of that would satisfy your current aim (unless there is a Snickers bar in the corner or something).

Assuming you are familiar with the kitchen, your eyes and ENTIRE perception will focus on where you can find food. Otherwise, if you are not familiar with the kitchen, your brain will utilize abstractions learned from your previous experience in kitchens to perceive a fridge or cupboard that it’s never seen before and assume that is where food can be found.

When you open the fridge, your eyes will focus immediately on the abundance of food, judging how to best satisfy your current motivated state, but you will also be under the influence of other motivated states competing with the state of pure “hunger”.

Maybe you are watching your weight so you are willing to sacrifice appeasing your hunger to in return shed some pounds.

All of these different motivated states can be thought of as micro personalities that ‘take control of you’. Even if they are only biological processes, I find it much easier to think of motivations in terms of micro personalities as it is much more practical.

ANYWAYS, that is enough of Phenomenology. I explained a few things outside of Phenomenology including Freud’s (or Jung’s?) theory of motivation, but hopefully now you get the idea that our consciousness and perceptions are not necessarily concerned with the objective world (assuming one even exists.. see this link for an extremely good video explaining this idea).

Truth

So this isn’t a psychological or even philosophical idea, but it is mentioned a lot by Jordan Peterson and I think it is really important to cover.

In fact, Jordan seems to describe truth almost as a religious idea in that using truth to act in the world will make the world better. And that the more that people are truthful, the better the world will be.

Now, it’s important to distinguish ‘telling the truth’ and ‘acting truthfully’ because I believe the second to be most important. You can always tell the truth and lie with your actions, although speaking the truth is a good first step.

When you act truthfully, your speech, actions, thoughts and experience should all be brutally honest. It’s hard to explain how to be truthful, but in Jordan Peterson’s book “12 Rules for Life” he has a chapter titled “Tell the Truth, or At Least Don’t Lie”. It should be quite obvious to you when you have talked, written or acted out a lie. It is important to notice these breaches of truth and try to correct them, don’t let lies slip by.

It’s really hard for me to explain why being truthful to yourself and to others is absolutely and fundamentally important, but it is.

I recommend being honest in every interaction, don’t try to deceive or manipulate, it’s not worth it. Lies will pile up and come back to haunt you.

Individualism

THIS IS THE LAST THING I WILL TOUCH ON IN THIS POST.

Jordan Peterson (rightfully, in my opinion) believes that the individual is the most fundamental and important element of society.

One of Dr. Peterson’s controversial criticisms of left wing activists and politicians is that they tend to elevate group identity over individual identity. When Peterson believes that individual identity is undeniably most important.

One of the justifications Peterson uses is that with group identities, individuals can have many of them. This makes it hard to know whether to hold a group responsible for the actions of an individual when often the individual is to blame (emphasis on individual responsibility is a topic that I’ll hopefully touch on in Part 2 of this post).

Also, another potential benefit to individualism is that it tends to foster better interactions between people. Tribalism, which occurs when people primarily identify with a group or collection of groups, has historically led to a lot of conflict when compared to individualist interactions which tend to consider that both parties in the interactions are responsible for what they do and say which makes for more respectful interactions.

Last thing about individualism, taking a more practical approach, is that when you act with your individual responsibility in mind, it makes your life more meaningful as taking responsibility makes you an actor in the world that can effect change and by taking responsibility for their actions, people are more likely to effect positive change because that is not only what’s best for society, but for themselves as well.

Anyways, I’ve gone off on a lot of weird tangents in this post and surely haven’t explained myself thoroughly enough to make complete sense. Hopefully when I get part 2 up things will make more sense and Jordan’s philosophy will seem more clear.

Analyzing the WOC 2021 Relay

2021 is the year of my first WOC performance. I’m 20 years old, one of the younger athletes in the field, and ran for Team USA, one of the less experienced countries.

I still had a really great time and am looking forward to competing again!


Overall, the relay was my favorite and probably best performance at WOC. It was in the famous Czech sandstone terrain which you can see pictures here and a good video here.

Right out of the start I was feeling a bit crappy from earlier problems with overtraining, but my speed was fine as I chased everyone towards the start triangle.

On the way to the first control, the pack split up between the trail and the forest. I didn’t have a chance to really look at the trail route so I just followed the pack that went closer to the line.

It was rough keeping up with the pack going super fast out of the gate, but I managed to get to the first control right behind Martin Hubmann and Albin Ridefelt.

However, I didn’t really look ahead to the next control so I got confused both by which route I wanted to take and exactly what was going on with the other runners as they were still taking other forkings. I definitely could’ve saved time if I was more confident and looked for a route to number 2.

By control 4 I was already struggling on the physical side of things, taking a trail route around and losing some time to the quicker runners.

I made very few technical mistakes throughout the course so I’m quite happy with that. Another small hesitation on number 6 that you can see on my GPS track.

I’d say that the main things I need to focus on and practice for next time are 1) better confidence in myself and 2) better fitness.

With those two I think I can secure a much better result and hopefully throw myself into the mix with the top runners even in such a packed and technical first leg.

For more analysis about the actual course feel free to watch the video at the top of this post where I briefly go over some of my thinking, planning and mistakes throughout the GPS replay.

That’s all.

How to learn a language — quickly

I recently watched a video by What I’ve Learned on YouTube which was a great overview of how to ACTUALLY learn a language, not the crap they teach in highschools nowadays where it can take up to 4 years before students are even comfortable speaking in basic conversations.

The method called Comprehensible Input has been around for quite some time, popularized by Steven Krashen, who is a language researcher and polyglot, fluent in 8 languages and is actively learning more.

Since then, language learning has been boiled down and optimized to a point where many claim that anyone can learn to be fluent in a language in 6 months.

I could honestly just end the post here and link you to Refold, a website the explains language learning in very good detail and will walk through how to efficiently allocate your time towards learning language.

So DEFINETLY go to their website and keep it open in another tab for later because it is amazingly useful.

My experience with learning Russian has been an interesting one so far. I started on Duolingo after becoming interested because of my mom and two of my close friends that spoke Russian.

Since then I’ve taken First-year Russian in University and continued to practice via Duolingo, but my skills in the language were still pretty minimal.

What really accelerated my learning was the method described in the website I linked above: listen, listen, LISTEN to content in the language.

Active listening and passive listening are both useful, immerse yourself in the language for several hours a day. (video is also useful)

The brief explanation of why listening is so useful is because our brain is really good at recognizing patterns. This is how we learn language as a baby, listening to our parents and others, picking up patterns.

And since we are adults we can use even more tools to our advantage: Anki is flashcard software that is really useful for memorizing new words NOT so you can recall them later while trying to communicated, but instead to better understand content that you are listening to or watching.

The key is to find content in the language that is enjoyable! Otherwise the process becomes much more difficult and slow. I personally am a big fan of Russian music so I listen to a lot of it while translating the lyrics and memorizing the words I don’t know so I understand the music better.

Many languages have specific podcasts that speak at a beginner level which can be another good place to start. If you are interested in Russian language I absolutely recommend checking out Russian With Max.

I’m sure anyone can become fluent in Russian only watching his content. I use it all the time, he has amazing videos and a great podcast.

It’s honestly insane how quickly you are able to pick up a language using the above methods. Becoming fluent is more difficult, but I’m getting very close to being fluent in Russian after only 6 months of using the comprehensible input method of acquiring language.

And I could have been way more efficient if I was disciplined.

Regardless, if you are interested in learning any language I absolutely recommend diving in. It may seem daunting at first, but follow the method briefly described in this post and on Refold.la and I guarantee is will not only be effective but also very satisfying.

It still takes a lot of work to acquire a language and I recommend setting aside 30 minutes to 1 hour per day of active listening (podcast, YouTube videos or a TV show) and at least another 1 – 2 hours of passive listening (music and podcasts) if you want to maximize acquisition without burnout.

Even if you can’t commit to so much. Taking 30 minutes everyday to work on a language can get your really far in less than a year. It’s amazing.

A new approach to Orienteering Training

So I’ve been thinking about an approach to orienteering that I’ve been starting to apply recently.

I don’t think it’s a replacement for more traditional training methods, but I still want to propose it as being potentially useful.

So I’m sure most people are familiar with the “Memory-O” technique or format where your goal is to memorize a few controls or even an entire course.

This training method builds off the memory concept as a way to improve key orienteering skills like simplification.

The Method

On any normal training course, memorize one (or more) controls, run to the control(s), stop when you get to the control, rinse and repeat.

Matthias Kyburz and Tove Alexanderson — routes head to head

Even more simply put: memorize one control at a time (as fast as you can), and orienteer to the control without reading the map.

Before I go any farther, I want to address some (pretty significant) drawbacks.

  1. Can’t practice reading the map while running
  2. Hard to use / practice compass skills

The first drawback is really important, since reading the map while running is one of the most important things in orienteering.

Which is why this training technique needs to be supplemented by more typical trainings: orienteering intervals, night orienteering, skill tests (corridor, compass etc.)

How does the “Memory method” work?

There are only 3 things you need to pay attention to during a memory training: memorization time, speed, and error rate.

You want to minimize the amount of time it takes to memorize the leg, maximize the speed at which you can follow the memorized route, and minimize the rate of error when following the route (going off the memorized route and losing contact).

If you can optimize these parameters, you can become a very efficient “stop and go” orienteer.

Short memorization time, high speeds, and low error rate can be further optimized by map reading while running to take in more information.


This method has definitely has its drawbacks during competition including: time lost while memorizing, rigid route choice, hard to use compass, and generally higher error rate.

But during trainings, it is a very effective form of developing key skills:

  1. Simplification
  2. Not overreading the map
  3. Running fast through terrain

There is also some variation and flexibility that can be introduced during a memory session.

Me at the WOC 2021 Sprint in Czech!

Memorizing multiple legs at a time can be useful in easy terrain or if you are training at a slow pace.

Even more useful, memorizing the direction you should exit the next control, and not stopping to memorize the next leg, but instead jog the intended direction (sorry for the scuffed explanation).

You could memorize parts of the leg at a time and try to cut your memorizing time down as much as possible.

There’s lots of ways to use memorization to improve training and make them more fun! (especially if you are going at a slow pace).

Hopefully you find this interesting and/or helpful. Enjoy orienteering!

Anthony Riley

Do Athletes Need Carbohydrates?

For the past several months, I’ve been looking into various nutrition and metabolic research trying to figure out how to optimize physical health and athletic performance through diet.

Now, it might seem likes professional athletes have got it all figured out, but when it comes to nutrition, the research is very conflicting and often wrong.

Take, for example, the Ancel Keyes hypothesis that fat causes heart disease.

This hypothesis was the catalyst for numerous radical and outright crazy new products and policies capitalized on by big food companies.

Dietary fat is not a primary cause for heart disease and has been disproven numerous times.1 And whether saturated fat plays a role in heart disease is also very unclear.2

Now, whether carbohydrates are necessary for athletic performance has been bothering the heck out of me for some time now. I’ve spent a lot of time listening to experts explain, discuss and tear at each other’s throats, but I haven’t ever really looked into the literature myself.

Time to give this all up? I don’t know about that one…

Before I go too far into things, I’ll do a little TL;DR on my thoughts.

Nutrition is complicated. It seems that everywhere I look there are experts with confliction opinions and, more importantly, research with conflicting findings.

It seems like eating carbohydrates has a positive effect particularly on anaerobic or higher intensity athletic activity. And because Orienteering includes a lot of tough terrain and hilly running, I don’t see any reason to stop eating carbohydrates (particularly those consistent with evolutionary dietary habits).

Now let’s dive into some of the studies:

The FASTER study is widely cited by low carb advocates and athletes showing that “fat-adapted athletes” show no decreased markers for performance in endurance running.3

Despite not being a double-blind RCT (randomized controlled trial) and being only n = 10 subject in each group, the FASTER study is widely cited.

The most suprising finding was that in both groups, the muscle glycogen levels were the same before exercise, post exercise, and post consumption of a recovery drink with the appropriate macros.

This is interesting because for a long time people thought that the depletion of muscle glycogen was strongly associated with fatigue.

And that muscle glycogen is best maintained by a high-carb diet. This seems to have been disproven in the study.

What was significantly different between the two groups was the oxidation of each preferred fuel source:

As expected, fat-adapted athletes burned more fat and less carbohydrates, however it’s interesting to keep in mind the shape of the curves and that both group burn BOTH fat and carbohydrates.

It’s easy to look at these results and say that fat-adapted athletes shouldn’t have any problems with athletic activity compared to typical carbohydrate fueled athletes, but now I’m going to attempt to disprove that assumption.

Zach Bitter, “fat-adapted” ultra-endurance world record holder

There is a decent body of evidence that suggests anaerobic or high intensity activity is impaired by a diet low in carbohydrates.4,5,6

This is a pretty big deal considering that intense activity is a huge part of athletics in almost every possible situation, including endurance events.

Sweden winning the WOC 2021 Sprint Relay

Anthony Colpo’s article does a great job explaining why high intensity activity is critical for success in competition.

Just imagine. Even in an ultra-marathon there are going to be steep hills, rocky trails, and maybe even a sprint finish. So even if your low intensity speed is not limited by a low carbohydrate diet, the lack of energy to run at higher intensity is still a limitation.

This limitation is further exaggerated in track, cross-country and orienteering, despite being endurance sports (that I love).

My time behind the leaders in the WOC 2021 sprint relay.

Why do low carbohydrate diets impair high intensity athletic activity?

It’s not entirely clear. The traditional explanation is that the aerobic system uses “glycosis” (metabolization of glucose) to create energy (ATP) in the absence of oxygen (at higher intensities).7

This makes sense under the assumption that high carbohydrate diets optimize carbohydrate metabolism and glycogen stores in your muscles.

As we saw in a previous study, however, muscle glycogen stores in fat-adapted athletes seem to be very similar to those of high-carboydrate athletes during sub-maximal exercise.

Hmmm… so shouldn’t fat-adapted athletes have similar levels of glycogen to use for glycolysis?

Another potential explanation is that circulating levels of blood glucose is lower on a low carbohydrate diet, thus limiting the rate of glycolysis and inhibiting performance at higher intensities.

But it isn’t clear that blood glucose levels typically vary by that much between the two diets.8

So what is it actually that limits anaerobic performance? It seems that fatty acids and fat stores cannot be metabolized fast enough during glycolytic activity to make ATP at the same rate as metabolized carbohydrates.

If that isn’t enough to make you run away (literally) from the idea of low carbohydrate diets for performance, there is also the idea that carbo-loading or a diet high in carbohydrates increases glycogen stores AND perhaps increase utilization of glycogen stores for energy.

And the idea that carbohydrates produce more ATP per unit of oxygen than fats.7

Whether this is important for purely aerobic activities, like ultra-running, cycling, and iron-man triathlons, is unclear.

What is clear, however, is that higher intensity bouts are limited by low carbohydrate intake and it takes a long time (2 – 4 weeks minimum) to adapt to a high fat diet which may cause short term performance deterioration.

So basically… nutrition is still complicated. But it seems to me that the common belief held by most nutritionists, coaches and athletes is largely correct: carbohydrates are important for athletic activity.

Yes, athletes can become “fat-adapted” and it seems like it works fine for ultra-endurance sports that don’t require much high intensity activity.

But when it comes to most sports, high intensity activity is inevitably involved. And without carbohydrates to quickly metabolize, activity is severely limited.

This doesn’t mean that if you’re an athlete, you should cram down as many carbohydrates that you possibly can. It’s important to get the proper amount of calories, protein and micronutrients for your level of activity. The source of carbohydrate also matters, but that’s a story for another time.

Anyways that’s enough for now.


References

1. Mozaffarian D, Micha R, Wallace S “Effects on Coronary Heart Disease of Increasing Polyunsaturated Fat in Place of Saturated Fat: A Systematic Review and Meta-Analysis of Randomized Controlled Trials” PLOS Medicine

2. DiNicolantonio, James J et al. “The Evidence for Saturated Fat and for Sugar Related to Coronary Heart Disease.” Progress in cardiovascular diseases vol. 58,5 (2016): 464-72.

3. Jeff S. Volek, Daniel J. Freidenreich, Catherine Saenz, Laura J. Kunces, Brent C. Creighton, Jenna M. Bartley, Patrick M. Davitt, Colleen X. Munoz, Jeffrey M. Anderson, Carl M. Maresh, Elaine C. Lee, Mark D. Schuenke, Giselle Aerni, William J. Kraemer, Stephen D. Phinney,
“Metabolic characteristics of keto-adapted ultra-endurance runners” Metabolism Volume 65, Issue 3, 2016, Pages 100-110, ISSN 0026-0495

4. Louise M. Burke and Bente Kiens “Fat adaptation” for athletic performance: the nail in the coffin?
Journal of Applied Physiology 2006 100:1, 7-8

5. Zinn, Caryn et al. “Ketogenic diet benefits body composition and well-being but not performance in a pilot case study of New Zealand endurance athletes.” Journal of the International Society of Sports Nutrition vol. 14 22. 12 Jul. 2017

6. Michalczyk, Małgorzata Magdalena et al. “Anaerobic Performance after a Low-Carbohydrate Diet (LCD) Followed by 7 Days of Carbohydrate Loading in Male Basketball Players.” Nutrients vol. 11,4 778. 4 Apr. 2019

7. Davidson, Mackenzie “Fats vs. Carbs as Energy Sources” LinkedIn Articles April 1, 2019

8. Yuan, X., Wang, J., Yang, S. et al. “Effect of the ketogenic diet on glycemic control, insulin resistance, and lipid metabolism in patients with T2DM: a systematic review and meta-analysis.” Nutr. Diabetes 10, 38 (2020).