Roxanne Richardson
she/her

I publish one video each week, either a Technique Tuesday or a Casual Friday. Technique Tuesdays demonstrate specific knitting techniques while Casual Fridays explore a variety of textile-related topics, including knitting history and my current projects, which run the gamut from spinning, dyeing, knitting, and sewing. I often knit items from vintage or antique sources.

Certified Master Hand Knitter (certified in 2012 by TKGA -- The Knitting Guild Association)
Certified Knitting Teacher (Level 2) (certified in 2012 by CYCA - The Craft Yarn Council)

I wrote technical knitting articles for several Interweave publications, from 2017 to 2022(ish).

My Ravelry ID is Rox.

Snail Mail:
Roxanne Richardson
PO Box 16174
Minneapolis, MN 55416




Unable to parse item

Invidious encountered an error while trying to parse this item. For more information see below:

Show technical details
Title: `Missing hash key: "collectionThumbnailViewModel" (KeyError)`
Date: `2026-05-30T17:51:13Z`
Route: `/channel/UCSPrWB2SZXVCj2-PH-36xBA/streams`
Version: `2026.02.07-118d635 @ (HEAD detached at v2.20260207.0)`

<details>
<summary>Backtrace</summary>
<p>
   
```
Missing hash key: "collectionThumbnailViewModel" (KeyError)
  from /usr/share/crystal/src/hash.cr:1198:9 in '??'
  from /usr/share/crystal/src/json/any.cr:149:5 in 'process'
  from src/invidious/yt_backend/extractors.cr:524:17 in 'process'
  from src/invidious/yt_backend/extractors.cr:1035:17 in 'parse_item'
  from src/invidious/yt_backend/extractors.cr:1082:14 in 'extract_items'
  from src/invidious/channels/videos.cr:73:12 in 'get_60_livestreams:continuation:sort_by'
  from src/invidious/routes/channels.cr:127:34 in 'streams'
  from lib/kemal/src/kemal/route.cr:13:9 in '->'
  from src/invidious/helpers/handlers.cr:31:37 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from lib/kemal/src/kemal/filter_handler.cr:22:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/invidious/helpers/handlers.cr:80:12 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/ext/kemal_static_file_handler.cr:127:14 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/request_processor.cr:51:11 in 'handle_client'
  from /usr/share/crystal/src/fiber.cr:170:11 in 'run'
  from ???
```
</p>
</details>

Unable to parse item

Invidious encountered an error while trying to parse this item. For more information see below:

Show technical details
Title: `Missing hash key: "collectionThumbnailViewModel" (KeyError)`
Date: `2026-05-30T17:51:13Z`
Route: `/channel/UCSPrWB2SZXVCj2-PH-36xBA/streams`
Version: `2026.02.07-118d635 @ (HEAD detached at v2.20260207.0)`

<details>
<summary>Backtrace</summary>
<p>
   
```
Missing hash key: "collectionThumbnailViewModel" (KeyError)
  from /usr/share/crystal/src/hash.cr:1198:9 in '??'
  from /usr/share/crystal/src/json/any.cr:149:5 in 'process'
  from src/invidious/yt_backend/extractors.cr:524:17 in 'process'
  from src/invidious/yt_backend/extractors.cr:1035:17 in 'parse_item'
  from src/invidious/yt_backend/extractors.cr:1082:14 in 'extract_items'
  from src/invidious/channels/videos.cr:73:12 in 'get_60_livestreams:continuation:sort_by'
  from src/invidious/routes/channels.cr:127:34 in 'streams'
  from lib/kemal/src/kemal/route.cr:13:9 in '->'
  from src/invidious/helpers/handlers.cr:31:37 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from lib/kemal/src/kemal/filter_handler.cr:22:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/invidious/helpers/handlers.cr:80:12 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/ext/kemal_static_file_handler.cr:127:14 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/request_processor.cr:51:11 in 'handle_client'
  from /usr/share/crystal/src/fiber.cr:170:11 in 'run'
  from ???
```
</p>
</details>

Unable to parse item

Invidious encountered an error while trying to parse this item. For more information see below:

Show technical details
Title: `Missing hash key: "collectionThumbnailViewModel" (KeyError)`
Date: `2026-05-30T17:51:13Z`
Route: `/channel/UCSPrWB2SZXVCj2-PH-36xBA/streams`
Version: `2026.02.07-118d635 @ (HEAD detached at v2.20260207.0)`

<details>
<summary>Backtrace</summary>
<p>
   
```
Missing hash key: "collectionThumbnailViewModel" (KeyError)
  from /usr/share/crystal/src/hash.cr:1198:9 in '??'
  from /usr/share/crystal/src/json/any.cr:149:5 in 'process'
  from src/invidious/yt_backend/extractors.cr:524:17 in 'process'
  from src/invidious/yt_backend/extractors.cr:1035:17 in 'parse_item'
  from src/invidious/yt_backend/extractors.cr:1082:14 in 'extract_items'
  from src/invidious/channels/videos.cr:73:12 in 'get_60_livestreams:continuation:sort_by'
  from src/invidious/routes/channels.cr:127:34 in 'streams'
  from lib/kemal/src/kemal/route.cr:13:9 in '->'
  from src/invidious/helpers/handlers.cr:31:37 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from lib/kemal/src/kemal/filter_handler.cr:22:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/invidious/helpers/handlers.cr:80:12 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/ext/kemal_static_file_handler.cr:127:14 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/request_processor.cr:51:11 in 'handle_client'
  from /usr/share/crystal/src/fiber.cr:170:11 in 'run'
  from ???
```
</p>
</details>

Unable to parse item

Invidious encountered an error while trying to parse this item. For more information see below:

Show technical details
Title: `Missing hash key: "collectionThumbnailViewModel" (KeyError)`
Date: `2026-05-30T17:51:13Z`
Route: `/channel/UCSPrWB2SZXVCj2-PH-36xBA/streams`
Version: `2026.02.07-118d635 @ (HEAD detached at v2.20260207.0)`

<details>
<summary>Backtrace</summary>
<p>
   
```
Missing hash key: "collectionThumbnailViewModel" (KeyError)
  from /usr/share/crystal/src/hash.cr:1198:9 in '??'
  from /usr/share/crystal/src/json/any.cr:149:5 in 'process'
  from src/invidious/yt_backend/extractors.cr:524:17 in 'process'
  from src/invidious/yt_backend/extractors.cr:1035:17 in 'parse_item'
  from src/invidious/yt_backend/extractors.cr:1082:14 in 'extract_items'
  from src/invidious/channels/videos.cr:73:12 in 'get_60_livestreams:continuation:sort_by'
  from src/invidious/routes/channels.cr:127:34 in 'streams'
  from lib/kemal/src/kemal/route.cr:13:9 in '->'
  from src/invidious/helpers/handlers.cr:31:37 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from lib/kemal/src/kemal/filter_handler.cr:22:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/invidious/helpers/handlers.cr:80:12 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/ext/kemal_static_file_handler.cr:127:14 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/request_processor.cr:51:11 in 'handle_client'
  from /usr/share/crystal/src/fiber.cr:170:11 in 'run'
  from ???
```
</p>
</details>

Unable to parse item

Invidious encountered an error while trying to parse this item. For more information see below:

Show technical details
Title: `Missing hash key: "collectionThumbnailViewModel" (KeyError)`
Date: `2026-05-30T17:51:13Z`
Route: `/channel/UCSPrWB2SZXVCj2-PH-36xBA/streams`
Version: `2026.02.07-118d635 @ (HEAD detached at v2.20260207.0)`

<details>
<summary>Backtrace</summary>
<p>
   
```
Missing hash key: "collectionThumbnailViewModel" (KeyError)
  from /usr/share/crystal/src/hash.cr:1198:9 in '??'
  from /usr/share/crystal/src/json/any.cr:149:5 in 'process'
  from src/invidious/yt_backend/extractors.cr:524:17 in 'process'
  from src/invidious/yt_backend/extractors.cr:1035:17 in 'parse_item'
  from src/invidious/yt_backend/extractors.cr:1082:14 in 'extract_items'
  from src/invidious/channels/videos.cr:73:12 in 'get_60_livestreams:continuation:sort_by'
  from src/invidious/routes/channels.cr:127:34 in 'streams'
  from lib/kemal/src/kemal/route.cr:13:9 in '->'
  from src/invidious/helpers/handlers.cr:31:37 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from lib/kemal/src/kemal/filter_handler.cr:22:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/invidious/helpers/handlers.cr:80:12 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/ext/kemal_static_file_handler.cr:127:14 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/request_processor.cr:51:11 in 'handle_client'
  from /usr/share/crystal/src/fiber.cr:170:11 in 'run'
  from ???
```
</p>
</details>

Unable to parse item

Invidious encountered an error while trying to parse this item. For more information see below:

Show technical details
Title: `Missing hash key: "collectionThumbnailViewModel" (KeyError)`
Date: `2026-05-30T17:51:13Z`
Route: `/channel/UCSPrWB2SZXVCj2-PH-36xBA/streams`
Version: `2026.02.07-118d635 @ (HEAD detached at v2.20260207.0)`

<details>
<summary>Backtrace</summary>
<p>
   
```
Missing hash key: "collectionThumbnailViewModel" (KeyError)
  from /usr/share/crystal/src/hash.cr:1198:9 in '??'
  from /usr/share/crystal/src/json/any.cr:149:5 in 'process'
  from src/invidious/yt_backend/extractors.cr:524:17 in 'process'
  from src/invidious/yt_backend/extractors.cr:1035:17 in 'parse_item'
  from src/invidious/yt_backend/extractors.cr:1082:14 in 'extract_items'
  from src/invidious/channels/videos.cr:73:12 in 'get_60_livestreams:continuation:sort_by'
  from src/invidious/routes/channels.cr:127:34 in 'streams'
  from lib/kemal/src/kemal/route.cr:13:9 in '->'
  from src/invidious/helpers/handlers.cr:31:37 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from lib/kemal/src/kemal/filter_handler.cr:22:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/invidious/helpers/handlers.cr:80:12 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call_next'
  from src/ext/kemal_static_file_handler.cr:127:14 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/handler.cr:30:7 in 'call'
  from /usr/share/crystal/src/http/server/request_processor.cr:51:11 in 'handle_client'
  from /usr/share/crystal/src/fiber.cr:170:11 in 'run'
  from ???
```
</p>
</details>