惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
C
Check Point Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
J
Java Code Geeks
博客园 - 【当耐特】
H
Hacker News: Front Page
S
Secure Thoughts
博客园_首页
Engineering at Meta
Engineering at Meta
N
News | PayPal Newsroom
美团技术团队
SecWiki News
SecWiki News
U
Unit 42
The Hacker News
The Hacker News
有赞技术团队
有赞技术团队
T
The Exploit Database - CXSecurity.com
M
MIT News - Artificial intelligence
T
Threat Research - Cisco Blogs
V
Vulnerabilities – Threatpost
TaoSecurity Blog
TaoSecurity Blog
The Last Watchdog
The Last Watchdog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
F
Fortinet All Blogs
T
Tor Project blog
T
Tailwind CSS Blog
Scott Helme
Scott Helme
Recorded Future
Recorded Future
Know Your Adversary
Know Your Adversary
The Register - Security
The Register - Security
Google DeepMind News
Google DeepMind News
Microsoft Security Blog
Microsoft Security Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Google DeepMind News
Google DeepMind News
S
Security @ Cisco Blogs
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
阮一峰的网络日志
阮一峰的网络日志
H
Heimdal Security Blog
MongoDB | Blog
MongoDB | Blog
S
Securelist
C
CXSECURITY Database RSS Feed - CXSecurity.com
雷峰网
雷峰网
博客园 - 聂微东
S
Schneier on Security
T
Tenable Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
B
Blog

Pierce Freeman

A browser for agents | Pierce Freeman The grey market of podcast appearances The way I travel | Pierce Freeman Fixing slow AWS uploads | Pierce Freeman Local tools should still use vaults We solved scratch content first Starting a podcast in 2025 Being late but still being early Automating our home video imports Adding my parents to tailscale A deep dive on agent sandboxes Language servers for AI | Pierce Freeman My simple home podcast studio We need centralized infrastructure | Pierce Freeman Coercing agents to follow conventions using AST validation My unified theory of social selling My personal backup strategy | Pierce Freeman July updates to the homelab How the KV Cache works httpx is the right way to do web requests in Python Reputation is becoming everything | Pierce Freeman Building a (kind of) invisible mac app Updated knowledge in language models Making an ascii animation | Pierce Freeman How speculative decoding works | Pierce Freeman Under the hood of Claude Code Doing things because they're easy, not hard Speeding up sideeffects with JIT in mountaineer Firehot for hot reloading in Python Misadventures in Python hot reloading How text diffusion works | Pierce Freeman The tenacity of modern LLMs The ergonomics of rails | Pierce Freeman How language servers work | Pierce Freeman Just add eggs | Pierce Freeman Unfortunately SEO still matters | Pierce Freeman The futility of human-only web requirements Setting up Input Leap | Pierce Freeman Checking in on Waymo | Pierce Freeman The react revolution | Pierce Freeman Speeding up many small transfers to a unifi nas Quick notes on swift libraries AI engineering is a different animal San Francisco | Pierce Freeman Debugging a mountaineer rendering segfault Local network config on macOS Building our home network | Pierce Freeman Introducing Envelope.dev | Pierce Freeman Legacy code and AI copilots Typehinting from day-zero | Pierce Freeman Generating database migrations with acyclic graphs Lofoten | Pierce Freeman Mountaineer v0.1: Webapps in Python and React Constraining LLM Outputs | Pierce Freeman Passthrough above all | Pierce Freeman Accuracy in kudos | Pierce Freeman How quick we are to adapt The curious case of LM repetition Costa Rica | Pierce Freeman Debugging chrome extensions with system-level logging Speeding up runpod | Pierce Freeman Inline footnotes with html templates Parsing Common Crawl in a day for $60 An era of rich CLI All or nothing with remote work The Next 10 Years | Pierce Freeman Adding wheels to flash-attention | Pierce Freeman LLMs as interdisciplinary agents | Pierce Freeman New Zealand | Pierce Freeman Representations in autoregressive models | Pierce Freeman Let's talk about Siri | Pierce Freeman Minimum viable public infrastructure | Pierce Freeman Reasoning vs. Memorization in LLMs Automatically migrate enums in alembic Greater sequence lengths will set us free Dolomites | Pierce Freeman Using grpc with node and typescript Opportunity years | Pierce Freeman Buzzword peaks and valleys | Pierce Freeman Buenos Aires | Pierce Freeman Network routing interaction on MacOS Independent work: November recap | Pierce Freeman Debugging slow pytorch training performance The provenance of copy and paste Debugging tips for neural network training Patagonia | Pierce Freeman Santiago | Pierce Freeman My 2022 digital travel kit AWS vs GCP - GPU Availability V2 Independent work: October recap | Pierce Freeman Planning Patagonia | Pierce Freeman Relationship modeling | Pierce Freeman The power of status updates A new chapter | Pierce Freeman Give my library a coffee shop AWS vs GCP - GPU Availability V1 Switzerland | Pierce Freeman Headfull browsers beat headless | Pierce Freeman Webcrawling tradeoffs | Pierce Freeman Copenhagen | Pierce Freeman
On learning to ski | Pierce Freeman
2023-03-08 · via Pierce Freeman

In Reinforcement Learning there's a core tradeoff between exploration vs. exploitation. In a limited-time game, you have to choose how much you pursue novel paths and how much you stick with what you know. The latter becomes that much harder once you know that a policy mostly works. When do you decide to stop optimizing and call perfection the enemy of good?

Common wisdom says children explore while adults exploit. Children are willing to try new things in their spare time. Adults fall back on old hobbies and accept their limitations. At some point, we tend to transition from one to the other - perhaps because of risk intolerance, time limitations, or sheer laziness.

There's a body of psychology research into cultivating growth mindsets and how certain behaviors can help or hurt learning. At their core, the research shows that mindset is more important than neural plasticity. I'm sure that's right. But I feel like the hesitation to learn new things can be summed up more directly. Namely: it sucks to suck and you often have to suck in public.

Specifically:

  • There's often physical pain associated with learning something new. It's a core limbic function to avoid pain and undue risks. You fall during a new sport; your hands fatigue from playing guitar; you land a cut from a chef's knife chopping veggies.
  • There's always emotional pain with learning something new. You're good at the majority of things you do every day. Being back in a position where you're no longer good - where your body is no longer performing with the accuracy you come to expect - takes a mental toll. You don't throw the ball where you want it; you can't play the note; your soufflé looks like a pancake.
  • Most hobbies are not mastered in private. You need to get out on the court and face another team; you need to play alongside another musician; you want to cook dinner for your family and not give everyone food poisoning.

I never learned how to ski growing up. We went on a handful of family trips to the mountain, but I would always end up re-learning the same pizza/french fry technique in a group lesson. Throughout the weekend I would get a bit better but then I would take off my skis and wait until the next season to put them on again. I never spent enough time accelerating into the fun area to want to go more frequently.

As it turns out - a ton of people at Stanford learned how to ski at some point. A lot learned on the east coast, some in Europe. We'd sometimes go to Tahoe as a dorm and I'd snowshoe instead of heading to the mountain. It didn't seem practical to learn again during a weekend. Especially with a higher center of gravity and exceeding the weight limit for the magic carpet.

This winter I decided to learn. I was living in Tahoe for the season since we found a good deal on a lease.1 I bought a season pass, skipped the gym membership, and started going to the mountain as my main hobby.


My first run was at the top of a cliff face2 with two friends - both pro skiers. I was convinced I was going to fall on my face and roll the rest of the way down.

They skipped the beginner instructions and went straight to parallel skiing. Keep both skis tight together and alternate pressure from one foot to the other. Start with meandering turns almost perpendicular to the run. I followed their advice and got all of ten feet before landing in a snowbank. After that, I not-so-gracefully got down the hill.

We looped that same two runs for the rest of the day. I'm sure to them it felt like we were walking on flat ground. For me, it felt like I was balancing on toothpicks - some alien object breaking the connection between me and the ground. I had a sneaking suspicion I wasn't going to be a natural at this.


At this point, twelve weeks later, I can get down any run. Some more gracefully than others. And I certainly have the thought "Dang, this is steep" more than a few times in a weekend. But sometimes you just have to swallow that feeling, face your skis down, and push off.

My takeaway from the past few months is that frequency is key. If you want to master technique quickly, you have to be on the mountain multiple days in a row and loop as many runs as you can. Infrequency is a non-starter.

I managed to carve out two hours a day to head to the mountain - filling the same slot that going to the gym typically does. On a weekday from 2-4, you're not battling any lines so you can loop a run for as long as you want. Ride up, ski down, and immediately do it again. I've gotten more skiing done in two hours on a Tuesday than I have in nine hours on a Saturday. Then I drive home and get back to work from 4-8. If you work remotely, weekdays are the move.

Another argument for frequency is pure economics. Skiing is prohibitively expensive for a day pass, even on weekdays. I've seen anywhere from $150-$300 depending on where you're going. The consolidation of passes into Ikon and Epic allows for a much lower cost per day, assuming you're committing to go frequently. For at least one season this seemed like the best way to get started and get comfortable.


I started off renting gear from Sports Basement, a local sports coop in the Bay Area. They have a package that rents skis, boots, poles, and a helmet. That worked fine while I was testing the water. But after day three my feet were killing me. Everyone I talked to said that bad boots were probably the culprit.

Most people say getting solid boots is the most important priority on the mountain. They last for years and give you more control of your skis. So - I took the plunge and bought boots. I went to a local shop where they measured my size and pulled a few different versions from the back.

I was beyond thankful I didn't try to buy them online. The whole process felt a bit like going to Ollivanders in Harry Potter. The boot store owner gave major "The boot chooses you" energy. The whole process took two hours. They were thorough.


I forced myself to ski with friends as much as I could. They dragged me on runs I had never done before - and where I wasn't positive I'd be able to get down. But they never got me into a situation where I was too far outside my ability horizon3. And to that, I credit their understanding of my current capabilities with maybe a dash of luck thrown in.

I've found that skiing is an activity where your ability quickly outpaces your confidence. You can probably ski most things, you just have to override the feeling of steepness along the way. So fundamentally you need to trust the people you're skiing with. I heard too many stories about people getting stuck on some rough terrain where they had to slide down for an hour. I made sure my friends were on the same page: let's go N+1 not N+10 at each step. With enough trust capital built, I was able to focus on form.

I also started bringing headphones for the times when I wasn't with other people. It let me catch up on a podcast, audio book, or just listen to music when I was on some solo lifts. Looping the same terrain doesn't provide novelty - but it does let you isolate the environment and just focus on technique.


I was told early on to "do every run twice and never end on a bad run." If you can get down one time, you can get down again. That one run is usually enough to rewrite your mental perception of steepness. And with that confidence means more speed and more fun on the ride. I've made that a motto. Even after a few falls it's a good idea to get back up and try again.

There was a red bull documentary a few years ago about a famous motocross jumper. He said that on every run he takes, he would have 10 escape routes before he had to commit. Being able to bail early let him follow his intuition if something felt wrong. When he had to finally commit, he knew that he had plenty of opportunities behind him where he could have bailed. Having an out let him commit.

That's reflected in my own experience when it comes to speed. To go fast, I needed confidence in how to stop. As it turns out - when you jam on a downhill ski hard enough, you can stop on almost any terrain. Stress testing that theory - and stopping enough times along the way - built confidence in my intuition around speed.


My first few days were characterized by more discomfort than fun. I was worried about new runs, about doing things too far outside of my comfort zone, and about my decision to commit to this sport at all.

I now love the mountains - for the views, for the exercise, for the feeling of adventure. There's really nowhere in the world like them.

  1. This house is no-more after a caved-in ceiling because of the 50 feet of snow that hit Tahoe this winter. But it was nice while it lasted. ↩

  2. It was objectively a bunny slope. ↩

  3. I forget where I originally heard the idea that we operate in green, orange, and red modes of learning. Green is easy. Orange is challenging. Red is near impossible. We somehow managed to stay somewhere at the far side of orange. ↩