<?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>DEV Community: Parminder Singh</title>
    <description>The latest articles on DEV Community by Parminder Singh (@theparminders).</description>
    <link>https://dev.to/theparminders</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%2F1254645%2F9983c337-15b5-4002-9b09-c8df7a85aa93.png</url>
      <title>DEV Community: Parminder Singh</title>
      <link>https://dev.to/theparminders</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/theparminders"/>
    <language>en</language>
    <item>
      <title>Introducing Usage Tips, Copy Code Snippets and Help Bar — Griv</title>
      <dc:creator>Parminder Singh</dc:creator>
      <pubDate>Thu, 15 Feb 2024 18:58:34 +0000</pubDate>
      <link>https://dev.to/theparminders/introducing-usage-tips-copy-code-snippets-and-help-bar-marvin-24lo</link>
      <guid>https://dev.to/theparminders/introducing-usage-tips-copy-code-snippets-and-help-bar-marvin-24lo</guid>
      <description>&lt;p&gt;We are thrilled to announce that &lt;a href="https://grivhq.com"&gt;Griv&lt;/a&gt; 2.5.0 is out 🥳. Here is what’s new in this release.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Usage Tips 🤌
&lt;/h2&gt;

&lt;p&gt;So far, our users depended on emails and website updates to know what’s new in the latest version. From here on, whenever we release a new version, you’ll get the list of changes and usage tips right within the app.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzbi81xm8nbgmeg3fe4lc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzbi81xm8nbgmeg3fe4lc.png" alt="Usage Tips" width="800" height="645"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Copy Code Snippets 👨‍💻
&lt;/h2&gt;

&lt;p&gt;We know it’s a pain to manually copy the code snippets. We’ve introduced a copy button right inside the code snippets to make it convenient for you. Little things matter and we know you’d appreciate that. 😊&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqtdootli2ayge83kpds3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqtdootli2ayge83kpds3.png" alt="Copy Code Snippets" width="800" height="645"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Help And Testimonial Bar ❤️
&lt;/h2&gt;

&lt;p&gt;Need to contact us 📝 or want to leave us a review/testimonial? To make it easy, we’ve introduced an option in the app to do that.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9lcilhkgco274c0sjc8r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9lcilhkgco274c0sjc8r.png" alt="Help Bar" width="800" height="645"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Bug Fixes 🪲
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Improved chat message formatting.&lt;/li&gt;
&lt;li&gt;The search results were a bit off the mark, so we improved them.&lt;/li&gt;
&lt;li&gt;Layout issues on the settings screen in some resolutions.&lt;/li&gt;
&lt;li&gt;Some more minor tweaks ⚙️.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ready to use ChatGPT on your Mac? Download &lt;a href="https://grivhq.com"&gt;Griv&lt;/a&gt; and unleash your productivity. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://grivhq.com"&gt;https://grivhq.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In case you have any questions or feedback for us, do contact us at &lt;a href="mailto:support@starlabs.ai"&gt;support@starlabs.ai&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>ai</category>
      <category>macos</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Switch LLMs Instantly, New Shortcuts and bug fixes — Griv</title>
      <dc:creator>Parminder Singh</dc:creator>
      <pubDate>Mon, 05 Feb 2024 22:40:20 +0000</pubDate>
      <link>https://dev.to/theparminders/switch-llms-instantly-new-shortcuts-and-bug-fixes-marvin-2ff7</link>
      <guid>https://dev.to/theparminders/switch-llms-instantly-new-shortcuts-and-bug-fixes-marvin-2ff7</guid>
      <description>&lt;p&gt;&lt;a href="https://grivhq.com"&gt;Griv&lt;/a&gt; 2.4.0 is out 🥳. Thank you all for your feedback. Keep it coming. Here is what’s new in this release&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Switch LLM — Instantly ⚡️
&lt;/h2&gt;

&lt;p&gt;In our latest release, we introduced a feature that lets you choose the LLM you prefer (GPT 3.5 or GPT 4). Some of you mentioned that having this switch easily accessible would be helpful, as you frequently switch between GPT 4 and GPT 3.5 to save costs. Well, the wait is over. In this latest release, you can switch the LLM with just one click (the button is located right next to the input box).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9niy6jijq9zpo7oo1q57.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9niy6jijq9zpo7oo1q57.png" alt="Switch LLM Button" width="800" height="625"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Shortcut List ⌨️
&lt;/h2&gt;

&lt;p&gt;Griv is built for your keyboard. To explore the available shortcuts in Griv, we have included a convenient shortcut list accessible from the menu.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F80w2e5zq2vof41o6umrd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F80w2e5zq2vof41o6umrd.png" alt="Shortcut list" width="800" height="622"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Shortcuts for ‘Settings’ ⚙️
&lt;/h2&gt;

&lt;p&gt;We have added new shortcuts for easy navigation to the ‘Settings’ and ‘Chat’ sections.&lt;/p&gt;

&lt;p&gt;Navigate to Settings: ⌘+, (Cmd + Comma)&lt;br&gt;
Back from Settings to Chat: ⌘+[ (Cmd + Left Square Bracket)&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Bug Fixes 🐞
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Sending the first message in a new conversation would crash the app at times.&lt;/li&gt;
&lt;li&gt;Http links wouldn’t open in the external browser.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ready to unleash your productivity? Download Griv at &lt;a href="https://grivhq.com"&gt;https://grivhq.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;In case you have any questions or feedback for us, do contact us at &lt;a href="mailto:support@starlabs.ai"&gt;support@starlabs.ai&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>productivity</category>
      <category>ai</category>
      <category>macos</category>
    </item>
    <item>
      <title>Introducing GPT-4 Support, Syntax Highlighting and more — Griv</title>
      <dc:creator>Parminder Singh</dc:creator>
      <pubDate>Tue, 30 Jan 2024 20:48:02 +0000</pubDate>
      <link>https://dev.to/theparminders/introducing-gpt-4-support-syntax-highlighting-and-more-marvin-1och</link>
      <guid>https://dev.to/theparminders/introducing-gpt-4-support-syntax-highlighting-and-more-marvin-1och</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;a href="https://grivhq.com"&gt;Griv&lt;/a&gt; is a snappy ChatGPT client for your Mac. Invoke it with a hotkey and harness the power of AI within your workflows. Get it at &lt;a href="https://grivhq.com"&gt;https://grivhq.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We’re excited to launch Griv v2.3.1 📣. Read on to learn about the changes in this latest version.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. GPT-4 Support
&lt;/h2&gt;

&lt;p&gt;Until now, Griv has been using GPT-3.5-Turbo internally. However, you now have the option to use GPT-4 if you prefer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2qxa4hi1hr27sh1klmk2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2qxa4hi1hr27sh1klmk2.png" alt="ChatGPT4 Support" width="800" height="669"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Syntax Highlighting
&lt;/h2&gt;

&lt;p&gt;Code blocks are now displayed with beautiful syntax highlighting.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4huefsykljgfw2d0zjld.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4huefsykljgfw2d0zjld.png" alt="Code Highlight" width="800" height="639"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Shortcut to Search Conversations 🔎
&lt;/h2&gt;

&lt;p&gt;In our last update, we introduced ‘Search Conversations’ to our software. To enhance your search experience, we have also added a keyboard shortcut ⌘+⇧+F (Cmd+Shift+F). This shortcut allows you to quickly initiate your search, making it easier and more convenient. Try it now and experience lightning-fast searching with just a few keystrokes! ⚡&lt;/p&gt;

&lt;p&gt;Ready to unleash your productivity? Download Griv at &lt;a href="https://grivhq.com"&gt;https://grivhq.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Contact &lt;a href="mailto:support@starlabs.ai"&gt;support@starlabs.ai&lt;/a&gt; ✍ for any questions or feature requests.&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>ai</category>
      <category>productivity</category>
      <category>macos</category>
    </item>
    <item>
      <title>💰Using ChatGPT-4 without the $20 Monthly Subscription!🤫</title>
      <dc:creator>Parminder Singh</dc:creator>
      <pubDate>Mon, 29 Jan 2024 21:52:46 +0000</pubDate>
      <link>https://dev.to/theparminders/using-chatgpt-4-without-the-20-monthly-subscription-3g03</link>
      <guid>https://dev.to/theparminders/using-chatgpt-4-without-the-20-monthly-subscription-3g03</guid>
      <description>&lt;p&gt;There is no doubt that ChatGPT-4 is significantly better ⚡️ than ChatGPT-3, but it comes with a monthly subscription fee of $20 💸. On the other hand, ChatGPT-3 is available for free.&lt;/p&gt;

&lt;p&gt;So, how can you access ChatGPT-4 without the $20 monthly subscription? 🤔&lt;/p&gt;

&lt;p&gt;ChatGPT-4 is available to consumers through two methods:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;ChatGPT Plus subscription:&lt;/strong&gt; Costs $20 per month, which is straightforward to comprehend and easily accessible. You just need to provide your credit card information 💳, and you’re all set to utilize the service.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;ChatGPT-4 APIs:&lt;/strong&gt; You can access the ChatGPT-4 model through its APIs 🌐. This type of access follows a pay-per-use model, commonly referred to as pay-per-message. The cost per message is affordable enough that if you utilize ChatGPT-4 exclusively using this method for the entire month, it is likely that your monthly bill will be lower than $20. More on these calculations later.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  ChatGPT Plus vs ChatGPT-4 APIs
&lt;/h2&gt;

&lt;p&gt;There are a few key differences that you should take into account when considering these two options.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User Interface:&lt;/strong&gt; When you opt for the ChatGPT Plus Subscription, you will utilize the ChatGPT’s web interface developed by OpenAI. However, if you choose to use ChatGPT-4 via APIs, you will either need to write code to access the APIs 😫 or use a third-party client like &lt;a href="https://grivhq.com"&gt;Griv&lt;/a&gt; (shameless plug alert 😎). &lt;a href="https://grivhq.com"&gt;Griv&lt;/a&gt; greatly enhances the ChatGPT experience. To begin with, you can access &lt;a href="https://grivhq.com"&gt;Griv&lt;/a&gt; instantly on your Mac using a hotkey ⌨️, eliminating the hassle of searching for the browser tab and disrupting your workflow. Additionally, &lt;a href="https://grivhq.com"&gt;Griv&lt;/a&gt; allows you to search your ChatGPT conversations 🔎, a feature that is lacking in ChatGPT’s web interface.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Monthly Pricing:&lt;/strong&gt; When using ChatGPT Plus Subscription, you pay a fixed price of $20 per month, regardless of your usage. On the other hand, with API access, you pay based on how much you use it. For most people, using APIs would cost significantly less than paying the $20 monthly subscription fee. However, if you are a heavy user, the scale can tip ⚖️ against the API option, making it more expensive for you. In that case, sticking with the ChatGPT Plus Subscription might be more cost-effective. Ultimately, the decision depends on your 🫵 specific usage. To help with this decision, here is a simple breakdown 🧮.&lt;/p&gt;

&lt;p&gt;For a $20/month subscription, you can have virtually unlimited conversations with ChatGPT-4. Now, let’s compare this with what you can get using the APIs. At the time of writing, ChatGPT-4 APIs cost $0.03 per 1,000 tokens for input and $0.06 per 1,000 tokens for output. Assuming you allocate 30% of the $20 for input and 70% for output, you would be able to input approximately 150,000 words and receive around 175,000 words of output.&lt;/p&gt;

&lt;p&gt;To put this into perspective, if an essay 📝 is about 1,000 words long, you would be able to input approximately 150 essays and receive around 175 essays as output for $20 within a month using the APIs.&lt;/p&gt;

&lt;p&gt;In summary, if you estimate that you will provide fewer than 150 essay-length inputs and receive fewer than 175 essay-length outputs per month, it may be more financially beneficial for you to use the ChatGPT-4 API. (think &lt;a href="https://grivhq.com"&gt;Griv&lt;/a&gt; 💭). However, if your usage exceeds these limits, it would be more cost-effective to subscribe to ChatGPT Plus. Please keep in mind that these calculations are only approximations.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;a href="https://grivhq.com"&gt;Griv&lt;/a&gt; is a snappy ChatGPT client for your Mac. Invoke it with a hotkey and harness the power of AI within your workflows. Get it at &lt;a href="https://grivhq.com"&gt;https://grivhq.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F61gp1e5yb93dmu7sdi8x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F61gp1e5yb93dmu7sdi8x.png" alt="Griv Screenshot" width="800" height="615"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you’d like to explore Griv, do check it out at &lt;a href="https://grivhq.com"&gt;https://grivhq.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>macos</category>
      <category>chatgpt</category>
      <category>productivity</category>
      <category>ai</category>
    </item>
    <item>
      <title>🔍 Search in ChatGPT | Griv</title>
      <dc:creator>Parminder Singh</dc:creator>
      <pubDate>Thu, 25 Jan 2024 18:08:49 +0000</pubDate>
      <link>https://dev.to/theparminders/search-in-chatgpt-marvin-4f0b</link>
      <guid>https://dev.to/theparminders/search-in-chatgpt-marvin-4f0b</guid>
      <description>&lt;p&gt;ChatGPT 🤖 has become an indispensable part of our lives, so much so that I found myself frequently using it. 😄 This prompted us to create Griv, an easy and convenient way to access ChatGPT. 🚀&lt;/p&gt;

&lt;p&gt;Over time ⏰, you will engage in numerous conversations with ChatGPT. Occasionally, you may find the need to reference your past conversation(s) 💬. Surprisingly 🤯, there is currently no way to search your ChatGPT conversations. To address this issue, we have been diligently working on incorporating a search feature into Griv 🔎. Today, we are excited to announce the launch of the latest version of Griv with search capabilities 🎉.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;a href="https://grivhq.com"&gt;Griv&lt;/a&gt; is a snappy ChatGPT client for your Mac. Invoke it with a hotkey and harness the power of AI within your workflows. Get it at &lt;a href="https://grivhq.com"&gt;https://grivhq.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Following are the instructions 📝, complete with screenshots 📸, to understand how search works in Griv.&lt;/p&gt;

&lt;h2&gt;
  
  
  🕵️‍♂️ Search Conversations
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; If you haven’t used Griv, download it 🛜 at &lt;a href="https://grivhq.com"&gt;https://grivhq.com&lt;/a&gt;. If you’re already using Griv, it will automatically download the latest version (within 24 hours if it hasn’t already done so).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Hit the ‘Menu’ icon on the top left to open the sidebar.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;💡Pro tip, use the shortcut (⌘+\) to open the sidebar&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwpfslidr3t14edl460h9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwpfslidr3t14edl460h9.png" alt="Sidebar Menu Button" width="800" height="615"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Click the Search box on the sidebar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4swrqo6cdin0eqc6yldi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4swrqo6cdin0eqc6yldi.png" alt="Search Box" width="800" height="615"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; Type ⌨️ your search query/keyword and hit ‘Enter’.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1atr4rae0jhb1hl8ek32.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1atr4rae0jhb1hl8ek32.png" alt="Search list" width="800" height="615"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Note: Search results will include conversations created using Griv on your device only. Conversations created using ChatGPT’s web interface will not be included in the search results.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ready to unleash your productivity? Download Griv at &lt;a href="https://grivhq.com"&gt;https://grivhq.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Contact &lt;a href="mailto:support@starlabs.ai"&gt;support@starlabs.ai&lt;/a&gt; ✍ for any questions or feature requests.&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>macos</category>
      <category>productivity</category>
      <category>ai</category>
    </item>
    <item>
      <title>Introducing Multiple Conversations 💬 &amp; Keyboard Shortcuts — Griv</title>
      <dc:creator>Parminder Singh</dc:creator>
      <pubDate>Thu, 18 Jan 2024 23:28:03 +0000</pubDate>
      <link>https://dev.to/theparminders/introducing-multiple-conversations-keyboard-shortcuts-marvin-2o27</link>
      <guid>https://dev.to/theparminders/introducing-multiple-conversations-keyboard-shortcuts-marvin-2o27</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Griv is a snappy ChatGPT client for your Mac. Invoke it with a hotkey and harness the power of AI within your workflows. Get it at &lt;a href="https://grivhq.com"&gt;https://grivhq.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You use LLMs such as ChatGPT 🤖 for various tasks throughout the day, and the context may differ significantly for each task. Therefore, you may need to initiate new conversations 💬 with ChatGPT frequently.&lt;/p&gt;

&lt;p&gt;We understand that and to address it, we are excited 🥳 to announce that we are bringing support for multiple conversations to Griv. Additionally, we have added keyboard shortcuts ⌨️ to facilitate easy navigation for all the common actions within the product.&lt;/p&gt;

&lt;p&gt;Following are comprehensive instructions 📝, complete with screenshots 📸, to understand how these new features work.&lt;/p&gt;

&lt;h3&gt;
  
  
  💬 Multiple Conversations
&lt;/h3&gt;

&lt;p&gt;With this new version (v.2.2.0), you’ll be able to start more than one conversation in the product. Here are the steps to do it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; If you’re not using Griv, download it 🛜 at &lt;a href="https://grivhq.com"&gt;https://grivhq.com&lt;/a&gt;. If you’re already using Griv, it will automatically download the latest version (within 24 hours if it hasn’t already done so).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Hit the ‘Menu’ icon on the top left to open the sidebar.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡&lt;em&gt;Pro tip, use the shortcut (⌘+\) to open the sidebar&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkezb2o6lckm0vfoa9o4e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkezb2o6lckm0vfoa9o4e.png" alt="Menu Icon" width="800" height="646"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Hit the ‘New Chat’ button to start a 🆕 conversation.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡&lt;em&gt;Pro tip, use the shortcut (⌘+N) to start a new conversation&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiz7xzwomlxeuoh5sfqkr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiz7xzwomlxeuoh5sfqkr.png" alt="New Chat" width="800" height="644"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; You’re all set 🎉. You have successfully started a new conversation!&lt;/p&gt;

&lt;h3&gt;
  
  
  ⌨️ Built for your keyboard
&lt;/h3&gt;

&lt;p&gt;Effortlessly breeze through your tasks with lightning-fast keyboard shortcuts ⚡️.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Launch Griv:&lt;/strong&gt; ⌥+Space (Option+Space)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Toggle the sidebar:&lt;/strong&gt; ⌘+\ (Command+Backslash)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Send Message:&lt;/strong&gt; ↵ (Enter)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create New Message:&lt;/strong&gt; ⌘+N (Cmd+N)&lt;/p&gt;

&lt;p&gt;Ready to unleash your productivity? Download Griv at &lt;a href="https://grivhq.com"&gt;https://grivhq.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Contact &lt;a href="mailto:support@starlabs.ai"&gt;support@starlabs.ai&lt;/a&gt; ✍ for any questions or feature requests.&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>productivity</category>
      <category>macos</category>
      <category>ai</category>
    </item>
    <item>
      <title>🤖 Access ChatGPT on your Mac, Instantly</title>
      <dc:creator>Parminder Singh</dc:creator>
      <pubDate>Thu, 18 Jan 2024 05:45:03 +0000</pubDate>
      <link>https://dev.to/theparminders/access-chatgpt-on-your-mac-instantly-6n0</link>
      <guid>https://dev.to/theparminders/access-chatgpt-on-your-mac-instantly-6n0</guid>
      <description>&lt;p&gt;ChatGPT is truly an amazing breakthrough in the field of artificial intelligence. Its ability to generate human-like responses in real-time, engaging with users in natural conversations, is nothing short of extraordinary.&lt;/p&gt;

&lt;p&gt;Once you’ve experienced ChatGPT, there’s no turning back. It won’t be long before you find yourself relying on ChatGPT multiple times throughout the day. While OpenAI offers a web interface for accessing and using ChatGPT, when you become a frequent user, you’ll seek a more convenient and efficient way to access it. In this article, we will delve into a simpler and faster method to access ChatGPT on your Mac. To achieve this, we will explore the process of downloading a third-party app (Griv) and setting it up. By following these few steps, you’ll be ready to effortlessly enjoy the benefits of ChatGPT on your Mac.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Download Griv
&lt;/h3&gt;

&lt;p&gt;Navigate to &lt;a href="https://grivhq.com"&gt;https://grivhq.com&lt;/a&gt; and download the app.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Start Griv
&lt;/h3&gt;

&lt;p&gt;Search for Griv in Spotlight (⌘+space) and open it. It might hide itself the first time you start it (by design), but you can always invoke it with the hotkey at any time. The default hotkey is ‘⌥+Space’ (Option+Space).&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Create an OpenAI account
&lt;/h3&gt;

&lt;p&gt;Navigate to the OpenAI website and create an account. If you already have an OpenAI account, you may skip this step.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://platform.openai.com/signup"&gt;https://platform.openai.com/signup&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Recharge your OpenAI account
&lt;/h3&gt;

&lt;p&gt;Recharge your OpenAl account at the link below. If you’re unsure of the amount, it is recommended to start with $5.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://platform.openai.com/account/billing/overview"&gt;https://platform.openai.com/account/billing/overview&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;This step is necessary only if your credit balance is $0 (check your credit balance &lt;a href="https://platform.openai.com/account/billing/overview"&gt;here&lt;/a&gt;). If you already have credit balance in your OpenAI account, you may skip this step.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3segka8z39m4hsef4u4g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3segka8z39m4hsef4u4g.png" alt="Billing Setting" width="800" height="810"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Create a new OpenAI secret key
&lt;/h3&gt;

&lt;p&gt;Generate a new secret key at the link below. If you already have a key, you may skip this step.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://platform.openai.com/api-keys"&gt;https://platform.openai.com/api-keys&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1bz04h1vizkq5h9567k4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1bz04h1vizkq5h9567k4.png" alt="API Key" width="800" height="588"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 6: Add your OpenAI key in Griv
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Open Griv (the default shortcut is ‘⌥+Space’). If that doesn’t work, it is likely that Griv is not running on your Mac. Refer to “Step 2” above and follow the instructions to start it. Once it is running, you can return to this step.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Hit the ‘Menu’ button (⋮) and select ‘Settings’.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa0db0j6h0f2iuhwwn5nh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa0db0j6h0f2iuhwwn5nh.png" alt="Navigate To Settings" width="800" height="674"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Paste your OpenAI key, then remember to click ‘Save’.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F83ulrsdzvvtdegk8av9y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F83ulrsdzvvtdegk8av9y.png" alt="Settings" width="800" height="674"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 7: You’re all set!
&lt;/h3&gt;

&lt;p&gt;ChatGPT is now available whenever you need it. Use the hotkey to invoke Griv anytime and unleash your productivity.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Pro tip, you can change the hotkey in the ‘Settings’ section if you’d like.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In case you have any problem in setting up Griv, you can contact their team at &lt;code&gt;support@starlabs.ai&lt;/code&gt;.&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>productivity</category>
      <category>ai</category>
      <category>macbook</category>
    </item>
    <item>
      <title>⚡️Supercharge Developer Productivity with ChatGPT!</title>
      <dc:creator>Parminder Singh</dc:creator>
      <pubDate>Thu, 11 Jan 2024 21:57:01 +0000</pubDate>
      <link>https://dev.to/theparminders/supercharge-developer-productivity-with-chatgpt-1jln</link>
      <guid>https://dev.to/theparminders/supercharge-developer-productivity-with-chatgpt-1jln</guid>
      <description>&lt;p&gt;Unless you’ve been living under a rock, you’ve probably heard the buzz surrounding ChatGPT 🤖 and other LLMs. People worldwide are harnessing the power of these technologies to skyrocket their productivity at work and in their personal lives. As a developer, I’ve been utilizing ChatGPT for a while now, and it has truly revolutionized my productivity. Allow me to share some real-life examples of how ChatGPT has transformed my efficiency. 💪✨&lt;/p&gt;

&lt;h2&gt;
  
  
  Writing Complex (or Mundane) Code
&lt;/h2&gt;

&lt;p&gt;When you’re developing with multiple considerations and tight timelines ⏳, delving into intricate details, especially domain-specific ones, can distract and hinder your progress. It’s crucial to maintain focus 🎧 and avoid unnecessary slowdowns. Recently, while working on a Minimum Viable Product (MVP), I encountered a situation where I needed to determine if the contents of an input file were ASCII, UTF-8, or binary. Rather than spending time researching 🔎 the disparities between Unicode and binary and creating the logic from scratch, I opted to seek assistance from ChatGPT. With a simple prompt, I effortlessly 🚀 generated the following function to accomplish the task at hand. Here’s the code provided by ChatGPT: 💡🤖&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight cpp"&gt;&lt;code&gt;&lt;span class="cp"&gt;#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;iostream&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
#include&lt;/span&gt; &lt;span class="cpf"&gt;&amp;lt;cstring&amp;gt;&lt;/span&gt;&lt;span class="cp"&gt;
&lt;/span&gt;
&lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;EncodingType&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;ASCII&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;UTF8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;BINARY&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;

&lt;span class="n"&gt;EncodingType&lt;/span&gt; &lt;span class="nf"&gt;detectEncoding&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;unsigned&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;bytes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;reinterpret_cast&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="kt"&gt;unsigned&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt;&lt;span class="o"&gt;*&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="c1"&gt;// Check for BOM (Byte Order Mark) indicating UTF-8&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;bytes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mh"&gt;0xEF&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;bytes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mh"&gt;0xBB&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;bytes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mh"&gt;0xBF&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;EncodingType&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;UTF8&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// BOM detected, assume UTF-8&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="kt"&gt;bool&lt;/span&gt; &lt;span class="n"&gt;containsNonASCII&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kt"&gt;size_t&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;strlen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;bytes&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&lt;/span&gt; &lt;span class="mh"&gt;0x80&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;containsNonASCII&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
            &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;containsNonASCII&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;EncodingType&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;ASCII&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// No non-ASCII characters, assume ASCII&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="c1"&gt;// If the data contains non-ASCII characters but not a BOM, assume it's binary&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;EncodingType&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;BINARY&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;asciiText&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"This is a sample ASCII text."&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;utf8Text&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;u8"This is a sample UTF-8 encoded text."&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;const&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;binaryData&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\x41\x42\x43\x44\x45&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Example binary data&lt;/span&gt;

    &lt;span class="k"&gt;switch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;detectEncoding&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;asciiText&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="n"&gt;EncodingType&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;ASCII&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s"&gt;"The data is ASCII encoded."&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;endl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="n"&gt;EncodingType&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;UTF8&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s"&gt;"The data is UTF-8 encoded."&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;endl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="n"&gt;EncodingType&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;BINARY&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s"&gt;"The data is binary."&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;endl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;switch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;detectEncoding&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;utf8Text&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="n"&gt;EncodingType&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;ASCII&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s"&gt;"The data is ASCII encoded."&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;endl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="n"&gt;EncodingType&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;UTF8&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s"&gt;"The data is UTF-8 encoded."&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;endl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="n"&gt;EncodingType&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;BINARY&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s"&gt;"The data is binary."&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;endl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;switch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;detectEncoding&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;binaryData&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="n"&gt;EncodingType&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;ASCII&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s"&gt;"The data is ASCII encoded."&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;endl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="n"&gt;EncodingType&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;UTF8&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s"&gt;"The data is UTF-8 encoded."&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;endl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="n"&gt;EncodingType&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;BINARY&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;cout&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="s"&gt;"The data is binary."&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;std&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="n"&gt;endl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;break&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;

    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you have a keen eye 👁️, you might notice some bugs 🐛🐜 in this code. However, it served as a great starting point for my implementation. Hours of effort saved!&lt;/p&gt;

&lt;p&gt;In another instance, while working on the React components for the MVP, I provided ChatGPT with the complete requirements for the desired React UI functionality. Remarkably, ChatGPT effortlessly generated flawless code that perfectly aligned with my specifications. Hours of effort shaved off. ⏰💪💾&lt;/p&gt;

&lt;h2&gt;
  
  
  Writing Documentation
&lt;/h2&gt;

&lt;p&gt;I know, us developers hate it 😡. But sometimes, writing documentation 📕is important to enhance the readability of code. Don’t worry, because you don’t have to do it anymore. Just write your code and let ChatGPT add comments to it 🥳. Here’s an example. The comments in the code below have been automatically added by ChatGPT.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight typescript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Event handler for changes in appearance settings triggered by user interactions&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;onAppearanceSettingChanged&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;React&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ChangeEvent&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;HTMLInputElement&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Retrieve the selected appearance option from the changed input element&lt;/span&gt;
  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;selectedOption&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

  &lt;span class="c1"&gt;// Check if the selected appearance type is valid&lt;/span&gt;
  &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nf"&gt;isValidAppearanceType&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;selectedOption&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// Log a warning for unrecognized appearance type and exit the function&lt;/span&gt;
    &lt;span class="nx"&gt;logger&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;warn&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Unrecognized appearance selected&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;selectedOption&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="c1"&gt;// Update the appearance setting in the database and handle the promise&lt;/span&gt;
  &lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;dbAPI&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;updateSetting&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;DBSettingName&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;APPEARANCE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;selectedOption&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// Upon successful database update, update the local state&lt;/span&gt;
    &lt;span class="nf"&gt;setAppearance&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;selectedOption&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="c1"&gt;// Trigger an event to notify other parts of the application about the appearance setting change&lt;/span&gt;
    &lt;span class="nf"&gt;trigger&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;appearance-setting-changed&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Portfolio Creation — Appraisals coming up? 🤑
&lt;/h2&gt;

&lt;p&gt;This is one of those tasks that developers would never undertake if it wasn’t absolutely necessary 🙈. If we can’t eliminate it altogether, the next best approach is to expedite the process, thereby reducing the time it takes. Here are some experiments 🧪 you can try to accelerate your portfolio creation process.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Generate Project Title/Description:&lt;/strong&gt; For each project, input the project charter and related documents, and request ChatGPT to generate a title and description for your project. Based on whether it’s a technical or business review, ask ChatGPT to incorporate relevant information as necessary.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generate Description of your Contributions:&lt;/strong&gt; For each project, provide ChatGPT with your task list 📋 (from JIRA or other tools) and ask it to generate a summary of the work you have completed in that project.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Make it Impressive:&lt;/strong&gt; ✨ Inform ChatGPT about the reviewer who will be assessing your portfolio and inquire about the specific data or presentation aspects that might interest them. For instance, if an Engineering Manager is reviewing your work, they would be more inclined towards technical details. ChatGPT can provide you with a list of relevant metrics that you can include in the document. On the other hand, if an executive is reviewing your work, ChatGPT can suggest business metrics that should be incorporated for each project. Depending on the type of reviewer, ChatGPT can autonomously adjust the content, including the title and description itself.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Proofreading/Editing:&lt;/strong&gt; A true professional takes pride in their work 🧑‍💻. The last thing you need is for your work to be undermined by English and grammatical mistakes in your portfolio. Ask ChatGPT to review your document, proofread it, and fix 🔧 any issues to ensure its quality 👌.
If you’re not using ChatGPT extensively, you’re missing out 😢 on increased productivity and the opportunity to save precious time every day.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If you are a frequent ChatGPT user, take it to the next level by pairing it with Griv. Griv allows you to access ChatGPT within your workflows. Check it out at &lt;a href="https://grivhq.com"&gt;https://grivhq.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclosure: I’m the creator of Griv.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>productivity</category>
      <category>softwaredevelopment</category>
      <category>softwareengineering</category>
    </item>
  </channel>
</rss>
