Understanding renewable energy

The reasons why the Green New Deal won’t really work are fairly subtle. A person really has to look into the details to see what goes wrong. In this post, I try to explain at least a few of the issues involved.

~ Gail Tverberg from, Understanding Why the Green New Deal Won’t Really Work | Our Finite World

slip:4uouue1.

You should read everything Tverberg has ever written about energy. I’ve been following her for about 15 years or so, and she is a font of careful, reasonable discussion.

ɕ

Depth of learning

Working deep is the answer for me. To be happy, to feel good about myself, to not feel guilty about sucking up my share of oxygen on the planet. I have to get back to it.

~ Steven Pressfield from, Writing Wednesdays: Depth of Work

slip:4usewi2.

I too am drawn to deep work. I wonder if there’s anyone who is not?

But for me, deep work seems to not be enough. I also need deep learning. I need to spend two uninterrupted hours reading something, (perhaps S Ambrose’s Eisenhower, or T Ferris’s Tribe of Mentors,) with stops to copy out quotes, detours to lookup some detail, bookmarking of another author’s work, and so on. My mind is one large pressure-cooker, and I need to regularly vent the pressure, pop the lid and jam new stuff in before sealing it back up again on medium heat.

Roughly a quarter of U.S. adults (27%) say they haven’t read a book in whole or in part in the past year, whether in print, electronic or audio form, according to a Pew Research Center survey conducted Jan. 8 to Feb. 7 [2019].

https://www.pewresearch.org/fact-tank/2019/09/26/who-doesnt-read-books-in-america/

slip:4upefa1.

Interesting article that digs into who exactly is, and isn’t, reading. Want to change your life?

Read more.

ɕ

Podcasts and good old RSS

Once I started seriously listening to podcasts, I quickly reached the point where there are more podcasts, (entire shows, not just episodes,) than I can possibly keep up with. I’m left with the choice between staying subscribed to podcasts where I want to listen to only some of the episodes, or unsubscribing and knowing that I’m missing some gems.

…and then I remember this is all just RSS.

In my podcast player, (which is Overcast,) I now keep only the shows that are my dedicated favorites; shows that I generally listen to every episode. I moved all the other podcasts into my RSS reader, (which is Reeder.) I even added a bunch of shows which I had completely given up hope of being able to even follow them looking for gems.

This had two huge benefits:

First, it improved my podcast listening experience: Not keeping all of those podcast shows subscribed in my podcast player, means less downloading and less skipping. I don’t like having to wait, so I have everything set to pre-download, and removing a lot of podcasts makes a big difference. But even more important, there’s now much less distraction. When I’m in the mood, (or the time, or the place,) to listen to podcasts, I tend to continue listening by default. I’m more likely to listen “just a bit farther” to see if this episode is going to be good, whereas if I had read the summary I might have skipped it altogether. So my podcast listening experience winds up having far more great episodes because it’s just the shows I love.

Second, it actually leads to me finding more gems: When I open my RSS reader, (as I do every day,) I’m in “skimming mode.” I’m looking for things to queue for later reading. (Pocket and Instapaper for the win.) There’s very little effort for me to skim the episode descriptions, and when I find one that looks good I add it to my podcast player. This does require me to switch apps, search, and then add a specific episode. But this small effort helps ensure that the episode is likely to be one I would really like to listen to.

There’s one detail that is a slight snag: How do you find a podcast’s feed URL? We’re all so used to searching in our podcast player apps, but you need the actual podcast feed URL to add it to your RSS reader. You’ll discover that none of the podcast player apps, and none of the directories, (Stitcher, Google, Apple, etc.,) make it easy to find the shows’ underlying podcast URL. The easiest way to do it is to use the handy search on James Cridland’s, Podnews.net (no relation/benefit to me.) It pulls the show’s information from the directories, and explains all the details about that show’s configuration including a handy RSS link icon that has the URL.

So, unpacking this idea a bit more, with some visuals we have…

Feedbin

If you don’t already have a favorite RSS reader, the easiest way to start is to use a web site which will corral all your RSS subscriptions. It will show you a nice web front end with all your feeds together. Later, if you want to run a dedicated RSS reading application on your phone or computer, any of the good ones will let you say, “I have my subscriptions in Feedbin,” and boop! you have all your feeds: Feedbin.

RSS in action

Here’s an example of what it looks like when I encounter an updated podcast feed in my RSS reading application.

Here’s the “stream” of RSS items. Sorry, I have the font size on my phone super-huge; so this only shows a few items. But the first one, under “Today”, is from a podcaster friend’s show.

 

Touching it leads me to the full RSS item’s view. Exactly what you see in this view depends on exactly what each RSS feed chooses to include.

I’m still not on the web here—still simply looking at the data in the RSS feed.

 

At this point, my brain goes, “oh yes! David put out his next episodes!” Let’s see what he’s written up… (swiping left) I get an in-app web browser view of the item from his web site.

I could even press play, right here, if I had 11 minutes.

If this were an episode I wanted to listen to—in my “I’m listening to podcasts” mode, as I described above—then I’d flip over to my podcast app and search for this episode and add it to my listening queue. In reality, it’s even easier: My podcast player app remembers the shows I’ve listened to before, so I can just touch the show, scroll to the episode and hit ‘download’ for later listening.

You can keep an eye on a LOT of podcasts this way—looking at their descriptions—without piling up more in your podcast player than you can possibly listen to.

ɕ

Territorial, not hierarchical

It has to be territorial, not hierarchical. Meaning real success comes from the inside out, not the outside in. Real success is the process, not the product. It’s what we would do if there were nobody else in the world, yet it depends in the end on everyone else in the world. The essential expression of our art is that of a gift. We draw from that which is most ourselves–and then offer that essence to our fellow travelers on this planet, to help them, entertain them, show them they’re not alone … asking nothing in return (well, maybe enough to pay the rent, we hope.)

~ Steven Pressfield

slip:4a489.

This is a classic that has nothing at all to do specifically with writing. If you are involved in creating anything, you will find this is a great article with a long list of elements of success. (“Elements of Success” is his title.) After you read this, you should run—not walk—and get a copy of his book War of Art; you can thank me later.

Anyway.

The paragraph above really spoke to me. The idea that “success is the process” is something I keep losing hold of. Like a swimmer who keeps forgetting that kicking effectively and continuously is a necessary part of staying afloat and getting there, I keep forgetting that the process is success and I begin to struggle.

ɕ

Fifty years ago: ARPANET was born

Many realize that 50 years ago, on October 29, 1969, the first message was successfully sent over the ARPANET, which eventually evolved into the Internet. But few know the story that led up to that message.

~ Leonard Kleinrock, from The First Message Transmission

slip:4uiane1.

The Internet as we know it today was really born in the early 90’s. I remember when web sites—”The Web”—was invented. I was a graduate student in Physics back then. There used to be a web site at UIUC where someone kept a list of all the web sites. (People would email them when they added a web site to the Internet.) I used to check that site every day—and get excited on the days when a new web site had appeared.

…at least, that’s how I remember it. ;)

Anyway, great little read about some of the people who started it all, and the very first message across the Internet v1.

ɕ

Rebecca Brightly: Parenting, gender, and representation

How do personal experiences with movement practices and societal dynamics shape an individual’s perspective on gender roles, personal growth, and parenting?

Rebecca Brightly discusses the changing dynamics of going from Lindy Hop to motherhood and unpacks her parenting philosophy. She explains why she tolerates parkour and how the gender dynamics contrast with her experience in dance. Rebecca gives her thoughts on gender representation and why she wants women to see how capable they are.

My philosophy is overcoming challenges is what helps build self-confidence. In fact, my opinion is that overcoming challenges is the only thing that builds self-confidence.

~ Rebecca Brightly

Rebecca shares her journey transitioning from Lindy Hop to motherhood and then to parkour, reflecting on how each phase shaped her perspective on community, personal growth, and gender dynamics. She describes the challenges of navigating a dance community that lacked family inclusivity and the complexities of balancing parenthood with her passion for movement. Rebecca contrasts her experiences in Lindy Hop, which often adhered to traditional gender roles, with parkour’s individualistic approach, finding liberation in the absence of physical imposition.

Throughout the conversation, Rebecca goes into broader themes of societal expectations and personal empowerment. She explores how parenting intersects with her belief in the transformative power of overcoming challenges and discusses her observations on how gender norms impact training environments. Rebecca’s insights highlight the importance of fostering self-confidence through resilience and adaptability, as well as the value of introspection in breaking down mental barriers.

Takeaways

Parenting philosophy — Overcoming challenges is central to building self-confidence in children.

Transition from dance to parkour — Rebecca finds parkour’s lack of physical imposition more tolerable than traditional partner dancing.

Gender dynamics — Different training environments expose contrasting expectations and emotional expressiveness in men and women.

Societal expectations — Women face societal pressures to maintain appearances that conflict with physical activities like parkour.

Community and inclusivity — Parkour offers a more inclusive environment, fostering unique connections across gender and skill levels.

Personal growth — Addressing internal fears and societal norms helps break mental barriers to progress.

Resources

Seattle Bouldering Project — A climbing gym where Rebecca’s daughter trains competitively.

Parkour Visions — An organization offering parkour training and community events.

(Written with help from Chat-GPT.)

ɕ

I am the crowd

This moment of forgetting always begins with a thought that you’re somehow different, morally speaking, than the rest of the crowd. That guy didn’t signal when he changed lanes. I always signal. That car could’ve made the light—I would’ve been quicker. I am always very efficient with overhead bin space.

~ David Cain, from You Aren’t In the Crowd, You Are the Crowd

slip:4urate9.

It’s been a long time since I‘ve gotten upset about crowds (of any sort.) But there was a time when stuck in traffic, or held up by a crowd, etc. really pushed my buttons.

Now I just feel sympathy for everyone who is in the crowd, (as I am as well,) but who doesn’t yet realize it.

ɕ

Renunciation

Renunciation is one of ten trainable qualities known traditionally as the paramis (the others being generosity, resolve, patience, morality, effort, insight, loving-kindness, equanimity and truthfulness).

~ David Cain, from The Joy of Opting Out

slip:4uraoi1.

This feels—perhaps—like a more nuanced version of my, “just say no to everything,” theme for 2019. That may should harsh, but it’s not. I say, “yes,” to many many things. When I try to say, “no,” to everything, I end up saying, “yes,” to only one-many things.

I’m not a Buddhist by any stretch of the imagination. So I’m not about to take up the paramis as an explicit practice. But the idea of actively renouncing things gives me a positive practice; something I can actively do, rather than something I have to avoid doing.

If you have an elephant problem, “don’t think of a pink elephant,” isn’t going to help. “Just say no,”—despite it’s possible utility as a drug use prevention program—isn’t working very well for my problem. So instead, “think of flowers,” works better for the elephant problem.

So maybe, today I can practice keeping space.

Also…

The solution is simple and difficult.

We can turn it off.

If it’s not getting you what you need or want, turn it off for a few hours.

~ Seth Godin from, https://seths.blog/2017/10/the-engine-of-our-discontent/

Hear! Hear! …and, once more, louder for those in the back!

ɕ

Naomi Honey and Melissa Way: Women’s experience, societal impact, and unsolicited advice

What can be done to better understand and improve the experience of women in parkour?

Naomi Honey and Melissa Way discuss the importance of women’s experience in parkour, what that means, and how society impacts it. They dig into the unicorn syndrome, the polarization of genders, and how community leaders can help get more women involved. Naomi and Melissa tackle why women’s only events are important, how to create a welcoming environment, and their experiences with unsolicited advice.

I really remember when I was younger, I always thought my arms weren’t skinny like some people’s— oh, it just sounds so ridiculous, but I remember I had that in my head as a benchmark. And then suddenly when I was doing parkour, and when I got my first pull up, it was so exciting. And then suddenly I had a new measure of, oh my God, who cares what they look like? Look what they can do!

~ Naomi Honey (15:00)

The conversation focuses on the experience of women in parkour, emphasizing the unique challenges they face, from differences in physical progression to societal expectations around physical ability. There is discussion around how women’s-only events create supportive spaces that counteract feelings of intimidation or isolation, helping women find community and confidence.

Another key theme is the mindset shift from focusing on aesthetics to valuing functional strength and ability, which parkour uniquely encourages. This change contrasts with societal pressures around appearance, which often disproportionately affect women. The issue of unsolicited advice is also explored, highlighting how it can be well-intentioned but often carries different implications for women, sometimes reinforcing negative stereotypes rather than offering helpful insight.

Takeaways

Progression differences — Women often experience slower physical progression than men in parkour, which can affect confidence.

Mindset shift — Parkour promotes focusing on what the body can do, shifting away from aesthetic-based self-worth.

Role of community — Women’s-only events foster supportive environments that promote sustained engagement and confidence.

Polarization and visibility — The lack of visible female practitioners can create a sense that parkour is not for women, limiting participation.

Impact of unsolicited advice — How advice is given and received differs by gender, with women often facing additional scrutiny or unwelcome input.

Resources

Flytality — Naomi Honey’s life coaching business focused on helping people make life changes.

Project Awesome — A London-based fitness group promoting fun, community-driven exercise.

Women’s International Parkour Weekend (WIPW) — An event aimed at increasing female participation in parkour through community-building and workshops.

(Written with help from Chat-GPT.)

ɕ

Content-encoding gzip, plus HTTP range requests, equals bad mojo

This is going to be long. You’ve been warned.

Act 1: Wherein our hero is oblivious to the trouble

Years ago, early in the life of my podcast, someone waved their phone at me and said, “sometimes the podcast playback jumps back to the beginning, and then I cannot skip or scrub forward to resume where I was.” I shrugged. What’s one problem report for Google Podcasts on Android, particularly since this was early days for Google’s Podcasts app.

Curious.

Aside: “scrub” is audio lingo for manually sliding through audio. On apps, there is usually a small grab-here marker at the current play position. If you touch that and slide, the audio will scrub along until the time where you let go. (Versus “skip” buttons which jump forward or backward a set amount of time.)

I have a vague memory of some later time, where some automated analysis of our podcast feed reported that we “don’t support range requests.” I initially ignored this, but made a note. One day—months later—I looked up what an [HTTP] range request is, and verified that our web site does in fact support range requests.

Curioser.

A week ago, I got another problem report. From an Android user with the Google Podcast app. First off, it’s no longer early days for that app, so I’m less inclined to just “blame the app” when someone speaks up. Second, the callout was more thorough. This person had tried several different of our episodes, (all of which exhibited the problem,) and they had verified that some other podcasts they subscribe to did not exhibit this problem.

“Curioser and curioser,” said Alice.

Our podcast is self-hosted. We run a virtual instance of CentOS on BlueHost, with Apache and WordPress, with the Seriously Simple Podcasting (SSP) plugin producing our podcast RSS feed. Seriously, none of that is simple. But it does mean that we have a tremendous amount of control—if we want to look under the hood. (Stop here. Take 4 minutes to watch that if you’ve never seen Mike’s New Car.)

Act 2: Wherein our hero heads into the belly of the beast

I asked the person who waved their problem at me years ago, “hey, uh, do you still see that problem?” (Yes they do.) …and I reached out to James Cridland at podnews.net and he verified that he too sees this behavior with my podcast files. …and he pointed out that he was seeing, (it’s not clear exactly what tool he used—but it doesn’t matter for this story,) content-type: gzip for the media file that we were serving.

Wait, wat.

Why am I serving a compressed (i.e., gzip’d) version of an MP3 file? That’s already a file containing compressed data; It probably increases in size when you gzip it. Not to mention the CPU cycles wasted gzip’ing the many-megabyte sized files for each reqeust.

Next the voice in the back of my head started pointing out that HTTP range requests—where the web client (in this story a podcast player app) can ask for a specific range of bytes from a resource—sure feels like the sort of thing that might be related to pulling down some of a file now, and then more of the file later after you’ve listened to it for half an hour. Maybe if we didn’t support range requests that would mess up skipping and scrubbing? But wait, no, I checked two years ago, (and I just rechecked,) that we support range requests. So what the heck?! Is the problem related to compression, to range requests, the combination, or something else?

Spock mode on. Start checking everything methodically. When you’ve eliminated all other possibilities, whatever remains, must be the case.

What if we don’t actually support range requests on our media files? So I started digging into how Seriously Simple Podcasting (SSP) handles the actual feeding out of files.

Aside: I know enough about Apache and PHP to know that just because Apache supports range requests on files (“here’s 100 bytes from that MP3 you asked for…”) doesn’t mean that a PHP program would necessarily be able to answer a range request. Spoiler: It’s very hard to support a range request programmatically in PHP. So I need to know what exactly—Apache or SSP, which is just a pile of PHP code—actually feeds the media file?

So I posted on the SSP support forum…

I’m trying to troubleshoot a problem reported with the Google Podcasts player on Android. (I’ve one reporting user and I cannot personally reproduce the problem.) In the process, I went down a rabbit hole looking into HTTP range requests.

I’m wondering: If the the SSP plugin is serving the MP3 audio files via PHP (which would require the PHP code to implement supporting range requests) or if, after a redirection from the stats-collection URL, it let’s my web server (Apache) just send out the static file (in which case Apache itself handles range requests.)

One of the devs responded:

Do you perhaps have a URL describing HTTP range requests and how they relate to serving files behind the PHP redirect, so that I can understand how it could be causing the problem? From the cursory review I’ve done, it would appear we should update the plugin to support range requests, would you agree?

Which startled me both because range requests are apparently more obscure than I was thinking they are, and that this was a very nice olive branch from a developer right out of the gate. Anyway. I was already really doubting that SSP was causing this problem, so I put on my big-boy detective pants and dug deeper.

Leading me to post:

…I think it’s not actually a problem [with SSP], but I wanted to double-check my analysis with someone familiar with the code.

For range requests, it’s RFC7233 — but before you even bother looking at that. I think the answer is that SSP doesn’t handle the serving of the audio file via PHP, but rather leaves that to the underlying web server. (In my case, that’s Apache, which handles range requests of static assets.)

Straight from my RSS feed, I have (for example) <enclosure url="https://moversmindset.com/podcast-download/4734/062-chris-and-shirley-darlington-rowat-serendipity-family-and-relationships.mp3" length="29493071" type="audio/mpeg"></enclosure> and if I fetch that URL, I get SSP doing a redirection. Here I’m asking Curl to get me a range of bytes:

Craigs-iMac:~ craig$ curl -I --range 500-600 https://moversmindset.com/podcast-download/4734/062-chris-and-shirley-darlington-rowat-serendipity-family-and-relationships.mp3
HTTP/1.1 302 Found
Date: Fri, 11 Oct 2019 14:55:48 GMT
Server: Apache
Pragma: no-cache
Expires: 0
Cache-Control: must-revalidate, post-check=0, pre-check=0
Robots: none
X-Redirect-By: WordPress
Set-Cookie: PHPSESSID=6576b49ab4d78ab7628bb05a727805dd; path=/
Location: https://moversmindset.com/wp-content/uploads/2019/10/MM_62_Chris_and_Shirley.mp3
Content-Type: text/html; charset=UTF-8

Aside: -I with curl says just give me the headers for a response for the requested resource. Not the actual resource. The 302 HTTP status, combined with the Location: header is standard web-speak for a web server saying, “please go get this resource instead.” Critically this is a 302 which is a “temporary” redirect, not a 301 which is a “permanent” redirect. With 302, if you want this resource again or more of it with another range request, you should ask for it again at the original URL. Versus with a 301, where you should not ask again, you should use the new location going forward with any subsequent requests. tl;dr: 302 + Location is what I expected to see.

…that curl request gives me a standard redirection. As expected(!) since SSP wants to track statistics. That new 302 location is a direct-link into the WP assets storage. When I curl that, making a range request again, it works perfectly. (Apache is happy to give me the 101 bytes I’m asking for.) Below is both the headers-only (-I in Curl) and a full fetch….

Craigs-iMac:~ craig$ curl -I --range 500-600 https://moversmindset.com/wp-content/uploads/2019/10/MM_62_Chris_and_Shirley.mp3
HTTP/1.1 206 Partial Content
Date: Fri, 11 Oct 2019 14:58:33 GMT
Server: Apache
Last-Modified: Sun, 06 Oct 2019 14:51:01 GMT
Accept-Ranges: bytes
Content-Length: 101
Vary: Accept-Encoding
Content-Range: bytes 500-600/29493071
Content-Type: audio/mpeg
Craigs-iMac:~ craig$ curl --range 500-600 https://moversmindset.com/wp-content/uploads/2019/10/MM_62_Chris_and_Shirley.mp3 > ./foo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   101  100   101    0     0    389      0 --:--:-- --:--:-- --:--:--   388
Craigs-iMac:~ craig$ ls -alh ./foo
-rw-r--r--  1 craig  staff   101B Oct 11 10:58 ./foo

Aside: First a bunch of headers saying that I would receive [if I actually asked] 101 bytes of content-length, and then an actual request where I end up with 101 bytes in a file on my computer. tl;dr: everything as expected.

So I think the answer is that SSP doesn’t interfere with HTTP range requests. And that means the problem I’m trying to solve can’t be caused by my site not correctly answering range requests.

At this point, I folded my arms with one of those “hurumph” noises. Then I thought of something: Ya’ know, since it’s Apache that is going to feed me that MP3 file, it would totally be able to change its behavior based on what the web client, (aka, the podcast player app, Google Podcasts,) said it would accept as a response.

Aside: The Web is a conversation between web clients and web servers. Every request—and there can be hundreds of requests to show you one page—starts with the client asking for a resource and listing the types of responses it will accept. Think: am I wanting an image resource, an audio file, a blob of HTML, etc. Also, what types of encoding of those resources can the client understand. tl;dr: No more tl;dr’s here. We’re in the belly of the beast now.

So how do I tell curl to manipulate the encodings it should tell the server it would accept. Answer: By adding a header via the -H flag.

So reviewing: Here’s a normal ask for the headers for a specific media file. This isn’t a range request, this is just an ask for the headers for an entire resource:

Craigs-iMac:~ craig$  curl -I https://moversmindset.com/wp-content/uploads/2019/10/MM_62_Chris_and_Shirley.mp3
HTTP/1.1 200 OK
Date: Thu, 17 Oct 2019 13:09:27 GMT
Server: Apache
Last-Modified: Sun, 06 Oct 2019 14:51:01 GMT
ETag: "220031-1c2074f-5943f1052a358"
Accept-Ranges: bytes
Content-Length: 29493071
Vary: Accept-Encoding
Content-Type: audio/mpeg

That’s exactly what I expect: If I actually asked for the resource, I’d get about 30 megabytes of content back.

And what would happen if I tell curl (note the -H argument on this one) to tell the server that I’d be happy with a gzip’d response:

Craigs-iMac:~ craig$ curl -H "Accept-Encoding: gzip" -I https://moversmindset.com/wp-content/uploads/2019/10/MM_62_Chris_and_Shirley.mp3
HTTP/1.1 200 OK
Date: Thu, 17 Oct 2019 13:11:03 GMT
Server: Apache
Last-Modified: Sun, 06 Oct 2019 14:51:01 GMT
ETag: "220031-1c2074f-5943f1052a358-gzip"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Type: audio/mpeg

Oh shit. It would send me a gzip encoded version of my MP3 file. And critically, it doesn’t tell me how big that would be—no Content-length is given—because the server would have to actually compress it with gzip to see how big it would actually be.

Aside: If you know about Apache’s ability to serve out pre-compressed versions of files—so you have the .mp3 and the .mp3.gz files laying on disk ready to go—if you know about that, then you don’t need to read any of this article. I was tempted to set that up just to have Content-length and the gzip encoding header in the shot because you would have noticed. ;)

So IF the client . . . say for example, oh, I don’t know, the Google Podcasts app maybe? . . . happens to mention that it could accept a gzip’d response, then boy-howdy a gzip’d response our Apache would send.

…and that’s a problem why? Because it turns out that you cannot combine compression (any sort, not just gzip) content encoding with range requests. The long version is this Stack Overflow thread, Is it possible to send HTTP response using GZIP and byte ranges at the same time? The short answer is, no, because even if I wanted to waste my time compressing it just to give you 100 bytes out of the middle, it’s not possible for you to then uncompress those 100 bytes. All modern compression algorithms work on streams of data—you have to start decompressing from the first byte.

Aside: The next version of HTTP addresses this because it turns out that being able to have range requests on resources compressed in flight would be very useful.

Ok smart guy, what happens if you try to make a range request and accept compression?

Craigs-iMac:~ craig$ curl --range 500-600 -H "Accept-Encoding: gzip" -I https://moversmindset.com/wp-content/uploads/2019/10/MM_62_Chris_and_Shirley.mp3
HTTP/1.1 206 Partial Content
Date: Sat, 19 Oct 2019 01:58:16 GMT
Server: Apache
Last-Modified: Sun, 06 Oct 2019 14:51:01 GMT
ETag: "220031-1c2074f-5943f1052a358"
Accept-Ranges: bytes
Content-Length: 101
Content-Range: bytes 500-600/29493071
Content-Type: audio/mpeg

Honestly? That’s not what I expected. I was expecting some sort of actual error from the server.

But nope, that’s a perfectly happy, 101 bytes—or it would be if hadn’t specified I just wanted the headers—out of the full 30 megabytes-or-so, and it wouldn’t be compressed. This confuses the hell out of me because it’s exactly what you’d want. The app asked for something we can’t do so we skip the compression part—the app said it would accept compression, not that it demands compression.

Oh, who cares. Compressing MP3 files—especially live on the fly each time they are served—is totally the wrong thing to be doing. Let’s just stop that and hope the problem goes away.

Aside: You thought the wizard behind the curtain always figures it out? I’ve got some bad news for you sunshine, Pink isn’t well, he stayed back at the hotel…

Act 3: Wherein our hero vanquishes the problem by typing four characters

Still in Spock mode, let’s describe the actual problem…

  1. There’s crazy-level complexity with compression and range requests
  2. It’s not clear what exactly the Google Podcast app is requesting—I don’t have any Android devices and I’d have to capture TCP data from the network to even find out
  3. So the app makes some sort of request…
  4. …and the server responds
  5. Making scrub and skip not work.

Oh, well that’s perfectly clear then, isn’t it?

Seriously, screw this. I’m just turning off compression of MIME type “audio/mpeg” files. (MP3 files are an example of MIME type “audio/mpeg”.)

Aside: Yes, I said MIME—the Multipart Internet Mail Extension specification is how we ended up classifying what something is on the web. Major type “audio”, minor type “mpeg”. I know, this stuff is bonkers… it’s just turtles all the way down.

Since Apache does not compress things by default, all I have to do is find where the “DEFLATE”—that’s really what it’s called, gzip is one way of “deflating” files—output filter is assigned to handle files of MIME type “audio/mpeg.” That’s actually easy to do if you are fluent in Apache.

I’m an Apache configuration file wizard. I’ve been using Apache since it was spun off from something else in—I had to look it up—1995. Trivia: It was “a patchy server” cobbled together from some open-source work done—never mind, go read it on Wikipedia. ANYWAY.

I read over the entire Apache configuration, it’s complicated in files that include other files with nesting and logic and lions and tigers and bears… but it’s all perfectly clear and straight-forward to me…

…and yet I can’t see why it would EVER decide to apply the DEFLATE output filter to an audio/mpeg file.

Strike one. Off with the kid gloves.

If I can’t figure out where it’s turned on and remove that, the next best thing to do is to just add a rule that turns if off. But when I went to do that, I found that whoever designed the system architecture had already stumbled upon this mess. (Compressing media files is wrong-headed.) They already had a rule, which confesses the sin of wacky configuration by saying, “yo! for these media files, knock it off with the DEFLATE output filter!”

SetEnvIfNoCase Request_URI .(?:gif|jpg|png|ico|zip|gz|mp4|flv)$ no-gzip

As soon as I saw this, I was like, “you’re kidding me, right?” That says if the thing being requested ends with a period followed by any of those file extensions, then set an environment flag telling the DEFLATE module not to gzip.

…and “mp3” is not listed.

So I cursed like a sailor, threw my hands up in the air, and added “mp3|” to that string right after “mp4|”, restarted Apache, checked with James, and the problem is fixed.

omfg where’s my Tylenol?

ɕ

That’s easy, but it doesn’t count

In other words, the only way for a person to experience that particular place and time was to experience that particular place and time, and I although I was in the right place, I spent much of that time goofing with my phone.

~ David Cain, from No Moment Can Be Saved For Later

slip:4urano2.

I have become a master of not goofing around with my phone. I have become a master of experiencing certain moments; leaning into the present one might say. Engage with random dogs. Wander that interesting side street. Stop and actually smell that flower. Take off my shoes and play barefoot in this tree. Pause and enjoy the sunshine and blue sky during this nice walk.

But that’s trivial. And it doesn’t make my life terrific. I’m still profoundly unhappy and stressed out.

Know what’s hard? Leaning into, and enjoying, the experiences which are stereotypically the things I dis-prefer. (I’d prefer them to be otherwise, but in fact I have no control over.) That chunk of boring software I have to write. Staying up until 1am, (I’m normally asleep at 9:30,) to babysit a computer system that has to be rebooted in off-hours. Dealing with burnt-out headlamps on the car… when it’s raining, and I had an appointment to get my Mac fixed. Pouring my life into a project and watching no one support it. And so on. Lots and lots of moments that suck the joy of life right out of me.

Yeup, lots more moments I need to lean into.

ɕ

Dan Edwardes: Motivation, efficacy, and storytelling

How can people maintain discipline, stay motivated, and effectively manage distractions to pursue personal growth and self-improvement?

Dan Edwardes explains the value of playing games, and unpacks what motivates him. He discusses the struggle of choosing where to spend your time and energy, and the difficulty of distractions. Dan shares his insights on parkour’s relationship to self efficacy, and the power and importance of storytelling.

When asked: How do you manage to get up every day and keep doing what you do to live your life? How do you stay motivated?

It’s a good question. And it’s not one that I’ve ever had to really ask of myself, I think, in great depth. […] Because of the stories I grew up on and what I exposed myself to when I was very young, the concepts I exposed myself to and took very seriously when I was nine, 10, 11 years old. And then throughout my teenage years, that’s just how I think. And I can’t really remember being alive before that because I don’t remember being that young. That’s just the way my life has always been.

~ Dan Edwardes (8:30)

The conversation explores the intersection of discipline, motivation, and the challenges of maintaining focus in a world full of distractions. Dan shares insights from his lifelong journey through martial arts, parkour, and various forms of training. A key theme is the importance of grounding oneself in simple, repetitive practices—like sweeping the floor in martial arts—as a foundation for developing broader skills.

Edwardes emphasizes the role of storytelling in shaping experiences, both in training sessions and life. Whether through parkour or verbal games, the practice of crafting narratives enhances learning and engagement. The discussion also touches on practical ways to manage modern distractions, such as altering how one uses their phone, reinforcing the importance of small, intentional changes to promote clarity and focus.

Takeaways

The importance of foundational practices — Sweeping the dojo teaches humility, discipline, and attention to detail.

Storytelling as a training tool — Stories enhance memory, engagement, and emotional investment in lessons.

Managing distractions — Clearing the home screen or limiting phone use can free up time and reduce mental clutter.

Self-efficacy through parkour — Parkour forces honest self-assessment and builds competence by exposing limitations.

Training as a means to greater life skills — Physical fitness and movement training are not ends but vehicles for broader personal growth.

Resources

Robert McKee’s Story — A foundational book on the principles of storytelling and narrative structure.

John Yorke’s Into the Woods — A detailed exploration of the structure and mechanics of storytelling.

Save the Cat by Blake Snyder — A guide to screenplay writing that breaks down narrative beats in simple terms.

Fighting Monkey — A movement practice founded by Jozef Frucek, emphasizing attention to detail and clean execution.

Art of Retreat — A parkour and movement-focused event where community leaders share insights and teaching practices.

(Written with help from Chat-GPT.)

ɕ

Seattle and back again

I think I may finally have reached a point where travelling is all-out pleasant. Not the sacharine, “I’m excited to be going on a vacation,” pleasant, but the really core-deep, “if this isn’t nice, I don’t know what is,” sort of pleasant.

For a long time I’ve been dutifully posting every day. It’s important to me because it involves writing and I’m a firm believer of: If you cannot write clearly, then you don’t think as clearly as you think you do. But as I departed for Seattle, I was simply okay with knowing I wasn’t going to write for a week (or more, as it turns out.)

Mind you, I get stopped by TSA every time. Even now that I’ve registered with the TSA as a known traveler, I still get “pulled aside.” On the way out, they looked for the podcast audio cables. On the way back, they wanted to see my bar of soap. Mind you, they’ve run a background check on me, and fingerprinted me to register as a “known traveler.” But at least I get to go to the speedy line for being pulled aside. And it was still pleasant. So many great things lay ahead and behind during both legs of the trip, that I was just like, “if this isn’t nice, I don’t know what is.” And, “yes sir, you’ll find the soap in that little black zipper back, in the black plastic case. It’s shaped liked a bar of soap. #sorrynotsorry about the hair.”

Driving into and out of the Cascade Mountains? Bonkers awesome. (Words fail me in case you cannot tell.)

Spending days with 100 friends old and new? Bonkers awesome.

Rustic cabin, roaring wood stove, food, conversations, 30 interviews with all the event presenters and session leaders, and the massive waves of positive comments and thank-you-s for the entire Movers Mindset project and team? Bonkers awesome.

Seattle AirBNB, coffee, 7 incredible interviews for the podcast, coffee, dinnerS with local friends, coffee, playing in Volunteer Park barefoot in “the tree,” coffee, random organic apples, coffee, more friends, more coffee? Bonkers. Awesome.

Home, then exhausted, then bronchitis and maybe some GI complications from my new friend Lyme Disease? Seriously, still bonkers awesome.

Chilly fall evening, grill going, sunset? Definitely bonkers awesome.

If this isn’t nice, I don’t know what is.

ɕ

Chris and Shirley Darlington-Rowat: Serendipity, family, and relationships

How do movement, coaching, and family intersect to shape personal growth and relationships over time?

Chris Rowat and Shirley Darlington-Rowat discuss serendipity, coaching, and Chris’s work with the fire brigade. They share their thoughts on raising kids, setting aside time for family, and training and moving together. Shirley and Chris share their current struggles, some stories about their past, and how parkour has affected their relationship.

You should both be able to enjoy your lives. So if we enjoy training and it’s a part of our lives, we shouldn’t suppress that. We should just find ways to bring it all together.

~ Chris Rowat (31:27)

The conversation covers the intersection of parkour, family, and coaching, exploring how movement shapes personal relationships and growth. Chris and Shirley discuss serendipity, recalling stories of chance encounters and how unexpected moments influence their lives. They reflect on how their shared passion for parkour has not only shaped their relationship but also influenced how they raise their children, focusing on movement as play rather than formal practice.

[My son Tyler] didn’t see it as parkour, it was just movement. So he’d be in the play park and he’d maybe cycle on his bike to the climbing wall, climb up the little climbing wall, jump across a little piece of railing. He just moved. Movement is movement, right? So whatever [our daughter Indy] wants to do, she can do, if she doesn’t want to do parkour. She’ll do it naturally anyway because it’s normal for that too.

~ Shirley Darlington-Rowat (12:27)

Chris speaks about balancing his career with the London Fire Brigade and his role as a father, highlighting the discipline and adaptability required in both spheres. Shirley emphasizes the importance of maintaining personal movement practices during motherhood and reflects on how physical training can coexist with family life. The conversation weaves between stories of parenting, training, and the philosophy of finding balance and joy in movement.

Takeaways

Serendipity — Reflecting on how unexpected moments and connections shape experiences in life and movement.

Balancing movement and family — Finding ways to integrate training with raising children without forcing them into the same practices.

Coaching philosophy — Emphasizing personal connections and individual growth within group coaching environments.

Parkour as a relationship foundation — Sharing movement practice fosters honesty, mutual understanding, and emotional openness.

Postpartum training — The importance of patience, recovery, and adapting movement to suit physical changes.

Time management — Juggling careers, training, and parenting by focusing on effective, intentional practice within available time.

Resources

Parkour & Art du déplacement: Lessons in practical wisdom – Leçons de sagesse pratique — Vincent Thibault’s book referenced by Craig early in the conversation.

Chris ‘Blane’ Rowat

Parkour Generations — The organization where Chris and Shirley have been involved as coaches and athletes.

Rendezvous — The event where Chris and Shirley first met in 2008.

Yamakasi — A reference to the original parkour group, mentioned during Chris’s story about encountering Williams Belle.

London Fire Brigade — Chris’s current workplace, referenced throughout the conversation regarding his career transition.

(Written with help from Chat-GPT.)

ɕ

Dan Timms: Injury, strength, and Parkour UK

How can experiences with injury and recovery inform sustainable parkour training and coaching practices?

Dan Timms describes his journey with injury and recovery, and how it helped to shape his thoughts about sustainability. He discusses training methods, the forces involved in parkour, and his approach to coaching. Dan unpacks Parkour UK, what it is, what it does, and his involvement with it, before sharing his insight on designing parkour parks.

You see where this is going already. This one didn’t have a mesh floor at the top, so I’ve just speed-vaulted over this wall into this turret, and I looked down and there’s nothing beneath me for about 40 feet.

~ Dan Timms (5:09)

The conversation explores the evolution of sustainable training practices in parkour, largely shaped by experiences with injury and recovery. Reflections on major injuries, such as a near-fatal fall and multiple surgeries, frame the discussion around balancing intense training with long-term health. Insights include the role of strength training, mobility work, and the importance of consistency over quick fixes.

The dialogue also touches on community involvement and governance, highlighting efforts within Parkour UK to standardize coaching certifications and establish Parkour Earth. Additionally, Dan shares real-life applications of parkour, recounting moments where training directly contributed to personal safety and community assistance, including intervening in a robbery.

Takeaways

Sustainability in parkour — Long-term success requires balancing intense training with injury prevention and recovery.

Consistency in training — Regular, sustained practice is more effective than chasing quick-fix solutions.

Role of Parkour UK — Parkour UK plays a key role in standardizing parkour coaching and representing the community at a governmental level.

Real-world application — Parkour skills can translate directly into real-life situations, from preventing injury to intervening in emergencies.

Physical data in parkour — Testing reveals significant forces involved in parkour drops, suggesting adaptations beyond muscular strength.

Resources

Parkour UK — National governing body for parkour in the UK, focusing on coaching standards and community representation.

Parkour Earth — International federation established to counter external governing threats like FIG.

The Monkey’s Back – Documentary — A documentary capturing the spirit of parkour practice featuring Stephane Vigroux.

Born to Run — Christopher McDougall’s book that influenced the guest’s barefoot training and travel to Mexico.

(Written with help from Chat-GPT.)

ɕ

Andy Fisher: Teaching, journey, and efficacy

How can personal passion projects and unconventional pursuits outside the classroom enhance teaching effectiveness and foster authentic connections with students?

Andy Fisher discusses being a teacher, why he loves it, and how his pursuit of his passions relates to the classroom. He shares his unique and unexpected movement journey before explaining how all of that relates to the passion projects he regularly pursues, such as the Thronin and Hero Forge projects. Andy discusses his thoughts on efficacy, his current struggles and how he manages and works towards overcoming them.

At the age of 11, I was sent to a boarding school in the UK […] Every morning at seven o’clock, an alarm bell was rung, and all of the kids got up, and we had to do a two and a half-mile run. I was the last to come through wheezing and coughing, and by the time I showed up, all the breakfast had gone. There was just a certain point where I just thought, ‘Enough, I’m not going to have this define my life.’ I made the decision that I wasn’t going to be defined by my condition, and that I could grow.

~ Andy Fisher (12:53)

The conversation explores how unconventional pursuits such as knife-throwing, wilderness survival, and circus performance inform and enhance teaching practice. By bringing these passion projects into the classroom, the importance of authentic connection and engaging with students beyond the curriculum emerges. Themes of resilience, personal growth, and fostering curiosity run throughout the dialogue.

Andy Fisher discusses his journey from asthmatic child to martial artist, teacher, and survival instructor, illustrating how personal challenge translates into valuable lessons for students. The balance between discipline and compassion plays a critical role in shaping both his personal life and professional teaching philosophy.

Takeaways

Bridging passion and teaching — Personal pursuits outside of work can deepen engagement with students.

Resilience through experience — Overcoming personal limitations can shape a stronger, more empathetic teaching style.

Authenticity in education — Teachers benefit from sharing personal struggles and successes with students.

Physical challenges and growth — Embracing physically demanding hobbies like survival training builds discipline.

Continuous learning — Remaining a learner outside the classroom informs and inspires teaching.

Resources

Hero Forge Project — Andy Fisher’s podcast and book exploring personal development and heroism.

Hero Roundtable — Conferences discussing heroism and leadership.

(Written with help from Chat-GPT.)

ɕ

Slower than a bee

This vignette, seen in a certain way—as though it is happening, but not happening to me—can be just what it is, without any entanglement with my own interests. None of my reflexive moral judgments are present. The angle of the sun doesn’t remind me of everything I still have to get done today. Seeing twenty-year-old students doesn’t make me wish I was younger. Because I’m not here. It’s just life unfolding, and on its own it’s beautiful.

~ David Cain, from How To See Things As They Are

slip:4uraho15.

If you sit still, you can do what he’s describing anywhere. (You’ll have to go at least skim the article.) But if you sit still and do the visualization in nature, you will be immediately rewarded.

The world moves at its own pace. Somehow, it’s neither always faster nor slower than my normal pace. It’s a fundamentally different kind of pace that encompasses all the range of speeds. Regardless of speed, it’s unhurried. Meanwhile, it turns out that I’m completely capable of hurrying at various speeds. But sitting still and noticing the pace of the world always provides me with striking perspective.

There are so many varied speeds; Bees and birds, wind and trees, sun and moon, and there are slower speeds of course, but I can’t see those. If I pay extreme attention, in just the right situation, I can see a shadow cast by the sun moving. But that’s as slow as I can see—something that moves on the scale of one day.

Have you ever stopped to consider the speed of a bee? Do bees even notice we are moving? Are we just these large-ish pieces of their environment which are always in different places when they return “tomorrow” (aka, a minute later in our timeframe)? It seems obvious to me that the bees are going too fast and are missing EVERYTHING. (Well, sure, pollination and bee-production they’ve got.) But from my enlightened, lofty perch of slower-than-the-bee, I can see so much more.

Which makes me wonder: From my lowly perch of faster-than-a-lot-of-other-things, what am I missing?

ɕ

Kasturi Torchia: Mental wellbeing, Esprit Concrete, and sharing

How can the integration of psychology and movement practices contribute to mental wellbeing and personal growth?

Kasturi Torchia describes her role with Parkour UK, and how she came to be involved in mental wellbeing and psychology studies. She discusses her family and how they impacted her journey, before unpacking the Esprit Concrete method she has developed. Kasturi shares some of her goals and what she is working on with Esprit Concrete, and discusses the yearly Les Dames du Movement event.

Esprit Concrete is something that was so organic, that it’s really hard to pinpoint what exactly [started it.] But I think that the really strange encounter that I had with Parkour, came at a really important time in my life where I was reflecting on what was happening and trying to make a change. I just needed something, without knowing that I needed it, to jolt me into seeing things differently, changing perspectives on things.

~ Kasturi Torchia (6:30)

The conversation explores the intersection of psychology and movement, focusing on how Kasturi’s personal experiences led her to create the Esprit Concrete Method. Her work integrates psychological principles with Parkour and Art du Déplacement, addressing mental wellbeing through movement. Kasturi reflects on how childhood influences and a desire to understand human behavior guided her journey towards psychology.

Another key topic is the development of the Esprit Concrete Method as a tool for self-reflection and personal growth. The method helps participants confront vulnerabilities and use movement as a metaphor for psychological challenges. Kasturi also highlights the significance of community events, such as Les Dames Du Movement, which bring together diverse practitioners to foster learning and collaboration.

Takeaways

Integration of psychology and movement — Personal growth and mental health can be addressed through movement practices.

Esprit Concrete Method — A framework blending Parkour, Art du Déplacement, and psychological principles to foster development.

Duty of Care in Parkour UK — Emphasis on safeguarding mental wellbeing and establishing support networks.

Challenges in movement — Physical movements reflect deeper psychological patterns and areas for growth.

Les Dames Du Movement — Community-focused events promoting collaboration across disciplines.

Resources

Esprit Concrete — Kasturi’s platform integrating movement and therapy.

Parkour UK — National governing body for Parkour, focusing on mental health and wellbeing initiatives.

Les Dames Du Movement — Annual community event promoting movement and mental health.

Get Self Help — Website providing self-help resources and CBT worksheets.

(Written with help from Chat-GPT.)

ɕ