<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Fiber Arts | blog.kittenin.space</title><link>https://blog.kittenin.space/tags/fiber-arts/</link><description>A blog mostly about fiber crafts but also sometimes about tech.</description><generator>Hugo</generator><language>en-US</language><atom:link href="https://blog.kittenin.space/tags/fiber-arts/index.xml" rel="self" type="application/rss+xml"/><item><title>A Scrappy Slip Stitch Hat Pattern</title><link>https://blog.kittenin.space/posts/a-scrappy-slip-stitch-hat-pattern/</link><guid isPermaLink="true">https://blog.kittenin.space/posts/a-scrappy-slip-stitch-hat-pattern/</guid><pubDate>Mon, 12 Oct 2026 17:15:22 -0400</pubDate><description>I made a knitting pattern! Use up some yarn scraps with the Scrappy Slip Stitch Hat.</description><content:encoded>&lt;p&gt;I can&amp;rsquo;t remember the last time I followed a pattern exactly. Often patterns are just suggestions or guides for me, not must-follow instructions; a gauge swatch is a test of fabric drape and density used to calculate the real numbers I&amp;rsquo;ll need against a pattern&amp;rsquo;s own gauge; sweater lengths and pattern repeats and charts are ideas to be taken, adapted, and occasionally discarded.&lt;/p&gt;&#10;&lt;p&gt;And yet I have never come up with my own pattern, 100% completely from scratch in over 20 years of knitting and crocheting.&lt;/p&gt;&#10;&lt;p&gt;That is, until now.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="scrappyhats.jpg" alt="A progress picture of my autumn scrappy hat"&gt;&lt;/p&gt;&#10;&lt;p&gt;The &lt;strong&gt;Scrappy Slip Stitch Hat&lt;/strong&gt; was born out of my desire to use the last of my Berroco Vintage Chunky to make some hats with a simple pattern that only required the use of one color at a time. It requires only a small amount of yarn and a consistent main color; although, really, you don&amp;rsquo;t even need that &amp;ndash; it is, after all, scrappy; switch yarn colors every two rows if that&amp;rsquo;s what you see fit. It also incorporates the pattern into the crown shaping, which was easy now that I think of it, but I still feel oddly proud of.&lt;/p&gt;&#10;&lt;p&gt;So if you, too, have some bulky scrap yarn and a desire for a hat, here are my instructions: Follow them as much or as little as you need.&lt;/p&gt;&#10;&lt;p&gt;My hats came to about 9&amp;quot; width when laid flat, unstretched. They comfortably fit my 21.5&amp;quot; head and I&amp;rsquo;ve got about 3-4&amp;quot; of give left in there. I&amp;rsquo;d estimate they could comfortably fit heads 20-25 inches in size.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="scrappyhats-progress.jpg" alt="A progress picture of my autumn scrappy hat"&gt;&lt;/p&gt;&#10;&lt;h2 id="gauge"&gt;Gauge&lt;/h2&gt;&#10;&lt;p&gt;18 stitches per 4 inches x 24 rows per 4 inches (it&amp;rsquo;s the slip stitches!)&lt;/p&gt;&#10;&lt;h2 id="supplies"&gt;Supplies&lt;/h2&gt;&#10;&lt;h3 id="bulky-yarn"&gt;Bulky Yarn&lt;/h3&gt;&#10;&lt;p&gt;I used 73 grams/100 yards purple and 62 grams/44 yards black for my purple and black hat with the folded brim.&lt;/p&gt;&#10;&lt;p&gt;I used 50 grams/68 yards mushroom (that undyed cream color), and 19 grams/24 yards of each of the oranges for the mushroom and orange hat with the regular brim.&lt;/p&gt;&#10;&lt;h3 id="knitting-needles"&gt;Knitting Needles&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;10 US / 6.0 mm 16&amp;quot; circulars or DPNs for the brim&lt;/li&gt;&#10;&lt;li&gt;10.5 US / 6.5 mm 16&amp;quot; circulars or DPNs for the head; if using circulars you will need to switch to DPNs, use magic loop with a longer cable, or add a second set of 10.5 circulars for the crown&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="the-pattern"&gt;The Pattern&lt;/h2&gt;&#10;&lt;h3 id="ribbing"&gt;Ribbing&lt;/h3&gt;&#10;&lt;p&gt;&lt;strong&gt;Size 10 needles&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Cast on 86 stitches with the main color (MC)&lt;/li&gt;&#10;&lt;li&gt;Knit ribbing (k1, p1) for desired length, keeping track of how many rows you have knit if you want a folded brim. If &lt;em&gt;not&lt;/em&gt; knitting a folded brim, stop at your desired length. (I knit 10 rows for my purple hat; 7 for the mushroom.)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Folded brim only:&lt;/strong&gt; Purl 1 row&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Folded brim only:&lt;/strong&gt; Knit ribbing (k1, p1) again for the same amount of rows as prior to the purl row (i.e., I knit 10 rows for my purple hat with the folded brim)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Folded brim only:&lt;/strong&gt; Knit one more row of ribbing, when at a knit stitch, pick up the cast on edge of the stitch at the bottom of the row (it will look like a purl from the back); knit the two stitches together.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;h3 id="head"&gt;Head&lt;/h3&gt;&#10;&lt;p&gt;&lt;strong&gt;Switch to size 10.5 needles (if you want, I forgot for the mushroom hat)&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;Starting with the contrast color, repeat the following until you want to begin crown decreases:&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Row 1 (CC):&lt;/strong&gt; (Slip1 k1) to end&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Row 2 (CC):&lt;/strong&gt; Knit&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Row 3 (MC):&lt;/strong&gt; (k1 slip 1)to end&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Row 4: (MC):&lt;/strong&gt; Knit&lt;/p&gt;&#10;&lt;p&gt;End after a row 1 repeat.&lt;/p&gt;&#10;&lt;h3 id="crown"&gt;Crown&lt;/h3&gt;&#10;&lt;p&gt;&lt;strong&gt;Row 1 (CC):&lt;/strong&gt; K7 k3tog (k11 k3tog) 5 times k6 (74 stitches)&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Row 2 (MC):&lt;/strong&gt; Knit in pattern&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Row 3 (MC):&lt;/strong&gt; K6 k3tog (k9 k3tog) 5 times k5 (62)&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Row 4 (CC):&lt;/strong&gt; Knit in pattern&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Row 5 (CC):&lt;/strong&gt; K5 k3tog (k7 k3tog) 5 times k4 (50)&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Row 6 (MC):&lt;/strong&gt; Knit in pattern&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Row 7(MC):&lt;/strong&gt; K4 k3tog (k5 k3tog) 5 times k3 (38)&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Row 8 (CC):&lt;/strong&gt; Knit in pattern&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Row 9 (CC):&lt;/strong&gt; (k3 k3tog) 6 times k2 (26)&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Row 10 (MC):&lt;/strong&gt; Knit in pattern&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Row 11 (MC):&lt;/strong&gt; K2 k3tog (k1 k3tog) 5 times k1 (14)&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Row 12 (CC):&lt;/strong&gt; Knit in pattern&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Row 13 (CC):&lt;/strong&gt; (k2togbl k2tog) to end (7)&lt;/p&gt;&#10;&lt;p&gt;Cut both threads and pull through loops; weave in ends.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;And that&amp;rsquo;s it! Eventually I plan on grading this to have a larger and smaller version, upon which I&amp;rsquo;ll maybe run a small test (just to test running a pattern test), and release it as a PDF pattern on Ravelry. But until then: Enjoy! And be sure to ping me on Ravelry if you use the pattern!&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Projects in this post:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://www.ravelry.com/projects/Acanthae/scrappy-slip-stitch-hat---purple--black"&gt;Scrappy Slip Stitch Hat - Purple &amp;amp; Black &lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.ravelry.com/projects/Acanthae/scrappy-slip-stitch-hat---autumn"&gt;Scrappy Slip Stitch Hat - Autumn&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;</content:encoded><category>knitting</category><category>pattern</category><category>stashbusting</category><category>fiber arts</category></item><item><title>My Yarn Can't Reach the Moon, But It Can Make It Up Everest 23 Times</title><link>https://blog.kittenin.space/posts/an-everest-amount-of-yarn/</link><guid isPermaLink="true">https://blog.kittenin.space/posts/an-everest-amount-of-yarn/</guid><pubDate>Wed, 23 Sep 2026 17:30:13 -0400</pubDate><description>A have a lot of yarn and it might be a problem</description><content:encoded>&lt;p&gt;I have been knitting for over 20 years.&lt;/p&gt;&#10;&lt;p&gt;I learned from the Internet, slightly after YouTube was created but before it really took off, from the low-res videos on a particularly periwinkle knitting help website. I also read blogs: so many blogs. The Internet was awash in knitting blogs back then, and they were some of the most widely-read blogs out there. Seriously. It was &lt;strong&gt;A Whole Thing&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="babs.jpg" alt="Miss Babs Yummy 2-Ply in the colors of a swamp"&gt;&lt;/p&gt;&#10;&lt;p&gt;One of the habits I picked up from these blogs was &lt;strong&gt;Always Buy An Extra Skein of Yarn&lt;/strong&gt;. This prevented the woe one would experience when they came up short for a project and couldn&amp;rsquo;t get to the store; or worse yet, could, but found the store was sold out or only had yarn from a visibly different dye lot. (This was, as you could imagine, before most yarn stores were selling online.) And when you are just starting out, with 6 balls of yarn to your name, this is an amazing idea.&lt;/p&gt;&#10;&lt;p&gt;Eventually, however, this became &lt;strong&gt;An Issue&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;This became an issue because often I would not use those extra skeins, leaving me with too little yarn to really make anything other than hats, which I did not really wear (and it would be several years before I met my husband, who does wear knit hats). This became an issue, because like most new knitters, I found the projects I were drawn to were not the projects I wore. This became an issue, because I am a dedicated frogger of those unworn projects, meaning while I also bought yarn for &lt;em&gt;new&lt;/em&gt; projects, plenty of my &lt;em&gt;old&lt;/em&gt; projects stopped being projects and became balls of yarn again. Oops. I also inherited my mother-in-law&amp;rsquo;s yarn stash, which certainly embiggened my own.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="squidyarn.jpg" alt="Partially-finished Squidpocalypse using my MIL&amp;rsquo;s stash"&gt;&lt;/p&gt;&#10;&lt;p&gt;That said, it&amp;rsquo;s also easy enough to not realize how much yarn you have. This might seem preposterous given that I have literally hundreds of balls of yarn, but until I moved into my current house, most of my yarn lived in boxes and bags that were &lt;em&gt;around&lt;/em&gt; and I did not know what I had, so I would find a new project and look through some of the stash, but forget the other bits of it existed, and then just buy new yarn if I didn&amp;rsquo;t have enough of what I wanted or the yarn I could see just wasn&amp;rsquo;t right. Also, balls of yarn are &lt;em&gt;small&lt;/em&gt;, especially if you compress them into plastic ziplock bags to keep the moths out.&lt;/p&gt;&#10;&lt;p&gt;But then I moved. I put all my yarn into one place. I also I stashed it &lt;a href="https://www.ravelry.com/people/Acanthae"&gt;on Ravelry&lt;/a&gt;. And that was when I realized I might have a not-so-small problem.&lt;/p&gt;&#10;&lt;p&gt;And so, last January, I stopped buying yarn. The more whimsical of you might say I &lt;strong&gt;began my stashbusting journey&lt;/strong&gt;, but mostly I would argue that I finally just new what I had and it became easier to use it.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="friends.jpg" alt="Amigurumi friends and friends, including Scully and Mulder"&gt;&lt;/p&gt;&#10;&lt;p&gt;Since then, I have used &lt;em&gt;almost&lt;/em&gt; 100 individual skeins of yarn. Most of it was bulky-weight or thicker, meaning I cleared out over three bags in what felt like record time. I also got to use yarn I had mostly fallen out of love with because I bought it when I was eighteen and tried projects I would have never made before. Seriously, who knew fluffy amigurumi yarn critters would be so cute? Mushroom Guys? Fuzzy cat hats? Giant cotton cardigans I wear constantly even though it&amp;rsquo;s &lt;em&gt;pink&lt;/em&gt; and &lt;em&gt;striped&lt;/em&gt;? Sign me up. Not forever &amp;ndash; I&amp;rsquo;ve crawled back to fingering- and lace-weight shawls lately for the technical challenge after months of bulky fluff. But after 20 years, it&amp;rsquo;s been interesting to discover there is still plenty of things to try &amp;ndash; or try &lt;em&gt;again&lt;/em&gt; after a decade or so.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="tabbyroad.jpg" alt="This had over 450 stitches per row at the end of it and I loved it so much"&gt;&lt;/p&gt;&#10;&lt;p&gt;That said, if I maintain my current trajectory, I still have about 9 years before I run out of yarn. Wish me luck?&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Patterns and projects shown/referenced in this post:&lt;/strong&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://www.ravelry.com/projects/Acanthae/squidpocalypse"&gt;Squidpocalypse&lt;/a&gt; (&lt;a href="https://www.ravelry.com/patterns/library/squidpocalypse"&gt;Pattern&lt;/a&gt;)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.ravelry.com/projects/Acanthae/mushroom-guy"&gt;Ink Cap Mushroom Guy&lt;/a&gt; (&lt;a href="https://www.ravelry.com/patterns/library/mushroom-guy-2"&gt;Pattern&lt;/a&gt;)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.ravelry.com/projects/Acanthae/not-so-long-cat"&gt;Not-So-Long Cat&lt;/a&gt; (&lt;a href="https://www.etsy.com/listing/1497149738/big-long-cat-crochet-pattern-create-you"&gt;Pattern&lt;/a&gt;)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.ravelry.com/projects/Acanthae/dockside"&gt;Striped Dockside&lt;/a&gt; (&lt;a href="https://www.ravelry.com/patterns/library/dockside-4"&gt;Pattern&lt;/a&gt;)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.ravelry.com/projects/Acanthae/tabby-road"&gt;Tabby Road&lt;/a&gt; (&lt;a href="https://www.ravelry.com/patterns/library/tabby-road"&gt;Pattern&lt;/a&gt;)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;</content:encoded><category>knitting</category><category>yarn</category><category>stashbusting</category><category>fiber arts</category></item><item><title>Lessons Learned by Counting Rows From Sheep</title><link>https://blog.kittenin.space/posts/lessons-learned-by-counting-rows-from-sheep/</link><guid isPermaLink="true">https://blog.kittenin.space/posts/lessons-learned-by-counting-rows-from-sheep/</guid><pubDate>Mon, 21 Sep 2026 17:52:36 -0400</pubDate><description>Whenever learning a new programming language, framework, backend, or tech skill, I have always relied on remaking the same applications: This lets me focus on learning, not product design. Initially, this was a simple to-do list application I called Forethought, although I also dabbled in pomodoro timers. But after a time, I wanted to try to make something important to me: a knitting/crochet row counter.</description><content:encoded>&lt;p&gt;Whenever learning a new programming language, framework, backend, or tech skill, I have always relied on remaking the same applications: This lets me focus on learning, not product design. Initially, this was a simple to-do list application I called &amp;ldquo;Forethought,&amp;rdquo; although I also dabbled in &lt;a href="https://cozytime.kittenin.space/"&gt;pomodoro timers&lt;/a&gt;. But after a time, I wanted to try to make something important to me: And as a knitter and crocheter perpetually unhappy with my row counting applications, I realized what I wanted out of a row counter was what I wanted out of, well, fiber arts in the first place &amp;ndash; a app customized to me.&lt;/p&gt;&#10;&lt;h2 id="gauge-swatch-the-first-version"&gt;Gauge Swatch: The First Version&lt;/h2&gt;&#10;&lt;p&gt;When I first built &lt;strong&gt;Count Rows From Sheep&lt;/strong&gt; &amp;ndash; a name that has persevered through every version &amp;ndash; it was with Node.js and Express, using MongoDB as a database to store row counter and project information. Truth be told, I did not get too far with it: I got the Express server set up, the database schema, an intended item structure, and part of a REST API coded.&lt;/p&gt;&#10;&lt;p&gt;But then I saw a new shiny: I had started experimenting with TypeScript and React, and decided to pivot. You might say the gauge swatch worked: It let me realize what I wanted out of the fabric of the application. It was just a little different than what I started with.&lt;/p&gt;&#10;&lt;h2 id="frogging-realizing-what-i-really-wanted-but-only-after-making-an-entire-app"&gt;Frogging: Realizing What I Really Wanted (But Only After Making an Entire App)&lt;/h2&gt;&#10;&lt;p&gt;I started from scratch with version 2. Like the unfinished first iteration, this version of &lt;strong&gt;Count Rows From Sheep&lt;/strong&gt; used something JavaScript-esque, with TypeScript, and created an Express RESTful API. I switched the database to Postgres with Prisma, allowing me to logically organize my database tables with schemas and handle project and row counter data without spending too much time on database management.&lt;/p&gt;&#10;&lt;p&gt;I also finally got to the front end, and I admit: I spent most of my time here. There&amp;rsquo;s something to be said about having written the API partially before. TypeScript and Express weren&amp;rsquo;t new to me, and Postgres/Prisma removed some of the weight of database schemas. This let me focus learning more React, building &lt;strong&gt;Count Rows From Sheep&lt;/strong&gt; as a single-page application.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="theme-8.png" alt="image"&gt;&lt;/p&gt;&#10;&lt;p&gt;This also let me realize the things I really wanted from both the UI and the application as a whole: Clean, easy-to-use counters that can be visually linked and configured to track repeats, and an affective pattern viewer that let me highlight charts, write annotations, and add text. I also wanted to be able to change themes and settings based on my mood &amp;ndash; I&amp;rsquo;m a native of the 90s and 00s Internet; I love some color.&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="theme-2.png" alt="image"&gt;&lt;/p&gt;&#10;&lt;p&gt;Finally, with everything working how I (think) I wanted, I added authentication: This was a progressive web app, after all! If someone other than me wanted to use it, they would need their own account. This was the first time I had ever implemented auth to an app, and I leveraged &lt;code&gt;bcrypt&lt;/code&gt; and JSON Web Tokens. I also set up invite codes, since I didn&amp;rsquo;t exactly want to release the app to other users yet.&lt;/p&gt;&#10;&lt;p&gt;And that&amp;rsquo;s a good thing: Because when I started using it, I realized I kind of hated it.&lt;/p&gt;&#10;&lt;p&gt;When I decided to build a progressive web app, it was primarily because I was impressed by the PWA of others: &lt;a href="https://www.dabblewriter.com/"&gt;Dabble Writer&lt;/a&gt;, in particular, is an application I thought was &lt;em&gt;really cool&lt;/em&gt;. I wanted to do that! And so I did: But then while using it, I realized that a.) needing the Internet to use my row counter kind of sucked, and b.) I didn&amp;rsquo;t actually care about using the app on multiple devices. I also didn&amp;rsquo;t like the $40+/month bill I was paying Digital Ocean just to use it myself.&lt;/p&gt;&#10;&lt;h2 id="the-fo-count-rows-from-sheep"&gt;The FO: Count Rows From Sheep&lt;/h2&gt;&#10;&lt;p&gt;&lt;img src="crfs-light-horizontal.jpg" alt="image"&gt;&lt;/p&gt;&#10;&lt;p&gt;After a few months of using my PWA web app exclusively, I decided to start fresh again. I wanted to rip out the database in favor of storing project data as JSON files, have it work local-first (and local-only), and provide users the option to use it on their platform of choice (so long as it was a platform I already used and could test it on). This led me to Tauri, which meant I was rewriting the backend again: This time in Rust! I had never actually used Rust before, but the transition to JSON-based project files made this a lot less intimidating than it would have been: It was all CRUD functions! No databases to integrate with! And best of all: It was quick as hell to use. (Well, except for the brief foray into using Android SAF so the user could &lt;em&gt;see&lt;/em&gt; their project files in the tablet filesystem, but apparently that was a bad idea.)&lt;/p&gt;&#10;&lt;p&gt;With the backend simplified, this let me dive head-first into the frontend again: I kept up with using React, although since I knew I wanted more and more (and more and more) themes, I decided to try out Tailwind CSS. And while I won&amp;rsquo;t say Tailwind is the &lt;em&gt;only&lt;/em&gt; reason I was able to implement custom, user-supplied themes, it didn&amp;rsquo;t hurt, either.&lt;/p&gt;&#10;&lt;img class="content-image content-image--left" style="--content-image-width:40%;"&#10; src="https://blog.kittenin.space/posts/lessons-learned-by-counting-rows-from-sheep/crfs-bottom-counter_hu_67f5ee6064c31cec.webp" srcset="https://blog.kittenin.space/posts/lessons-learned-by-counting-rows-from-sheep/crfs-bottom-counter_hu_5420cc5a4361973e.webp 480w, https://blog.kittenin.space/posts/lessons-learned-by-counting-rows-from-sheep/crfs-bottom-counter_hu_67f5ee6064c31cec.webp 720w, https://blog.kittenin.space/posts/lessons-learned-by-counting-rows-from-sheep/crfs-bottom-counter_hu_7c25fe54f15ede7.webp 960w, https://blog.kittenin.space/posts/lessons-learned-by-counting-rows-from-sheep/crfs-bottom-counter.jpg 1320w" sizes="(max-width: 650px) 90vw, 45vw"&#10; width="720"&#10; height="1112"&#10; alt="CRFS bottom counters"&#10; loading="lazy"&#10; decoding="async"&gt;&#10;&lt;p&gt;Since this was the second time leveraging React for the frontend, I was also able to go in with a better idea of what I wanted and how to get there. For example, one simple quality-of-life feature I was adamant about was the ability to move my row counters to the bottom of the screen, where I can see them best on my tab&lt;/p&gt;&#10;&lt;p&gt;I also didn&amp;rsquo;t want to lose portability entirely: But instead of native syncing between devices, which would involve a server and cost money, I developed a simple export/import system. You can save a project &amp;ndash; or &lt;em&gt;all&lt;/em&gt; your projects &amp;ndash; exported as a &lt;code&gt;zip&lt;/code&gt;, then import that &lt;code&gt;zip&lt;/code&gt; onto a different decide with &lt;strong&gt;Count Rows From Sheep&lt;/strong&gt; on it; it doesn&amp;rsquo;t even have to be the same type of device! I work from Windows to Android and occasionally Linux as needed. And it means the application can always be free!&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;I have never finished an application before &amp;ndash; at least not one I wanted to share. But &lt;strong&gt;Count Rows From Sheep&lt;/strong&gt; became something more than a learning experience for me: It became a customized application suited to my knitting and crochet needs, like how my knitting and crochet projects are clothes and accessories made just for me and my loved ones. Of course, that doesn&amp;rsquo;t mean I don&amp;rsquo;t want to share, and you can currently download &lt;strong&gt;Count Rows From Sheep&lt;/strong&gt; from the &lt;a href="https://crfs.kittenin.space/"&gt;CRFS website&lt;/a&gt; for Windows and Linux. Android is still in closed testing, but &lt;a href="mailto:countrowsfromsheep@pm.me"&gt;drop me an email&lt;/a&gt; if you want an invite; bonus points if you can take 30 minutes to run through a test survey!&lt;/p&gt;&#10;</content:encoded><category>tech</category><category>coding</category><category>crfs</category><category>fiber arts</category></item></channel></rss>