<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Amit Novick</title>
    <description>The latest articles on Forem by Amit Novick (@amitnovick).</description>
    <link>https://forem.com/amitnovick</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F221687%2Fd746166f-f26f-44ee-8089-e3ffc8f9ac07.jpeg</url>
      <title>Forem: Amit Novick</title>
      <link>https://forem.com/amitnovick</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/amitnovick"/>
    <language>en</language>
    <item>
      <title>The Ripple Effect</title>
      <dc:creator>Amit Novick</dc:creator>
      <pubDate>Sat, 04 Jan 2020 20:52:49 +0000</pubDate>
      <link>https://forem.com/amitnovick/the-ripple-effect-gc0</link>
      <guid>https://forem.com/amitnovick/the-ripple-effect-gc0</guid>
      <description>&lt;p&gt;Since I started learning about implementing animations for the Web, I've been keeping an eye out for interesting interactions that I come across.&lt;/p&gt;

&lt;p&gt;A few weeks ago, I serendipitously found that my mouse clicks on some web app produced a sort of "gently reverberating" visual ripple.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fv6x0tjwmgp6smfta6hr3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fv6x0tjwmgp6smfta6hr3.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It was a pleasant feeling. it gave me the impression that my click action had registered, and that I should expect something to occur next.&lt;/p&gt;

&lt;p&gt;But from a practical perspective, it made me question just how much of a difference does it make for the user whether they get this effect after a click or just don't 🤔.&lt;/p&gt;

&lt;p&gt;And then, the figurative rock sank into my lake of understanding, that there is a gap between how an "ideal" user interacts with our app in a product demo video, and how actual users interact with it. The reality is that users missclick. A lot. Do you ever try to click something but end up just missing the mark by a tiny bit? no? well maybe you're a special snowflake, but in any case, I've had that happen to me as a user plenty of times when I was tired, or had my mind somewhere else or just wasn't being precise enough.&lt;/p&gt;

&lt;h1&gt;
  
  
  Rationale
&lt;/h1&gt;

&lt;p&gt;When a missclick happens, at best the user will promptly retry with another click, and not feel too bothered by it, but at worst, they'll feel frustrated and helpless 🙁. I've seen an awful lot of elderly people getting frustrated thinking that a program is stuck, when in fact, their click just barely grazed the perimeters of a button on their screen, without them realizing it. If you feel that this doesn't concern you and the app you're developing, then just know that this &lt;em&gt;will&lt;/em&gt; hurt conversion rate, and &lt;em&gt;will&lt;/em&gt; decrease user satisfaction.&lt;/p&gt;

&lt;p&gt;Other nice properties of the effect worth mentioning:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✨ Subtle enough to not draw attention to itself&lt;/li&gt;
&lt;li&gt;📱 Provides a sense of responsiveness on touchscreen devices on the Web where native &lt;a href="https://material.io/design/platform-guidance/android-haptics.html#usage" rel="noopener noreferrer"&gt;haptics API&lt;/a&gt; is not available (because the effect traverses in circular shape, seemingly triggered by the circular surface of our finger touching it)&lt;/li&gt;
&lt;li&gt;🌊 communicates &lt;em&gt;which&lt;/em&gt; surface was interacted with, by spreading throughout it, and not overflowing onto a surrounding surface&lt;/li&gt;
&lt;li&gt;🙋‍♀️🙋‍♂️ is already familiar to most users, thanks to Google's Material Design including it into the design system which guides the UI Toolkit powering billions of Android devices around the world. (in fact, it's built into Android's SDK)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Alright, that's fine and all, but if you're like me, and want to use it on the Web, then knowing that it comes out of the box in Android's SDK is no help. You want a re-creation of it to include in your Web app. So I dived in to figure out the necessary implementation details that make this possible on the Web.&lt;/p&gt;

&lt;h1&gt;
  
  
  Implementation
&lt;/h1&gt;

&lt;p&gt;Turns out, it's fairly straightforward to implement with some fundamental CSS unders (with the usual caveats of anything that involves CSS)&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Make sure that the button sets a relative position for its child (&lt;code&gt;relative&lt;/code&gt;, &lt;code&gt;absolute&lt;/code&gt;, &lt;code&gt;fixed&lt;/code&gt; and &lt;code&gt;sticky&lt;/code&gt; are all fine, but it can't be &lt;code&gt;static&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Give the button a &lt;code&gt;overflow: hidden;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Add a child, can be a psuedo-element or a DOM element, with &lt;code&gt;position:absolute&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Set the &lt;code&gt;top&lt;/code&gt; and &lt;code&gt;left&lt;/code&gt; of the child to the position obtained from the &lt;code&gt;onclick&lt;/code&gt; event&lt;/li&gt;
&lt;li&gt;Make the child circular with &lt;code&gt;border-radius: 50%&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Give the child some non-zero &lt;code&gt;opacity&lt;/code&gt; and choose a &lt;code&gt;background-color&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Animate the child's &lt;code&gt;transform&lt;/code&gt; with &lt;code&gt;scale()&lt;/code&gt; after calculating the encompassing circle's diameter, simultaneously animating the child's &lt;code&gt;opacity&lt;/code&gt; down to zero&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The Ripple is suitable for anything that can be clicked, for example gallery cards:&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/silly-moore-hiyv6"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;Of course, Radio buttons and Checkboxes go well with it as well:&lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://codesandbox.io/embed/hidden-http-4xr4y"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;The steps are basically frameworkless, so if you're using something like Vue or Angular it should work the same.&lt;/p&gt;

&lt;p&gt;Finally, it's worth mentioning that &lt;a href="https://material-ui.com/components/buttons" rel="noopener noreferrer"&gt;Material-UI&lt;/a&gt;, a popular React Web library implementing Material Design, offers the Ripple effect in its button components out of the box. So you can use Button, FAB, Radio or CheckBox components to get it as well.&lt;/p&gt;

&lt;p&gt;This has been my first post on Web Animations. If you're like me, and always looking to level up your frontend skills, then stay tuned for my upcoming content where I will introduce some more concepts and techniques that will help you develop some great UI's!&lt;br&gt;
&lt;strong&gt;Hope you liked it!&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Thank you for reading 🙂&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>ux</category>
    </item>
    <item>
      <title>A Catalog of Your Files</title>
      <dc:creator>Amit Novick</dc:creator>
      <pubDate>Sat, 31 Aug 2019 21:40:49 +0000</pubDate>
      <link>https://forem.com/amitnovick/a-catalog-of-your-files-2nd7</link>
      <guid>https://forem.com/amitnovick/a-catalog-of-your-files-2nd7</guid>
      <description>&lt;p&gt;My life revolves around digital files. Every piece of data important to me is represented as a file on my computer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📝 Notes that I take throughout the day&lt;/li&gt;
&lt;li&gt;🧾 Invoices and periodic financial reports&lt;/li&gt;
&lt;li&gt;🌐 A collection of website addresses&lt;/li&gt;
&lt;li&gt;📚 A collection of (e)Books&lt;/li&gt;
&lt;li&gt;🎵 A collection of audio files (Music, podcasts)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Files have become integral to my creative work and organizational capabilities, and I have amassed quite a lot of them by now.&lt;/p&gt;

&lt;p&gt;But this post isn't about me specifically, since I'm certainly not the only person managing a lot of files. So if you have a &lt;strong&gt;substantial collection of files that are important to you&lt;/strong&gt; on the computer, then this post is definitely for you!&lt;/p&gt;

&lt;h1&gt;
  
  
  The Problem I Had
&lt;/h1&gt;

&lt;p&gt;As the volume of my files grew over time, I experimented with my computer's File-and-Folder management tools as possible solutions towards better organization of my always-growing collection.&lt;/p&gt;

&lt;p&gt;My results have been the following: if you are interested in replicating an existing File-and-Folder system from your physical world, then the digital File-and-Folder tools (Windows File Explorer, Mac Finder) are probably the best you can get, since they represent physical objects (🖹 📁), only in digital format.&lt;/p&gt;

&lt;p&gt;But for anyone like myself who wants to be completely digital, I argue that the File-and-Folder system is inferior in usability to &lt;strong&gt;a slightly different system which I will introduce in this post&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In the File-and-Folder system, the file is a unit of content, and the folder is the building block for making hierarchies of categories.&lt;/p&gt;

&lt;p&gt;Putting a file in a folder is meant to signify: "this content belongs to this category". And since folders can be put inside other folders, this allows a more elaborate hierarchy of implications. Indeed, putting a folder inside another folder is meant to signify: "this narrow category is a part of that broader category".&lt;/p&gt;

&lt;p&gt;This means that creating an association between a file and the folder hierarchy involves identifying a single suitable folder and inserting the file into it.&lt;/p&gt;

&lt;p&gt;But what happens when there isn't a single suitable folder? what if we want the same file to be accessible via two different folders? 🤔 the File-and-Folder system forces us to choose between multiple equally horrible solutions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Decide which folder makes the most sense and try to forget about the association with the other folder (👎 and be disappointed when you can't find this file under the neglected folder when you look for it later on)&lt;/li&gt;
&lt;li&gt;Copy the file and put it under both folders (👎 the two files will go out of sync as soon as you make a modification to one of them)&lt;/li&gt;
&lt;li&gt;Combine all the files of the first folder with all the files of the second folder (👎 and lose the fine-grained categorization the two folders provided)&lt;/li&gt;
&lt;li&gt;Ponder your hierarchy structure for awhile and make a grand re-structuring so that Everything Makes Sense Again™️ with the new file in it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To be fair, the last solution isn't totally horrible, as hierarchies often need to be re-structured in order to remain usable with the addition of new content. However, I found it to be too strict since it forced me to do the re-structuring upfront, which is inconvenient. My hypothesis on that is that our mental models of the hierarchy take time to adapt with each re-structuring that occurs, and so ideally we should delay it until our minds have fully wrapped around it.&lt;/p&gt;

&lt;h1&gt;
  
  
  My Solution
&lt;/h1&gt;

&lt;p&gt;I propose to use a slightly different system than the File-and-Folder one.&lt;/p&gt;

&lt;p&gt;Instead of the folder to file relationship being a one-to-many, this system offers a many-to-many relationship.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fxle535nkmfbxk1t2dwc5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fxle535nkmfbxk1t2dwc5.png" alt="Filesystem vs. Catalog: Comparison Diagram"&gt;&lt;/a&gt;&lt;/p&gt;
Left: traditional filesystem. Right: proposed system



&lt;p&gt;From the image above, the diagram on the left is the traditional filesystem: files depend on the folder hierarchy, and can only connect to a single folder.&lt;/p&gt;

&lt;p&gt;In contrast, the diagram on the right is my proposed hierarchy, where files are completely independent from the category hierarchy, and can connect to multiple categories (or none!).&lt;/p&gt;

&lt;p&gt;In the physical world, this is impossible to achieve, since a file can only be contained inside a single parent folder at any given time, but computers 🤖 don't have to be restricted to what folders are like in the physical world, and can be programmed to deal with files that have multiple parent folders, or rather categories.&lt;/p&gt;

&lt;p&gt;But I'm not here just to tell you that computers &lt;strong&gt;can&lt;/strong&gt; work with this suggested system, but also that &lt;strong&gt;I have successfully implemented this system and use it every day&lt;/strong&gt; for organizing my files.&lt;/p&gt;

&lt;p&gt;I named this program &lt;strong&gt;Catalog&lt;/strong&gt; because the idea is very much that each user is a &lt;em&gt;cataloger&lt;/em&gt; and is given the power to classify his content by way of assigning categories to it.&lt;/p&gt;

&lt;p&gt;Catalog is really easy to get started with, and users of File-and-Folder tools should find it intuitive to use. 👍 For example, Catalog has an interface for navigating the categories hierarchy which is strikingly similar to the interface you would already be using for navigating your folder hierarchy:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fvuyl55hgc7t0riiuq87h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fvuyl55hgc7t0riiuq87h.png" alt="Catalog: navigating the categories hierarchy"&gt;&lt;/a&gt;&lt;/p&gt;
Catalog: navigating the categories hierarchy



&lt;p&gt;In short, Catalog is an open-source software which I maintain in my spare time, and is available for users on all platforms: &lt;strong&gt;Windows, Mac and Linux&lt;/strong&gt;. It is 100% &lt;strong&gt;free of charge&lt;/strong&gt; and doesn't require registration. Catalog also doesn't require an internet connection which means that it will run on your computer no matter where you go.&lt;/p&gt;

&lt;p&gt;I welcome you to give Catalog a try: &lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/amitnovick" rel="noopener noreferrer"&gt;
        amitnovick
      &lt;/a&gt; / &lt;a href="https://github.com/amitnovick/catalog" rel="noopener noreferrer"&gt;
        catalog
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Catalog - a file manager application for Desktop
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/amitnovick/catalog/blob/master/docs/horizontal-logo.png?raw=true"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2Famitnovick%2Fcatalog%2Fraw%2Fmaster%2Fdocs%2Fhorizontal-logo.png%3Fraw%3Dtrue" width="350" alt="Catalog Logo"&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;In library and information science, cataloging is the process of creating metadata representing
information resources, such as books, sound recordings, moving images, etc.&lt;/p&gt;
&lt;p&gt;-- WIkipedia, the Free Encyclopedia&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Catalog is a free, open-source file manager application. It helps organize files on local drives by
adding categories to files. Users get the same user interface to manage their files on different
platforms. Catalog is compatible with Windows, Linux and Mac. The application requires neither
internet connection, nor user's registration to run on desktop devices.&lt;/p&gt;
&lt;div&gt;
  &lt;a rel="noopener noreferrer nofollow" href="https://raw.githubusercontent.com/amitnovick/catalog/master/docs/app-screenshot.png"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Famitnovick%2Fcatalog%2Fmaster%2Fdocs%2Fapp-screenshot.png" width="700" alt="Catalog App Screenshot"&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Downloads&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Desktop application&lt;/h3&gt;
&lt;/div&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Operating System&lt;/th&gt;
&lt;th&gt;Download&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Windows&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/amitnovick/catalog/releases/download/v0.6.31/catalog-setup-0.6.31.exe" rel="noopener noreferrer"&gt;&lt;img alt="Get it on Windows" width="134px" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Famitnovick%2Fcatalog%2Fmaster%2Fdocs%2FBadgeWindows.png"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;macOS&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/amitnovick/catalog/releases/download/v0.6.31/Catalog-0.6.31.dmg" rel="noopener noreferrer"&gt;&lt;img alt="Get it on macOS" width="134px" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Famitnovick%2Fcatalog%2Fmaster%2Fdocs%2FBadgeMacOS.png"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Linux&lt;/td&gt;
&lt;td&gt;&lt;a href="https://github.com/amitnovick/catalog/releases/download/v0.6.31/catalog-0.6.31.AppImage" rel="noopener noreferrer"&gt;&lt;img alt="Get it on Linux" width="134px" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Famitnovick%2Fcatalog%2Fmaster%2Fdocs%2FBadgeLinux.png"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Web Clipper browser extension&lt;/h3&gt;
&lt;/div&gt;
&lt;p&gt;The Web Clipper browser extension is an &lt;strong&gt;optional&lt;/strong&gt; companion to the Desktop application, It offers
the ability to capture screenshots from websites for later reference.&lt;/p&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Browser&lt;/th&gt;
&lt;th&gt;Download&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Firefox&lt;/td&gt;
&lt;td&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/catalog-web-clipper/" rel="nofollow noopener noreferrer"&gt;&lt;img alt="Get extension for Firefox" width="134px" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Famitnovick%2Fcatalog%2Fmaster%2Fdocs%2Fwebclipper-badge-firefox-172x60px.png"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Chrome&lt;/td&gt;
&lt;td&gt;&lt;a href="https://chrome.google.com/webstore/detail/catalog-web-clipper/oocdimepfbgcmbokkmfcpjmglbcclnlj" rel="nofollow noopener noreferrer"&gt;&lt;img alt="Get extension for Google Chrome" width="134px" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Famitnovick%2Fcatalog%2Fmaster%2Fdocs%2Fwebclipper-badge-google-chrome-340x96.png"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Motivation&lt;/h2&gt;

&lt;/div&gt;
&lt;p&gt;Digital file organization using folders is inefficient due to limitations of the folder concept
itself. Catalog offers an alternative way to organize files using…&lt;/p&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/amitnovick/catalog" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Please let me know if you have any issues by commenting below or even better: by opening an issue on GitHub.&lt;br&gt;
I would also appreciate it if you ⭐️ or ❤️.&lt;br&gt;
Thank you for reading!&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
