<?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: Luke Cartwright</title>
    <description>The latest articles on DEV Community by Luke Cartwright (@lukeecart).</description>
    <link>https://dev.to/lukeecart</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%2F481340%2Fb309061c-2ad9-49f9-9a35-d44075561121.jpg</url>
      <title>DEV Community: Luke Cartwright</title>
      <link>https://dev.to/lukeecart</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lukeecart"/>
    <language>en</language>
    <item>
      <title>3 things I want to learn in 2026</title>
      <dc:creator>Luke Cartwright</dc:creator>
      <pubDate>Wed, 24 Dec 2025 06:59:08 +0000</pubDate>
      <link>https://dev.to/lukeecart/3-things-i-want-to-learn-in-2026-6p0</link>
      <guid>https://dev.to/lukeecart/3-things-i-want-to-learn-in-2026-6p0</guid>
      <description>&lt;p&gt;In 2026 there are a few bits of tech I would like to learn.&lt;/p&gt;

&lt;h1&gt;
  
  
  n8n
&lt;/h1&gt;

&lt;p&gt;This has been covered a few times by Dev YouTubers and has piqued my interest. It's an open-source workflow automation tool that's fair-code licensed, powerful for no-code/low-code integrations, and self-hostable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://n8n.io/" rel="noopener noreferrer"&gt;n8n sign-up&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  GraphQL
&lt;/h1&gt;

&lt;p&gt;GraphQL has been out for a while, but I want to try it out properly as an upcoming project is using it. Time to go beyond REST and explore efficient data fetching, schemas, and tools like Apollo or Relay.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://graphql.org/" rel="noopener noreferrer"&gt;GraphQL official site&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  TypeScript Advanced
&lt;/h1&gt;

&lt;p&gt;TypeScript is everywhere in modern frontend and backend work, but I want to level up with advanced features like conditional types, mapped types, template literal types, and better inference for large-scale projects.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.typescriptlang.org/" rel="noopener noreferrer"&gt;TypeScript documentation&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>career</category>
    </item>
    <item>
      <title>Instagram AI policy</title>
      <dc:creator>Luke Cartwright</dc:creator>
      <pubDate>Fri, 31 May 2024 06:40:36 +0000</pubDate>
      <link>https://dev.to/lukeecart/instagram-ai-policy-h20</link>
      <guid>https://dev.to/lukeecart/instagram-ai-policy-h20</guid>
      <description>&lt;p&gt;Instagram is updating it's privacy policy to give you the right to not have your data used to train AI going forward.&lt;/p&gt;

&lt;p&gt;Here is the email I received:&lt;/p&gt;

&lt;p&gt;We're getting ready to expand our AI at Meta experiences to your region. AI at Meta is our collection of generative AI features and experiences, such as Meta AI and AI creative tools, along with the models that power them.&lt;/p&gt;

&lt;p&gt;What this means for you&lt;/p&gt;

&lt;p&gt;To help bring these experiences to you, we'll now rely on the legal basis called legitimate interests for using your information to develop and improve AI at Meta. This means that you have the right to object to how your information is used for these purposes. If your objection is honoured, it will be applied from then on.&lt;/p&gt;

&lt;h2&gt;
  
  
  How do I object the use of my data to included in AI training data?
&lt;/h2&gt;

&lt;p&gt;You can fill out &lt;a href="https://help.instagram.com/contact/233964459562201"&gt;this form to object from having your data used in the future.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you have given a reason you need to verify your email (because they send you a code). Then, at least for me, it took minutes for them to reply and say my data will not be used going forward.&lt;/p&gt;

&lt;h2&gt;
  
  
  Do you notice the wording?
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;If your objection is honoured, it will be applied from then on.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;So it looks like our data has been used in the past but for any future AI training and developments it will not be used.&lt;/p&gt;

&lt;h2&gt;
  
  
  Thanks 🙏
&lt;/h2&gt;

&lt;p&gt;Thank you for reading and I hope this was helpful.&lt;br&gt;
If you think someone else should know this then share this article with them so they can also object Instagram from training their AI with their data.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>news</category>
    </item>
    <item>
      <title>Planet scale DB alternative</title>
      <dc:creator>Luke Cartwright</dc:creator>
      <pubDate>Sat, 16 Mar 2024 19:09:38 +0000</pubDate>
      <link>https://dev.to/lukeecart/planet-scale-db-alternative-4oj7</link>
      <guid>https://dev.to/lukeecart/planet-scale-db-alternative-4oj7</guid>
      <description>&lt;p&gt;Do you have a Postgres DB on Planetscale that you need to transfer over?&lt;/p&gt;

&lt;p&gt;Well, I transferred over to Hostinger. &lt;/p&gt;

&lt;p&gt;Isn't Hostinger a website host? You are right but when you get website hosting you also get 2 Databases included!!&lt;/p&gt;

&lt;p&gt;How does £3.99 per month sound compared to $39 per month? &lt;/p&gt;

&lt;p&gt;Why not sign up today &lt;a href="https://hostinger.co.uk?REFERRALCODE=1LUKEECARTW64"&gt;https://hostinger.co.uk&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thank you for your time.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>devops</category>
    </item>
    <item>
      <title>Planet scale is removing free tier!</title>
      <dc:creator>Luke Cartwright</dc:creator>
      <pubDate>Wed, 06 Mar 2024 19:07:35 +0000</pubDate>
      <link>https://dev.to/lukeecart/planet-scale-is-removing-free-tier-2f17</link>
      <guid>https://dev.to/lukeecart/planet-scale-is-removing-free-tier-2f17</guid>
      <description>&lt;p&gt;Like many I have watched Planet scale grow to become a great resource! Their YouTube channel is a great resource but with a free tier, there was always going to be risks &lt;/p&gt;

&lt;h2&gt;
  
  
  What is happening?
&lt;/h2&gt;

&lt;p&gt;Their Hobby plan will be retired on April 8th, 2024 and they have decided to "part ways with members of our team (primarily Sales and Marketing)". &lt;/p&gt;

&lt;h2&gt;
  
  
  What's the reaction?
&lt;/h2&gt;

&lt;p&gt;It's not good. Developers like free tiers. But they also understand businesses don't make money by using just free tiers. Planet scale has said that they want to make sure Planetscale is "not just in the short-term, but forever" and will be "prioritising profitability".&lt;/p&gt;

&lt;p&gt;Also it's very passive for letting people go by saying they are going to "part ways with members of our team". 😬&lt;/p&gt;

&lt;h1&gt;
  
  
  What now?
&lt;/h1&gt;

&lt;p&gt;Well the next month is going to be busy to transfer DBs from Planetscale or paying for their service (looks like it starts at $39) &lt;/p&gt;

&lt;p&gt;What are your thoughts? &lt;/p&gt;

&lt;h2&gt;
  
  
  Resources:&lt;a href="https://planetscale.com/blog/planetscale-forever"&gt;https://planetscale.com/blog/planetscale-forever&lt;/a&gt;
&lt;/h2&gt;

</description>
      <category>webdev</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Sending Emails using Node</title>
      <dc:creator>Luke Cartwright</dc:creator>
      <pubDate>Mon, 12 Jun 2023 11:27:06 +0000</pubDate>
      <link>https://dev.to/lukeecart/sending-emails-using-node-26if</link>
      <guid>https://dev.to/lukeecart/sending-emails-using-node-26if</guid>
      <description>&lt;h2&gt;
  
  
  Why would you want to send emails via code?
&lt;/h2&gt;

&lt;p&gt;I was recently working on a project where there was a requirement to send an email to a user when an update had been made to their account. I reviewed a number of different options but I found Sendgrid to be super easy to setup and the super generous free tier was suitable for the project. If you need to send an email in code, let me show you how to do that.&lt;/p&gt;

&lt;h2&gt;
  
  
  When would I want to send an email?
&lt;/h2&gt;

&lt;p&gt;For me this email was to be sent when an update had been made to a users account access. This would need a link to verify an email address and also encourage them to login because they had now been granted access.&lt;/p&gt;

&lt;p&gt;You might want to send an email at a different stage? Perhaps when a user has logged in for the first time or perhaps as a notification when something happens in your app/ website? &lt;/p&gt;

&lt;h2&gt;
  
  
  So how do we get started?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/XDSBGwnjvTpoZGJhxY/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/XDSBGwnjvTpoZGJhxY/giphy.gif" alt="Lets go Gif" width="480" height="269"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;First let's set up a Sendgrid account.&lt;br&gt;
Sendgrid has a free tier that enables 100 free emails a day. So let's sign up at &lt;a href="https://sendgrid.com/"&gt;https://sendgrid.com/&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Then in your code, install &lt;code&gt;@sendgrid/mail&lt;/code&gt; with &lt;code&gt;npm i @sendgrid/mail&lt;/code&gt; then include the package in a index.js.&lt;/p&gt;

&lt;p&gt;Also make sure you have &lt;em&gt;Node js&lt;/em&gt; installed on your computer.&lt;/p&gt;
&lt;h2&gt;
  
  
  Generate a SendGrid API key
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8RwqXPQz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0gdebf8pjap2i2kna2cu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8RwqXPQz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0gdebf8pjap2i2kna2cu.png" alt="Image description" width="266" height="698"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To generate an API key, start by logging into your account and scroll to the settings on the right hand side (see above screenshot). And then click on the blue "Create API  key" button in the top left hand corner. Give the API key a name and set the permissions to Full access for now (You can customise later) . &lt;/p&gt;

&lt;p&gt;You will then be shown a screen with the API key (This will only be shown once).&lt;/p&gt;

&lt;p&gt;Now in an .env file add &lt;code&gt;export SENDGRID_API_KEY=&amp;lt;Replace with Your API Key&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Now we are setup how do I send an email?
&lt;/h2&gt;

&lt;p&gt;First import the send grid package into your file then create a function that sets the api key, the HTML message and the message object that will be sent.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const sgMail = require("@sendgrid/mail");

const sendEmail = () =&amp;gt; {
   sgMail.setApiKey(process.env.SENDGRID_API_KEY);

   const HTMLmessage = `&amp;lt;h1&amp;gt;Test Email&amp;lt;/h1&amp;gt;`
   const msg = {
        to: receiverEmailAddress, // Change to your recipient
        from: "Your test Email &amp;lt;accounts@test.co.uk&amp;gt;", // Change to your outgoing email
        subject: "This is a test email",
        html: HTMLmessage,
  };

  await sgMail.send(msg);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  But what if I want to use a custom domain for my FROM email address?
&lt;/h2&gt;

&lt;p&gt;This is the great thing about Sendgrid, you don't need to setup an email server. You can just add some config to your Nameserver for your domain and send emails from any email with your domain name!!&lt;/p&gt;

&lt;h2&gt;
  
  
  Where do I get a Domain from?
&lt;/h2&gt;

&lt;p&gt;You can buy domain names from many places, but one I recommend and have been using for the last couple of years is &lt;a href="https://namecheap.pxf.io/c/4163420/1632743/5618"&gt;Namecheap.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Sign up to &lt;a href="https://namecheap.pxf.io/c/4163420/1632743/5618"&gt;Namecheap.com&lt;/a&gt; to get a domain name. &lt;/p&gt;




&lt;h2&gt;
  
  
  Send emails from my domain name
&lt;/h2&gt;

&lt;p&gt;Under the Sendgrid settings there is an option called "Sender Authentication". Navigate to that page and begin authenticating your domain.&lt;/p&gt;

&lt;p&gt;In &lt;a href="https://namecheap.pxf.io/c/4163420/1632743/5618"&gt;Namecheap.com&lt;/a&gt; buy a domain and then navigate to Advanced DNS section.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MddwoOGC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/86164h78uhqb4mrpjz5u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MddwoOGC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/86164h78uhqb4mrpjz5u.png" alt="Advanced DNS section" width="800" height="120"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Add a new record (Needs to be a Cname record) by adding the first value in the host as the Authenticating section on Send grid suggests.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TQgSoAqp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/35oqijtiho2o2z60cg5f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TQgSoAqp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/35oqijtiho2o2z60cg5f.png" alt="Image description" width="800" height="107"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you are setup you can then run your index.js by adding &lt;code&gt;sendEmail()&lt;/code&gt; at the end of the file and running &lt;code&gt;node index.js&lt;/code&gt; to send the email to yourself. (Set the email address in the msg object)&lt;/p&gt;

&lt;p&gt;And we have lift off!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/artj92V8o75VPL7AeQ/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/artj92V8o75VPL7AeQ/giphy.gif" alt="Celebrate" width="480" height="480"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Already got a domain name? You can get &lt;strong&gt;50% off a top domain transfers&lt;/strong&gt; by using promo code &lt;strong&gt;&lt;a href="https://namecheap.pxf.io/c/4163420/1632743/5618"&gt;TLD23TSAPR&lt;/a&gt;&lt;/strong&gt; and to get up to &lt;strong&gt;62% off shared hosting&lt;/strong&gt; use &lt;strong&gt;&lt;a href="https://namecheap.pxf.io/c/4163420/1632743/5618"&gt;HOST23TSAPR&lt;/a&gt;&lt;/strong&gt; &lt;/p&gt;




&lt;p&gt;Extra resources:&lt;br&gt;
&lt;a href="https://docs.sendgrid.com/for-developers/sending-email/quickstart-nodejs"&gt;Quickstart to send emails using Nodejs&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>programming</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>The React documentation has been revamped!</title>
      <dc:creator>Luke Cartwright</dc:creator>
      <pubDate>Sat, 18 Mar 2023 07:43:41 +0000</pubDate>
      <link>https://dev.to/lukeecart/the-react-documentation-has-been-revamped-4n0j</link>
      <guid>https://dev.to/lukeecart/the-react-documentation-has-been-revamped-4n0j</guid>
      <description>&lt;p&gt;It's been a long time coming. &lt;/p&gt;

&lt;p&gt;The old site reactjs.org now redirects to legacy.reactjs.org/docs/ and the new site can be found at &lt;a href="https://react.dev/"&gt;https://react.dev/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The react documentation feels a lot more modern and includes the react hooks as well as using functional components compared to class components- the more modern way to use react. &lt;/p&gt;

&lt;p&gt;Also like any good dev website, they have light/dark mode 😂&lt;/p&gt;

&lt;p&gt;What do you think of the new docs? &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Cheap way to host a Javascript project. (e.g. Node APIs &amp; React Apps)</title>
      <dc:creator>Luke Cartwright</dc:creator>
      <pubDate>Sat, 25 Feb 2023 17:32:24 +0000</pubDate>
      <link>https://dev.to/lukeecart/cheap-way-to-host-a-javascript-projects-eg-node-apis-react-apps-4ohb</link>
      <guid>https://dev.to/lukeecart/cheap-way-to-host-a-javascript-projects-eg-node-apis-react-apps-4ohb</guid>
      <description>&lt;p&gt;With the announcement of the removal of the free tier on Heroku, I, like many others was scrambling for an alternative.&lt;/p&gt;

&lt;p&gt;Heroku used to offer free 'Dynos' but now are offering dynos for $7 which are always active or $5 for eco-dynos which go inactive after 30 minutes. &lt;/p&gt;

&lt;p&gt;So what are some good alternatives?&lt;/p&gt;

&lt;p&gt;I currently use these services and have done for the last 8 months or so. These are great services and are either the same or cheaper.&lt;/p&gt;

&lt;h2&gt;
  
  
  Digital Ocean
&lt;/h2&gt;

&lt;p&gt;One option I chose for a Node API and React app was using Digital Ocean. I have been using this for the last 8 months and I found it very easy to setup. See my article on setting up an API on digital ocean. &lt;/p&gt;

&lt;p&gt;The cost is $5 for a droplet and with the link below you can get a &lt;strong&gt;free $200 credit&lt;/strong&gt; when you sign up to get started &lt;a href="https://m.do.co/c/b6731a07428c" rel="noopener noreferrer"&gt;https://m.do.co/c/b6731a07428c&lt;/a&gt;.&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/lukeecart" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F481340%2Fb309061c-2ad9-49f9-9a35-d44075561121.jpg" alt="lukeecart"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://dev.to/lukeecart/how-to-deploy-a-nodejs-app-to-digital-ocean-using-docker-al6" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;How to deploy a node.js app to digital ocean using Docker&lt;/h2&gt;
      &lt;h3&gt;Luke Cartwright ・ Oct 30 '21&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#docker&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#devops&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#node&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
&lt;br&gt;
This is actually &lt;em&gt;better&lt;/em&gt; value than Heroku because these Droplets don't become inactive after 30 mins and remain active like the Heroku $7 dynos.
&lt;h2&gt;
  
  
  AWS S3
&lt;/h2&gt;

&lt;p&gt;Another way I have used is hosting a React app on AWS S3. &lt;br&gt;
A React app is a static page when running 'npm run build' because the file is 1 html file with a minified JavaScript file. These files can be stored on a public S3 bucket.&lt;/p&gt;

&lt;p&gt;This &lt;strong&gt;costs me a few pennies per month&lt;/strong&gt; to host the static files. &lt;br&gt;
I used these 2 resources to automatically run build and push to S3 everytime I push my code to GitHub. This uses a GitHub action and a S3 bucket.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/7djMZ5OTG_E"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitHub actions &lt;a href="https://github.com/jakejarvis/s3-sync-action" rel="noopener noreferrer"&gt;https://github.com/jakejarvis/s3-sync-action&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Note: this contains a referral link but I have used this service for 8 months now and I have found it very helpful and good.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I hope these resources will be of a help to someone. Please share your thoughts below and with others if you think they will find it helpful&lt;/p&gt;

</description>
      <category>security</category>
      <category>network</category>
      <category>cybersecurity</category>
      <category>infosec</category>
    </item>
    <item>
      <title>Rotate your Circle CI keys now.</title>
      <dc:creator>Luke Cartwright</dc:creator>
      <pubDate>Thu, 05 Jan 2023 10:54:52 +0000</pubDate>
      <link>https://dev.to/lukeecart/rotate-your-circle-ci-keys-now-3b14</link>
      <guid>https://dev.to/lukeecart/rotate-your-circle-ci-keys-now-3b14</guid>
      <description>&lt;p&gt;This morning many developers recieved an email informing them that circle CI had been breached between 21st December 2022 and 4th January 2023.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvb8tvzyqie0slymj98wn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvb8tvzyqie0slymj98wn.png" alt="Email sent by circle ci" width="800" height="878"&gt;&lt;/a&gt;&lt;br&gt;
Image from &lt;a href="https://www.bleepingcomputer.com/news/security/circleci-warns-of-security-breach-rotate-your-secrets/" rel="noopener noreferrer"&gt;https://www.bleepingcomputer.com&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Am I affected?
&lt;/h3&gt;

&lt;p&gt;The statement says: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"At this point, &lt;strong&gt;we are confident that there are no unauthorized actors&lt;/strong&gt; active in our systems; however, out of an &lt;strong&gt;abundance of caution&lt;/strong&gt;, we want to ensure that all customers take certain preventative measures to protect your data as well."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  What do I need to do?
&lt;/h3&gt;

&lt;p&gt;The recommendation is to '&lt;strong&gt;Immediately rotate any and all secrets stored in CircleCI&lt;/strong&gt;. These may be stored in project environment variables or in contexts.'&lt;br&gt;
This includes SSH keys and other secrets. &lt;/p&gt;

&lt;h3&gt;
  
  
  How do I rotate my keys?
&lt;/h3&gt;

&lt;p&gt;To rotate keys please refer to this documentaion on circle ci's website - &lt;a href="https://circleci.com/docs/managing-api-tokens/#rotating-a-project-api-token" rel="noopener noreferrer"&gt;https://circleci.com/docs/managing-api-tokens/#rotating-a-project-api-token&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Do you have any questions?
&lt;/h3&gt;

&lt;p&gt;Please see this tweet from circle ci to some common questions- &lt;a href="https://twitter.com/CircleCI/status/1610893135235661830?cxt=HHwWjICyjbGxhdssAAAA" rel="noopener noreferrer"&gt;Tweet about common questions being answered by a circle ci engineer&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Or add a question to the &lt;a href="https://discuss.circleci.com/t/circleci-security-alert-rotate-any-secrets-stored-in-circleci/46479" rel="noopener noreferrer"&gt;circle ci discussion board&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  References:
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;CircleCI security alert&lt;/strong&gt; &lt;a href="https://circleci.com/blog/january-4-2023-security-alert/" rel="noopener noreferrer"&gt;https://circleci.com/blog/january-4-2023-security-alert/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Circle CI twitter account&lt;/strong&gt; &lt;a href="https://twitter.com/CircleCI" rel="noopener noreferrer"&gt;https://twitter.com/CircleCI&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Article about circle CI &lt;a href="https://www.bleepingcomputer.com/news/security/circleci-warns-of-security-breach-rotate-your-secrets/" rel="noopener noreferrer"&gt;https://www.bleepingcomputer.com/news/security/circleci-warns-of-security-breach-rotate-your-secrets/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>serverless</category>
      <category>tutorial</category>
      <category>aws</category>
    </item>
    <item>
      <title>Heroku is removing the free tier</title>
      <dc:creator>Luke Cartwright</dc:creator>
      <pubDate>Fri, 26 Aug 2022 07:28:00 +0000</pubDate>
      <link>https://dev.to/lukeecart/more-heroku-changes-that-will-definitely-affect-you-10o8</link>
      <guid>https://dev.to/lukeecart/more-heroku-changes-that-will-definitely-affect-you-10o8</guid>
      <description>&lt;p&gt;If you are anything like me, you have a few small projects that you are hosting on Heroku. Read on to learn more about some of the changes that will likely affect you.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Heroku?
&lt;/h2&gt;

&lt;p&gt;Heroku is a Platform As A Service (PAAS) "based on a managed container system, with integrated data services and a powerful ecosystem, for deploying and running modern apps" &lt;a href="https://www.heroku.com/platform" rel="noopener noreferrer"&gt;heroku.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This means that, with a small amount of config, you can get your web app live and available to the world without setting up servers. Heroku offers, what they call, Dynos. These are used to run your code and a small servers to run your Web apps on.&lt;/p&gt;

&lt;h2&gt;
  
  
  What currently is available?
&lt;/h2&gt;

&lt;p&gt;Currently Heroku offers a &lt;em&gt;generous&lt;/em&gt; free tier so that developers can get their web apps up and running quickly and for free. &lt;/p&gt;

&lt;p&gt;The only real downsides are not enabling a custom domain and slower cold starts.&lt;/p&gt;

&lt;p&gt;A cold start is when the dyno, if it is not used for 30 mins, is spun down until a HTTP request fire's it back up again.&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%2Fmedia3.giphy.com%2Fmedia%2FXubBxPcizx7PVPBSP9%2Fgiphy.gif%3Fcid%3D82a1493baxa034rfdtnsrxs5csgr23mizjfmt2h3xglh5dyi%26rid%3Dgiphy.gif" 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%2Fmedia3.giphy.com%2Fmedia%2FXubBxPcizx7PVPBSP9%2Fgiphy.gif%3Fcid%3D82a1493baxa034rfdtnsrxs5csgr23mizjfmt2h3xglh5dyi%26rid%3Dgiphy.gif" alt="Changed"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  So what has changed?
&lt;/h2&gt;

&lt;p&gt;The main change is that from &lt;strong&gt;November 28, 2022&lt;/strong&gt; this FREE tier will no longer be available. As part of this, the free Heroku Postgres, and free Heroku Data for Redis® will also be &lt;strong&gt;NO LONGER FREE&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;So, if you are currently using a free tier of these, then you will need to upgrade to a paid plan before that date.&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%2Fmedia1.giphy.com%2Fmedia%2Fh5Kj3oDLtuh6NoRy5x%2Fgiphy.gif%3Fcid%3D82a1493bz6olhu67vurao26v7g7cqcdzy9f8n9d4bhtnudxd%26rid%3Dgiphy.gif" 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%2Fmedia1.giphy.com%2Fmedia%2Fh5Kj3oDLtuh6NoRy5x%2Fgiphy.gif%3Fcid%3D82a1493bz6olhu67vurao26v7g7cqcdzy9f8n9d4bhtnudxd%26rid%3Dgiphy.gif" alt="Confused"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What do you need to do?
&lt;/h2&gt;

&lt;p&gt;Heroku suggests that you upgrade to a paid plan before that date.&lt;/p&gt;

&lt;p&gt;So that means that you'll need to join these plans: &lt;br&gt;
Heroku Dynos starts at $7/month, Heroku Data for Redis® starts at $15/month, Heroku Postgres starts at $9/month.&lt;/p&gt;
&lt;h2&gt;
  
  
  What else has changed?
&lt;/h2&gt;

&lt;p&gt;Starting &lt;strong&gt;October 26, 2022&lt;/strong&gt;, they will also begin deleting inactive accounts and associated storage for accounts that have been inactive for over a year. So make sure you check you account and either remove any unused dynos/ projects or update your dynos to a hobby account for $7 a month. &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%2Fmedia2.giphy.com%2Fmedia%2FYrU0MqWSs5T3jYiAmH%2Fgiphy.gif%3Fcid%3D82a1493bxcnzwcwzsnawqam1n63ll59if07frmg6v759dk46%26rid%3Dgiphy.gif" 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%2Fmedia2.giphy.com%2Fmedia%2FYrU0MqWSs5T3jYiAmH%2Fgiphy.gif%3Fcid%3D82a1493bxcnzwcwzsnawqam1n63ll59if07frmg6v759dk46%26rid%3Dgiphy.gif" alt="but wait"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  What alternatives are there?
&lt;/h2&gt;

&lt;p&gt;You could migrate your app to &lt;a href="https://m.do.co/c/b6731a07428c" rel="noopener noreferrer"&gt;Digital ocean&lt;/a&gt; for $5 a month. And you can  sign up &lt;a href="https://m.do.co/c/b6731a07428c" rel="noopener noreferrer"&gt;here&lt;/a&gt; to get $200 free credit to get you started. (&lt;strong&gt;For full disclosure this is a referral link&lt;/strong&gt;). And use this article to dockerise and deploy an API to digital ocean:&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="/lukeecart" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&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-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F481340%2Fb309061c-2ad9-49f9-9a35-d44075561121.jpg" alt="lukeecart"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/lukeecart/how-to-deploy-a-nodejs-app-to-digital-ocean-using-docker-al6" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;How to deploy a node.js app to digital ocean using Docker&lt;/h2&gt;
      &lt;h3&gt;Luke Cartwright ・ Oct 30 '21&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#docker&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#devops&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#node&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#webdev&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;Or here is a very helpful github repo that lists other sites with free tiers. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/ripienaar/free-for-dev" rel="noopener noreferrer"&gt;https://github.com/ripienaar/free-for-dev&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To get alternative to Heroku checkout the Web hosting section.&lt;/p&gt;

&lt;p&gt;Thank you so much for reading. If you found this helpful, would you consider buying me a coffee to say thank you?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/lukeecart" rel="noopener noreferrer"&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-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftwve1hh3j8ewl5aowo7r.png" alt="Buy Me A Coffee"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  References
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.heroku.com/next-chapter" rel="noopener noreferrer"&gt;https://blog.heroku.com/next-chapter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>webdev</category>
      <category>devops</category>
      <category>news</category>
    </item>
    <item>
      <title>Do you want some FREE illustrations or vectors for your hero image?</title>
      <dc:creator>Luke Cartwright</dc:creator>
      <pubDate>Tue, 02 Aug 2022 20:54:55 +0000</pubDate>
      <link>https://dev.to/lukeecart/do-you-want-some-free-illustrations-or-vectors-for-your-hero-image-4h61</link>
      <guid>https://dev.to/lukeecart/do-you-want-some-free-illustrations-or-vectors-for-your-hero-image-4h61</guid>
      <description>&lt;p&gt;Here's some great FREE sites to get you started...&lt;/p&gt;

&lt;h2&gt;
  
  
  Illustrations 👨‍🎨
&lt;/h2&gt;

&lt;h2&gt;
  
  
  1 &lt;a href="//drawkit.com/"&gt;drawkit.com&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  2 &lt;a href="https://www.opendoodles.com"&gt;www.opendoodles.com&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  3 &lt;a href="https://freeillustrations.xyz/"&gt;freeillustrations.xyz&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  4 &lt;a href="https://undraw.co/"&gt;undraw.co&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  5 &lt;a href="https://iradesign.io/"&gt;iradesign.io&lt;/a&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  6 &lt;a href="https://patternpad.com/"&gt;patternpad.com&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0UEvCIG0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://media0.giphy.com/media/ZfK4cXKJTTay1Ava29/giphy.gif%3Fcid%3D6c09b952661c92250000cae02666156fcdbce317ec16fbe0%26rid%3Dgiphy.gif%26ct%3Dg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0UEvCIG0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://media0.giphy.com/media/ZfK4cXKJTTay1Ava29/giphy.gif%3Fcid%3D6c09b952661c92250000cae02666156fcdbce317ec16fbe0%26rid%3Dgiphy.gif%26ct%3Dg" alt="Thank you" width="480" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For more great sites to add to your Bookmarks follow:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://twitter.com/lukeecart?t=fVuSXMZuoJ55Rf0ylxHBxg&amp;amp;s=09"&gt;My Twitter&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Software and the chicken and the egg problem</title>
      <dc:creator>Luke Cartwright</dc:creator>
      <pubDate>Wed, 27 Jul 2022 22:55:00 +0000</pubDate>
      <link>https://dev.to/lukeecart/software-and-the-chicken-and-the-egg-problem-2joe</link>
      <guid>https://dev.to/lukeecart/software-and-the-chicken-and-the-egg-problem-2joe</guid>
      <description>&lt;p&gt;I have an idea for a SAAS business. But so does everyone. Its about execution that counts. &lt;/p&gt;

&lt;p&gt;But which do you do first? Do you write code or market it first? Do you built it or sell it first?&lt;/p&gt;

&lt;p&gt;Theses are very really questions. &lt;/p&gt;

&lt;p&gt;My response is market it and validate the need for it first.&lt;/p&gt;

&lt;h2&gt;
  
  
  So here's my idea 💡
&lt;/h2&gt;

&lt;p&gt;If you want to start out and build an online store where do you go? Etsy? Shopify? &lt;/p&gt;

&lt;p&gt;Great but here the problem. I'm not sure about you but do you pay fees for just about everything on Etsy? You pay a fee to have a store, you pay a fee to selling a new product. Fees fees fees.&lt;/p&gt;

&lt;p&gt;And shopify is great but at £29 a month... when you start out and have 2 orders every few months. That's a big hit to the budget when you don't sell. And at that cost you still have to design and build your site before going public....&lt;/p&gt;

&lt;h2&gt;
  
  
  So what's the solution?
&lt;/h2&gt;

&lt;p&gt;Sell products and only pay 1 fee when you sell something. &lt;/p&gt;

&lt;p&gt;Upload product details and the site will do the rest. &lt;/p&gt;

&lt;p&gt;Customise a store front like a YouTube channel and be featured on the home page.&lt;/p&gt;

&lt;h3&gt;
  
  
  What do you think?
&lt;/h3&gt;

&lt;p&gt;Here's the marketing, before the building.&lt;/p&gt;

&lt;p&gt;Do you think this is the right way around? Do you think this will work? &lt;/p&gt;

&lt;p&gt;Leave a comment or follow to keep up on the progress of this idea. &lt;/p&gt;

&lt;p&gt;Thank you for reading 📚 &lt;/p&gt;

&lt;p&gt;To help me to fund this please could you buy me a coffee?  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.buymeacoffee.com/lukeecart"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rJvAnNew--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.buymeacoffee.com/buttons/default-black.png" alt="Buy Me A Coffee" width="434" height="100"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Developers, you NEED a designer.</title>
      <dc:creator>Luke Cartwright</dc:creator>
      <pubDate>Thu, 30 Jun 2022 07:56:29 +0000</pubDate>
      <link>https://dev.to/lukeecart/developers-you-need-a-designer-47eg</link>
      <guid>https://dev.to/lukeecart/developers-you-need-a-designer-47eg</guid>
      <description>&lt;p&gt;When developing websites and software, developers can sometimes focus on the technicalities of it too much instead of the design and look of the software. At the end of the day the user needs to like to use your project. So if this is you, maybe it's time to reach out to a designer for a good price.&lt;/p&gt;

&lt;p&gt;Recently I tried &lt;a href="https://www.fiverr.com/s2/12be79267c"&gt;fiverr&lt;/a&gt;. You may have heard of it. It's a website where freelancers offer their services as 'gigs'. &lt;/p&gt;

&lt;p&gt;I had heard about it and watched some YouTube videos of people using it but I'd never tried it myself. Have you?&lt;/p&gt;

&lt;p&gt;So let me tell you my experience. I've been working on a Progressive Web app that I felt needing a bit of a face lift. So I decided to hire a designer to come up with a design. I'll tell you my experience and see if its something you also want to try too. I'll give you 10% off your first gig so you can save the dollar.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/W8JIqASjSwtcA/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/W8JIqASjSwtcA/giphy.gif" alt="Let's go" width="460" height="351"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I first went to &lt;a href="https://www.fiverr.com/s2/12be79267c"&gt;fiverr.com&lt;/a&gt; and was a little disappointed that people were not just charging a FIVER. That was a minor disappointment, but the website seems to offer a lot of services. &lt;/p&gt;

&lt;p&gt;I typed in 'design UI' and I found one that was reasonably priced for my budget. The designer I chose was &lt;code&gt;ahsanali0332&lt;/code&gt;. I messaged him to see how much it would be and if it was possible to redesign my app. We agreed a offer of 4 pages for £17. &lt;/p&gt;

&lt;p&gt;I sent over screenshots of my current website along with some other information about the app and the functionality. And he was off. In just over a day and a half he replied with a figma file with a dark and light mode version of the app. Amazing. To be honest I was surprised about the speed. And I think you'd find that in your experience too. &lt;/p&gt;

&lt;p&gt;I asked for a few tweaks and within a day he made the changes and sent over an updated Figma file. This designer was incredible. I was very happy with the service and happy with the design. &lt;br&gt;
We were good to go. &lt;/p&gt;

&lt;p&gt;We had a design which looked good and definitely was a face lift from the previous version of the app. There were some UX issues that he had offered solutions for which I knew would make a big boost to the site. &lt;/p&gt;

&lt;p&gt;So now we have a design. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/3o6YfVOujcmi894Cac/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/3o6YfVOujcmi894Cac/giphy.gif" alt="Happy customer" width="250" height="188"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I found that, now I had something to work towards, it helped me to create the components and visualise the app. Within a day or so I had created one of the pages of new design using the new visuals. Now the app home page felt fresh and ready. I could have just worked on my own design but if you are anything like me, I design on the go. &lt;br&gt;
I make a small tweak and then maybe another and I just design as I go. Not ideal.&lt;/p&gt;

&lt;p&gt;So, Developers, for £17 I was able to get a good design and then using the figma file which I used to see the fonts used, the colours and the spacing. I'm pretty happy with my experience of Fiverr and I've used a few times now with different gigs. &lt;/p&gt;

&lt;p&gt;What has been your experience of Fiverr?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/cXblnKXr2BQOaYnTni/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/cXblnKXr2BQOaYnTni/giphy.gif" alt="What about you?" width="480" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thank you for reading and to get you started you can get &lt;strong&gt;10% off  your first order&lt;/strong&gt; using the links in this article. If you don't like it, no worries, &lt;strong&gt;leave a comment&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.fiverr.com/s2/12be79267c"&gt;Sign up to Fiverr for 10% off&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>design</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
