<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Tania’s List]]></title><description><![CDATA[Articles on software engineering]]></description><link>https://taniarascia.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!gqCV!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F97fdf10c-e7db-4b83-9d36-0ca5237627cb_960x960.png</url><title>Tania’s List</title><link>https://taniarascia.substack.com</link></image><generator>Substack</generator><lastBuildDate>Sun, 19 Apr 2026 03:57:34 GMT</lastBuildDate><atom:link href="https://taniarascia.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Tania Rascia]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[taniarascia@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[taniarascia@substack.com]]></itunes:email><itunes:name><![CDATA[Tania Rascia]]></itunes:name></itunes:owner><itunes:author><![CDATA[Tania Rascia]]></itunes:author><googleplay:owner><![CDATA[taniarascia@substack.com]]></googleplay:owner><googleplay:email><![CDATA[taniarascia@substack.com]]></googleplay:email><googleplay:author><![CDATA[Tania Rascia]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Year in Review: 2025]]></title><description><![CDATA[Latest year in review award &#127942;]]></description><link>https://taniarascia.substack.com/p/year-in-review-2025</link><guid isPermaLink="false">https://taniarascia.substack.com/p/year-in-review-2025</guid><dc:creator><![CDATA[Tania Rascia]]></dc:creator><pubDate>Mon, 07 Apr 2025 16:28:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gqCV!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F97fdf10c-e7db-4b83-9d36-0ca5237627cb_960x960.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey all,</p><p>It&#8217;s <a href="https://tania.dev">Tania</a>. I&#8217;ve been a little behind on writing for the blog, but I got around to writing a little end of year post (even if it is April&#8230;) and tweaking the blog layout as always. (I can never decide between white and solarized beige for the background in light mode.) Here are the two posts I wrote lately.</p><div><hr></div><h3><a href="https://tania.dev/2024-into-2025/">Year in Review: 2025</a></h3><p>Just a review of a few articles I&#8217;ve written this year, games I&#8217;ve enjoyed, and a brief update on me. (I&#8217;m engaged, with is very neat.)</p><div><hr></div><h3><a href="https://tania.dev/apache-echarts-react/">Apache ECharts in React</a></h3><p>I also wrote a post about setting up the Apache ECharts library in React. If you don&#8217;t know how to make a React wrapper for a regular JavaScript package, it might be a quick and interesting read for you.</p><div><hr></div><p>Have a great week!</p><p></p>]]></content:encoded></item><item><title><![CDATA[Big Redesign Energy]]></title><description><![CDATA[&#129419; and a Bluesky starter pack]]></description><link>https://taniarascia.substack.com/p/big-redesign-energy</link><guid isPermaLink="false">https://taniarascia.substack.com/p/big-redesign-energy</guid><dc:creator><![CDATA[Tania Rascia]]></dc:creator><pubDate>Mon, 02 Dec 2024 17:52:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F97fdf10c-e7db-4b83-9d36-0ca5237627cb_960x960.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Happy Monday, and Happy Thanksgiving to all those who partake!</p><p>I had a few days off work for the holidays and thought, you know what would be fun for some reason? Redesigning my whole website. So that&#8217;s what I did.</p><h2>Redesign</h2><p>I invite you to check out <a href="https://www.taniarascia.com/redesign-version-7/">Redesign: Version 7.0</a>. I&#8217;d love to hear your thoughts!</p><p>I recently discovered the new <code>color-scheme</code> property in CSS, which makes light/dark theming a breeze. </p><p>I also added sidebars to make it easier to explore topics, see my favorite posts throughout the years, view a table of contents per post, view post comments, and more. I also wanted it to be very responsive and mobile-friendly.</p><h2>Content</h2><p>There&#8217;s a decade worth of articles, guides, tutorials, and musings across this site that I&#8217;d love to expose better.</p><p>For example:</p><ul><li><p><a href="https://www.taniarascia.com/asynchronous-javascript-event-loop-callbacks-promises-async-await/">The Event Loop</a> - a deep dive into the stack, queue, tasks, and how promises work behind the scenes.</p></li><li><p><a href="https://www.taniarascia.com/overview-of-css-concepts">The CSS Guidebook</a> - a deep dive into CSS fundamentals that I wrote due to a request from one of my fellow coworkers.</p></li><li><p><a href="https://www.taniarascia.com/setting-up-a-brand-new-mac-for-development">macOS Setup for FE devs</a> - the article I use every time I need to set up a new MacBook for work or personal.</p></li><li><p><a href="https://www.taniarascia.com/animorphs">The Lore of Animorphs</a> - a long manifesto about Animorphs for some reason. I want to write more non-dev musings, and here&#8217;s a fun one.</p></li></ul><h2>Bluesky</h2><p>As you may already be aware, devs are switching from Twitter to <a href="https://bsky.app/profile/tania.dev">Bluesky</a>. I haven&#8217;t really posted on Twitter for a long time, so I&#8217;m excited to switch over and hopefully have more fun, natural interactions like back in the day.</p><p><a href="https://go.bsky.app/SmEWb8G">&#129419; Bluesky Starter Pack</a></p><p>I made a starter pack, which is a curated list of users on the site that you can sub to all at once. I just picked a few fellow devs who have interesting blogs and websites. It&#8217;s a pretty small list at the moment but I plan to update it as I go.</p><p>Anyway, feel free to reach out and connect over there, or respond to this email. I&#8217;ve been pretty AFK from the online world for a while, but lately I&#8217;ve felt a bit more inspired to connect and write again.</p><p>Hope y&#8217;all have a good week!</p>]]></content:encoded></item><item><title><![CDATA[Keyboard Shortcut React Hook Deep Dive]]></title><description><![CDATA[Up, Up, Down, Down, Left, Right, Left, Right, B, A...]]></description><link>https://taniarascia.substack.com/p/keyboard-shortcut-react-hook-deep</link><guid isPermaLink="false">https://taniarascia.substack.com/p/keyboard-shortcut-react-hook-deep</guid><dc:creator><![CDATA[Tania Rascia]]></dc:creator><pubDate>Mon, 21 Oct 2024 16:03:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gqCV!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F97fdf10c-e7db-4b83-9d36-0ca5237627cb_960x960.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey, it&#8217;s <a href="https://www.taniarascia.com">me</a> again. Two articles in one month??</p><p>I had some fun playing around with keyboard shortcuts in React and wrote about it over the last few days. I set up a hook to enable shortcuts consisting of single, multiple, or a sequence of key presses. If you use React and don&#8217;t understand when <code>useCallback</code> is necessary, the article also goes into that. It also includes some live demos and the Konami Code (everyone still knows what that is, right?).</p><p><strong><a href="https://www.taniarascia.com/keyboard-shortcut-hook-react/">Creating a Keyboard Shortcut in React</a></strong></p><p>In other news, I&#8217;ve been sick for over a week, which probably explains why I&#8217;ve been sitting around writing articles and deciding to rewatch Game of Thrones.</p><p>I&#8217;m having fun writing articles again and making example code, so hopefully I&#8217;ll keep doing so for the rest of the year.</p><p>Have a nice week!</p><p>&#8212; Tania</p>]]></content:encoded></item><item><title><![CDATA[Tables with Fixed Headers and Horizontal Scroll]]></title><description><![CDATA[A tricky problem.]]></description><link>https://taniarascia.substack.com/p/tables-with-fixed-headers-and-horizontal</link><guid isPermaLink="false">https://taniarascia.substack.com/p/tables-with-fixed-headers-and-horizontal</guid><dc:creator><![CDATA[Tania Rascia]]></dc:creator><pubDate>Mon, 14 Oct 2024 15:35:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gqCV!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F97fdf10c-e7db-4b83-9d36-0ca5237627cb_960x960.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey there!</p><p>I just wrote an article:</p><p><a href="https://www.taniarascia.com/horizontal-scroll-fixed-headers-table/">Tables with Fixed Headers and Horizontal Scroll</a></p><p>It&#8217;s a short and sweet article about why sticky headers don&#8217;t work when you put a table in an overflow container, and what you can do to solve it if that issue comes up for you.</p><p>I also wrote <a href="https://www.taniarascia.com/2023-into-2024/">2023 into 2024</a> about ten months ago, and forgot to send out an email for it. Whoops! Almost time for the next year in review. It&#8217;s been a busy year for me so I haven&#8217;t really done any writing or open-source work, but hopefully I can continue documenting stuff I learn going forward.</p><p>Hope all is well with you.</p><p>&#8212; Tania</p>]]></content:encoded></item><item><title><![CDATA[WebSockets in Redux ⚛️]]></title><description><![CDATA[Where should they go?]]></description><link>https://taniarascia.substack.com/p/websockets-in-redux</link><guid isPermaLink="false">https://taniarascia.substack.com/p/websockets-in-redux</guid><dc:creator><![CDATA[Tania Rascia]]></dc:creator><pubDate>Fri, 17 Feb 2023 19:46:45 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/ba500c12-ec8c-468c-b4f8-84ced7031bb7_256x256.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Happy Friday! I spent last week in LA/San Diego. It was amazing. Now I&#8217;m back in the snow and feeling rather grumpy about it.</p><p>I wrote an article:</p><h3><a href="https://www.taniarascia.com/websockets-in-redux/">Using WebSockets in a Redux Application</a></h3><p>WebSockets: where should they go? This article answers it for a simple one-connection-per-tab WebSocket setup. I also want to make a follow up article about using web workers and broadcasting to create a new &#8220;thread&#8221; and share data/computation across multiple tabs.</p><p>Exciting stuff, right? First <a href="https://www.taniarascia.com/animorphs/">Animorphs</a>, now this.</p><p>In other news, I read <em>Do Androids Dream of Electric Sheep</em> this week, which was a good prelude to all the articles about Bing&#8217;s unhinged language model.</p><p>Anyway, how are you? I&#8217;m doing pretty well.</p><p>Have a nice weekend!</p>]]></content:encoded></item><item><title><![CDATA[Understanding the GraphQL Type System]]></title><description><![CDATA[The last article in my GraphQL series]]></description><link>https://taniarascia.substack.com/p/understanding-the-graphql-type-system</link><guid isPermaLink="false">https://taniarascia.substack.com/p/understanding-the-graphql-type-system</guid><dc:creator><![CDATA[Tania Rascia]]></dc:creator><pubDate>Mon, 30 Jan 2023 16:31:56 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/80db373e-cd18-4cfe-ad55-69ecf255b8b8_150x150.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello! Happy Monday. Hope you had a great weekend!</p><p>I completed the GraphQL series of articles:</p><h3><a href="https://www.taniarascia.com/introduction-to-graphql/">1. Introduction to GraphQL</a></h3><p>This article explains what GraphQL is, when you might want to use it, and includes a comparison of traditional REST API standards and GraphQL.</p><h3><a href="https://www.taniarascia.com/graphql-server-node/">2. How to Set Up a GraphQL API Server in Node.js</a></h3><p>This article is a walkthrough tutorial from zero to having a complete GraphQL API server in Node.js, without using Apollo or any other third party service to get it up and running.</p><h3><a href="https://www.taniarascia.com/graphql-type-system/">3. Understanding the GraphQL Type System</a></h3><p>This article explains how to create a GraphQL schema and introduces all the types - Scalar, Enum, Non-Null, List, Object, Interface, and Union. </p><p>Using these three articles, you should have an understanding of how and when to use GraphQL.</p><p>This completes my DigitalOcean series of articles! </p><p>I hope to write posts that are less dry going forward.</p><p>Have a great rest of the week!</p><p>Tania</p>]]></content:encoded></item><item><title><![CDATA[Happy New Year!]]></title><description><![CDATA[End of Year Review: 2022]]></description><link>https://taniarascia.substack.com/p/happy-new-year-c82</link><guid isPermaLink="false">https://taniarascia.substack.com/p/happy-new-year-c82</guid><dc:creator><![CDATA[Tania Rascia]]></dc:creator><pubDate>Tue, 03 Jan 2023 16:39:37 GMT</pubDate><enclosure url="https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/42f4dbe6-c954-4e43-9193-cf7e6dba2f11_1260x1028.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Happy New Year! I hope you had a nice couple of days to enjoy the start of the new year before getting back into the swing of things.</p><p>As ever, I wrote a little end of year review here:</p><h3><a href="https://www.taniarascia.com/2022-into-2023/">2022 into 2023</a></h3><p>It&#8217;s kind of hard to believe I&#8217;ve been writing them for seven years. Within the review you&#8217;ll find some of my content suggestions for the year, some metrics I tracked, resolutions, and things I want to learn.</p><p>Have a great rest of the week, and thank you for reading what I put out there!</p>]]></content:encoded></item><item><title><![CDATA[An Ode to Animorphs]]></title><description><![CDATA[Now for something completely different...]]></description><link>https://taniarascia.substack.com/p/an-ode-to-animorphs</link><guid isPermaLink="false">https://taniarascia.substack.com/p/an-ode-to-animorphs</guid><dc:creator><![CDATA[Tania Rascia]]></dc:creator><pubDate>Fri, 30 Dec 2022 19:11:02 GMT</pubDate><enclosure url="https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/c47c5063-8543-4fa3-871a-bf8fdcc0383c_360x360.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey there!</p><p>I was thinking about Animorphs the other day, one of my favorite book series from childhood. I still remember so much about those books and the themes of love, war, ethics, and morality that they went into. I spent the last couple of days making a write-up about the backstory, characters, and moments of this memorable and often disturbing book series.</p><h3><strong><a href="https://www.taniarascia.com/animorphs/">An Ode to Animorphs</a></strong></h3><p>Nobody asked for this, but here it is! I had fun writing about it and rediscovering the stories. If you&#8217;ve never engaged with the series before, it might be a fun read to discover something new.</p><p>I&#8217;m enjoying attempting to write some non-technical, non-tutorial posts. It&#8217;s something I don&#8217;t have a lot of experience with. The next topics I plan to write about are WebSockets, logical fallacies, and my end of year review.</p><p>Have a great weekend and Happy New Year! </p>]]></content:encoded></item><item><title><![CDATA[Testing API Calls in useEffect in React 🐙]]></title><description><![CDATA[With React Testing Library and Jest]]></description><link>https://taniarascia.substack.com/p/testing-api-calls-in-useeffect-in</link><guid isPermaLink="false">https://taniarascia.substack.com/p/testing-api-calls-in-useeffect-in</guid><dc:creator><![CDATA[Tania Rascia]]></dc:creator><pubDate>Sat, 10 Dec 2022 19:29:58 GMT</pubDate><enclosure url="https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/ddbe7bde-466d-4c92-94ff-398c33500057_128x128.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi! It&#8217;s <a href="https://www.taniarascia.com">Tania</a>. Happy Saturday. Hope you&#8217;re enjoying your weekend so far! </p><p>I wrote an article this week:</p><h3><strong><a href="https://www.taniarascia.com/how-to-test-useeffect-api-call/">Testing API Calls in useEffect using React Testing Library and Jest</a></strong></h3><p>If you&#8217;ve ever struggled to test API calls in React, or just want to know how to do it when the time comes, this article is for you. This article shows how to test how the front end responds to the success and failure of an API, as well as how to set everything up for testing with the most up-to-date versions and config.</p><p>Have a great rest of your weekend!</p><p>Tania</p>]]></content:encoded></item><item><title><![CDATA[Using Path Matching in React Router]]></title><description><![CDATA[With React Helmet &#129686;]]></description><link>https://taniarascia.substack.com/p/using-path-matching-in-react-router</link><guid isPermaLink="false">https://taniarascia.substack.com/p/using-path-matching-in-react-router</guid><dc:creator><![CDATA[Tania Rascia]]></dc:creator><pubDate>Tue, 06 Dec 2022 15:25:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gqCV!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F97fdf10c-e7db-4b83-9d36-0ca5237627cb_960x960.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey all!</p><p>It&#8217;s me again. </p><p>I really appreciate all the responses to my most recent <a href="https://www.taniarascia.com/digital-gardening/">digital gardening</a> post! I&#8217;m humbled by how many of you are interested in what I have to say.</p><p>Here&#8217;s my most recent article:</p><p><strong><a href="https://www.taniarascia.com/path-matching-in-react-router/">Using Path Matching in React Router</a></strong></p><p>Right as I finished writing this article, I thought of a better and easier way to do what I was trying to accomplish, but much like writing the answer to your own StackOverflow post, I figured I&#8217;d post and share it anyway in case it comes in handy for someone.</p><p>Hope you have a great work week!</p><p>Tania</p>]]></content:encoded></item><item><title><![CDATA[Tending to My Digital Garden 🌱]]></title><description><![CDATA[Writing, burnout, work, and life.]]></description><link>https://taniarascia.substack.com/p/tending-to-my-digital-garden</link><guid isPermaLink="false">https://taniarascia.substack.com/p/tending-to-my-digital-garden</guid><dc:creator><![CDATA[Tania Rascia]]></dc:creator><pubDate>Fri, 02 Dec 2022 15:46:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gqCV!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F97fdf10c-e7db-4b83-9d36-0ca5237627cb_960x960.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey there,</p><p>Hope your December is going well so far. I wrote a new post last night about what I&#8217;ve been up to lately:</p><p><strong><a href="https://www.taniarascia.com/digital-gardening/">Tending to My Digital Garden</a></strong></p><p>Let me know what you think!</p><p>Tania</p>]]></content:encoded></item><item><title><![CDATA[Memories]]></title><description><![CDATA[I wrote something the other day.]]></description><link>https://taniarascia.substack.com/p/memories</link><guid isPermaLink="false">https://taniarascia.substack.com/p/memories</guid><dc:creator><![CDATA[Tania Rascia]]></dc:creator><pubDate>Fri, 05 Aug 2022 14:29:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gqCV!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F97fdf10c-e7db-4b83-9d36-0ca5237627cb_960x960.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I wrote something the other day. It&#8217;s personal, not technical, but I figured I&#8217;d share it.</p><h3><a href="https://www.taniarascia.com/josh/">Memories of Josh</a></h3><p></p><p>Hope you have a lovely weekend!</p><p>Tania</p>]]></content:encoded></item><item><title><![CDATA[💾 A new design, and a new tutorial]]></title><description><![CDATA[and Covid...&#129440;]]></description><link>https://taniarascia.substack.com/p/-a-new-design-and-a-new-tutorial</link><guid isPermaLink="false">https://taniarascia.substack.com/p/-a-new-design-and-a-new-tutorial</guid><dc:creator><![CDATA[Tania Rascia]]></dc:creator><pubDate>Sun, 03 Jul 2022 20:18:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gqCV!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F97fdf10c-e7db-4b83-9d36-0ca5237627cb_960x960.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello friends,</p><p>Hope you&#8217;re having a nice Sunday.</p><p>I did a little redesign of my website - <a href="https://www.taniarascia.com">check it out</a>! What do you think? I wanted to clean it up a little and add some color, and I always get bored of the designs after a while and like to change it up, especially since a lot of clones tend to pop up after a while.</p><p>I also wrote an article:</p><p><strong><a href="https://www.taniarascia.com/graphql-server-node/">How To Set Up a GraphQL API Server in Node.js</a></strong></p><p>If you&#8217;re not sure all the pieces fit together for GraphQL, this is a pretty easy run-through of creating a little demo website that can query GraphQL. This is a DigitalOcean article, so it&#8217;s a bit dry, but informative.</p><p>I plan to write less code-based things and less tutorials and more just personal stuff or other non-coding things. Recently I bought a new accordion so I&#8217;m having fun learning songs on that, and I&#8217;d like to write about other things like my kitchen experiences and memories.</p><p>In other news, I had Covid all week and it was terrible. I couldn&#8217;t leave the bed at all for three days. I&#8217;m getting better now, just a cough and fatigue, so hopefully I&#8217;ll be in full health going forward.</p><p>Thanks for reading, see you next time.</p>]]></content:encoded></item><item><title><![CDATA[Using the Web Audio API to Turn my Keyboard into an Instrument]]></title><description><![CDATA[I built a web app with Svelte to make a musical keyboard &#129687;&#129687;&#129687;]]></description><link>https://taniarascia.substack.com/p/using-the-web-audio-api-to-turn-my</link><guid isPermaLink="false">https://taniarascia.substack.com/p/using-the-web-audio-api-to-turn-my</guid><dc:creator><![CDATA[Tania Rascia]]></dc:creator><pubDate>Sun, 01 May 2022 14:37:03 GMT</pubDate><enclosure url="https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/11bcd9e1-c4ab-4225-82fe-037baa25b4ca_192x192.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello friends,</p><p>I haven&#8217;t written for a quite a while. If you need a refresher on who I am, I&#8217;m <a href="https://www.taniarascia.com">Tania</a>, and I make coding projects and tutorials. Life has been busy and due to some personal trauma, I&#8217;ve taken a lot of me time and haven&#8217;t really put much out there on the website.</p><p>However, recently I built <a href="https://www.keyboardaccordion.com/">KeyboardAccordion.com</a>, a little one-page web app with Svelte and no other third-party dependencies. It uses the Web Audio API to make sounds with frequencies on a waveform. I made this app because I have one of these accordions and wanted to figure out how to play it. &#128578;</p><p>Here&#8217;s the article I wrote about how it works, if you&#8217;re interested:</p><h3><strong><a href="https://www.taniarascia.com/musical-instrument-web-audio-api/">Building a Musical Instrument with the Web Audio API</a></strong> </h3><p>It was a fun little project. Coding it was the easy part, practicing and learning how to play it is the hard part!</p><p>That&#8217;s all I have for now. I&#8217;m still working full-time and coding every day, and I hope to start writing more articles and creating more projects soon. </p>]]></content:encoded></item><item><title><![CDATA[Creating a schema-based form system]]></title><description><![CDATA[The Tao of React - don't hardcode markup]]></description><link>https://taniarascia.substack.com/p/creating-a-schema-based-form-system</link><guid isPermaLink="false">https://taniarascia.substack.com/p/creating-a-schema-based-form-system</guid><dc:creator><![CDATA[Tania Rascia]]></dc:creator><pubDate>Mon, 31 Jan 2022 17:53:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gqCV!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F97fdf10c-e7db-4b83-9d36-0ca5237627cb_960x960.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey there! Happy Monday.</p><p>I wrote an article:</p><h3><strong><a href="https://www.taniarascia.com/schema-based-form-system/">Creating a Schema-Based Form System</a></strong></h3><p>Writing forms as a front end developer can get pretty tedious, but bad abstractions are even worse. In this article, I describe how to make a system where you define a schema upfront and pass it into a component that handles values, errors, validation, dirty state, and submission.</p><ul><li><p><a href="https://www.taniarascia.com/schema-based-form-system/">View article</a></p></li><li><p><a href="https://github.com/taniarascia/react-advanced-form">View source</a></p></li><li><p><a href="https://taniarascia.github.io/react-advanced-form/">View demo</a></p></li></ul><p>Hope you enjoy it! This is a good practice to follow in general on the front end - try to put as much as you can in a data format as opposed to hardcoding markup. This is one of the tips outlined in the <a href="https://alexkondov.com/tao-of-react/#dont-hardcode-markup">tao of React.</a></p><p>I also added a sepia theme to my website for those of you (like me) who can&#8217;t look at a bright white screen for too long, along with some other tweaks.</p><p>Have a great week!</p>]]></content:encoded></item><item><title><![CDATA[Happy New Year!]]></title><description><![CDATA[2021 into 2022]]></description><link>https://taniarascia.substack.com/p/happy-new-year</link><guid isPermaLink="false">https://taniarascia.substack.com/p/happy-new-year</guid><dc:creator><![CDATA[Tania Rascia]]></dc:creator><pubDate>Mon, 03 Jan 2022 16:14:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gqCV!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F97fdf10c-e7db-4b83-9d36-0ca5237627cb_960x960.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey all,</p><p>Happy New Year! I made a little end/beginning of year post:</p><h3><strong><a href="https://www.taniarascia.com/2021-into-2022/">2021 into 2022 (year in review)</a></strong></h3><p>I mostly took it easy last year as far as writing and side projects are concerned, having only written seven posts on my website for the year. I started a new job, which took up a lot of my time. </p><p>For 2022, I&#8217;d like to get back into my hobbies, such as playing music, as well as writing more for the site, both tutorials and personal topics. </p><p>Hope you all have a great 2022 and a great first Monday of the year!</p><p></p>]]></content:encoded></item><item><title><![CDATA[Introduction to GraphQL]]></title><description><![CDATA[In case you're ready to look at code again.]]></description><link>https://taniarascia.substack.com/p/introduction-to-graphql</link><guid isPermaLink="false">https://taniarascia.substack.com/p/introduction-to-graphql</guid><dc:creator><![CDATA[Tania Rascia]]></dc:creator><pubDate>Sun, 28 Nov 2021 18:58:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gqCV!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F97fdf10c-e7db-4b83-9d36-0ca5237627cb_960x960.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey there! Hope you had a nice Thanksgiving weekend (if you&#8217;re in America) or regular weekend (if you&#8217;re anywhere else). </p><p>I took a week off and had a little staycation and didn&#8217;t open a computer or look at code for the whole week. It was a nice break from it all, which I like to do from time to time to avoid burnout. </p><p>I did write an article recently, an introduction to GraphQL! &#128071;</p><p><strong><a href="https://www.taniarascia.com/introduction-to-graphql/">Introduction to GraphQL</a> </strong></p><p>GraphQL seems kind of overwhelming at first (almost everything new does, at least to me) and a lot of articles out there are unclear or contradictory, so I decided to write up the fundamentals of what it is and why you might want to use it. I&#8217;ll be writing more GraphQL tutorials to come, so stay tuned if you&#8217;re interested in that. </p><p>The other thing I&#8217;m working on is an <a href="https://github.com/taniarascia/baba">implementation</a> of the game Baba Is You, which I think is an interesting project to play around with. I haven&#8217;t gotten very far yet, but I hope to work on that a bit in my free time. </p><p>That&#8217;s all from me for now, hope you have a great rest of the day and start to next week.</p>]]></content:encoded></item><item><title><![CDATA[Sorting, Filtering, and Pagination ]]></title><description><![CDATA[Hello!]]></description><link>https://taniarascia.substack.com/p/sorting-filtering-and-pagination</link><guid isPermaLink="false">https://taniarascia.substack.com/p/sorting-filtering-and-pagination</guid><dc:creator><![CDATA[Tania Rascia]]></dc:creator><pubDate>Fri, 22 Oct 2021 13:54:36 GMT</pubDate><enclosure url="https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/97fdf10c-e7db-4b83-9d36-0ca5237627cb_960x960.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi there! It&#8217;s Tania. It&#8217;s been a while since I&#8217;ve sent something out. I have something for you, just in time for the weekend!</p><p><a href="https://www.taniarascia.com/front-end-tables-sort-filter-paginate/">Front End Tables: Sorting, Filtering, Pagination</a></p><p>One thing I&#8217;ve done at practically every job I&#8217;ve had working on the front end is implement a table with sorting, filtering, and pagination. I decided to go through and demonstrate how to do that without any additional libraries in this article. I did it in React, but it can easily apply to anything else. Check it out!</p><p>That&#8217;s it from me. Other news in my life since the last time I updated is I got a cat, and I&#8217;ve started discovering the joys of being a morning person.  I also have some articles about GraphQL coming out, so expect that soonish.</p><p>Have a great weekend!</p><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Website Redesign! ❤️]]></title><description><![CDATA[Version 5.0, or something.]]></description><link>https://taniarascia.substack.com/p/website-redesign-</link><guid isPermaLink="false">https://taniarascia.substack.com/p/website-redesign-</guid><dc:creator><![CDATA[Tania Rascia]]></dc:creator><pubDate>Thu, 02 Sep 2021 14:04:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gqCV!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F97fdf10c-e7db-4b83-9d36-0ca5237627cb_960x960.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi! It&#8217;s me, Tania. I just have one really quick thing to share with you today, which I&#8217;m really excited about.</p><p>I redesigned my website. <strong><a href="https://www.taniarascia.com/">Check it out!</a></strong></p><p>Inspired by working in an IDE (Visual Studio Code) all day and mesmerized by its beauty, I decided to model my website after that environment. The site is a little more fun and interactive now, with some custom pixel art I made and theme/color switchers. </p><p>Of all the designs I&#8217;ve made, and that&#8217;s probably like 5,000 at this point, I think this is my favorite one yet! The best part is I wrote it up in one CSS file (which ended up being a little over 1,000 lines&#8230;) </p><p>Let me know what you think! I have a few little things to fix, but overall I&#8217;m really happy with it and I hope it helps people explore the site better.</p><p>The next thing I plan to write about is GraphQL, so stay tuned! </p><p>Have a good rest of the week.</p>]]></content:encoded></item><item><title><![CDATA[Sokoban Puzzle Game]]></title><description><![CDATA[Coding a puzzle game]]></description><link>https://taniarascia.substack.com/p/sokoban-puzzle-game</link><guid isPermaLink="false">https://taniarascia.substack.com/p/sokoban-puzzle-game</guid><dc:creator><![CDATA[Tania Rascia]]></dc:creator><pubDate>Mon, 26 Jul 2021 14:21:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!gqCV!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F97fdf10c-e7db-4b83-9d36-0ca5237627cb_960x960.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Good morning (or other time_of_day for you),</p><p>I made a little Sokoban puzzle game for fun and wrote a bit about it.</p><h4><strong><a href="https://taniarascia.github.io/sokoban/">Demo</a></strong></h4><p>Here&#8217;s the game. It uses HTML5 canvas to render data from a 2D array.</p><h4><strong><a href="https://www.taniarascia.com/sokoban-game/">Article</a></strong></h4><p>Here&#8217;s a little article I wrote about figuring out how to make the game.</p><p>Happy Monday!</p>]]></content:encoded></item></channel></rss>