<?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: Amazing </title>
    <description>The latest articles on DEV Community by Amazing  (@beamazedvariable).</description>
    <link>https://dev.to/beamazedvariable</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%2F702653%2Ffa981679-e184-4c03-b09c-d20b238c3206.png</url>
      <title>DEV Community: Amazing </title>
      <link>https://dev.to/beamazedvariable</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/beamazedvariable"/>
    <language>en</language>
    <item>
      <title>3.0 Alpha #2: Core feature for mobile app</title>
      <dc:creator>Amazing </dc:creator>
      <pubDate>Sat, 09 Apr 2022 21:37:13 +0000</pubDate>
      <link>https://dev.to/beamazedvariable/30-alpha-2-core-feature-for-mobile-app-481e</link>
      <guid>https://dev.to/beamazedvariable/30-alpha-2-core-feature-for-mobile-app-481e</guid>
      <description>&lt;p&gt;Finally, thank you &lt;a class="mentioned-user" href="https://dev.to/dukemanh"&gt;@dukemanh&lt;/a&gt; for helping me out to pull this feature off for 3.0 alpha.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fetching posts
&lt;/h2&gt;

&lt;p&gt;This is my first time, I have a wonderful practice fetching data from an api or a services. I guess the only reason I want to take lead on our &lt;code&gt;mobile&lt;/code&gt; app to also learn how to do thing from the ground up as well. Working on our web has been a different thing where you will learn and integrate things into an already existed system. Whereas with our mobile app I got a chance to learn thing from scratch. Lucky for me I did not have to do researching by myself. For this issue, I spend a lot of time around &lt;a class="mentioned-user" href="https://dev.to/dukemanh"&gt;@dukemanh&lt;/a&gt; and be able to witness how he implement things and he did give me a really good suggestion on my working flow and how I can tackle the problem and things I can improve on base on his knowledge. We take a look at our &lt;code&gt;Post.tsx&lt;/code&gt; and &lt;code&gt;Timeline.tsx&lt;/code&gt; where ppls who had worked on this in previous semesters have well implemented displaing posts for our web. I learn how to use &lt;code&gt;swr&lt;/code&gt; and &lt;code&gt;SWRInfinite&lt;/code&gt; for pagination as well as config the &lt;code&gt;fetcher&lt;/code&gt; at the top level to show how would &lt;code&gt;swr&lt;/code&gt; behave with the data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Using FlatList instead of ScrollView
&lt;/h2&gt;

&lt;p&gt;While we was working on displaying the posts. We having a hard time for our ScollView to scroll properly even though we were doing what the &lt;code&gt;react native&lt;/code&gt; doc suggest and changing many styles using &lt;code&gt;flex&lt;/code&gt; and &lt;code&gt;flexGrow&lt;/code&gt; to indentify the height of the screen for the &lt;code&gt;ScrollView&lt;/code&gt; to scroll. When I read the doc, they also mention about &lt;code&gt;FlatList&lt;/code&gt; which have lazy loading which help to improve performance of the app. It will only load the component when you scroll down more and delete the items above for efficient use of memory space and the usage is just simple.Our fetched object from the &lt;code&gt;post&lt;/code&gt; service return a nested object which ask us to use &lt;code&gt;map&lt;/code&gt; method twice on it. With Flatlist we only need to &lt;code&gt;map&lt;/code&gt; it once&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;FlatList&lt;/span&gt;
        &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;pages&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="nx"&gt;renderItem&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;renderPost&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="nx"&gt;keyExtractor&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{(&lt;/span&gt;&lt;span class="nx"&gt;item&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;toString&lt;/span&gt;&lt;span class="p"&gt;()}&lt;/span&gt;
      &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Styling the component
&lt;/h3&gt;

&lt;p&gt;Then we having a hard time after the post display. They just look ugly and plain. Since &lt;code&gt;react native&lt;/code&gt; don't have normal &lt;code&gt;html&lt;/code&gt; element so we can not do what our &lt;code&gt;telescope-post-content.css&lt;/code&gt; did. Luckily Duke spot our that the &lt;code&gt;react-native-render-html&lt;/code&gt; have let us pass a prop to styles these element using &lt;code&gt;tagsStyles&lt;/code&gt;. Right now I still working on changing the css to work perfectly for the mobile version but I'm glad that we pull it off and be able to learn how he work on the issues have been a good learning opportunity for me.&lt;/p&gt;

&lt;p&gt;Duke has mentioned what we should have did differently and what our prof did try to tell us from the beggining that it would be perfect for us to move our workflow from working up from the easiest thing to working from the core functionality of the app first so everything we work from there will be centralize around the core functionality. Like what I experience is that our &lt;code&gt;Banner&lt;/code&gt; make it hard for us to do the scrolling and also to run the application where we should have implement loading the posts before implement the Banner&lt;/p&gt;

&lt;p&gt;My &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/3420/files"&gt;PR&lt;/a&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>reactnative</category>
      <category>javascript</category>
      <category>mobile</category>
    </item>
    <item>
      <title>3.0 Alpha #1: Transforming to Supabase</title>
      <dc:creator>Amazing </dc:creator>
      <pubDate>Sat, 09 Apr 2022 20:01:45 +0000</pubDate>
      <link>https://dev.to/beamazedvariable/30-alpha-1-transforming-to-supabase-32bp</link>
      <guid>https://dev.to/beamazedvariable/30-alpha-1-transforming-to-supabase-32bp</guid>
      <description>&lt;p&gt;Here is my update on my way working to finish the &lt;code&gt;alpha&lt;/code&gt; version of the &lt;code&gt;Telescope&lt;/code&gt; mobile app. &lt;/p&gt;

&lt;h2&gt;
  
  
  Looking at the doc
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;Supabase&lt;/code&gt; is amazing in doc. I have developed a good habit of taking a look at the doc before searching for any tutorial. And the &lt;a href="https://supabase.com/docs/guides/with-expo"&gt;doc&lt;/a&gt; provide details how we can start using &lt;code&gt;Supabase&lt;/code&gt; with different framework and some of them are very popular such as: React, Angular, etc.... The doc show you how to use &lt;code&gt;supabase&lt;/code&gt; for authentication which is a classic, popular use case when it come to mind when talking about integrate a server into your project. Mine use case this time is much more simpler which is to contain all the quotes from &lt;code&gt;student-quotes.js&lt;/code&gt; so as we can share and avoid duplicate information between our wep app and our mobile app.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start working on the project
&lt;/h2&gt;

&lt;p&gt;Since my use case is much more simpler I might not need to have to use all of the configuration option when creating the &lt;code&gt;Supabase&lt;/code&gt; client. This is when blogging become amazing. During 60% of the meeting our prof always try to press how important writing blog and be able to reach out with other developers. When working on the issue, I come a across a wonderful &lt;a href="https://medium.com/@kelvinpompey.me/things-to-look-out-for-using-supabase-with-react-native-9638b23e98c2"&gt;article&lt;/a&gt; where he tackle all the basic incompatible between &lt;code&gt;react-native&lt;/code&gt; and &lt;code&gt;supabase&lt;/code&gt;. &lt;/p&gt;

&lt;h2&gt;
  
  
  "Blog about it"
&lt;/h2&gt;

&lt;p&gt;After reading such an amazing article. This sentence from my prof keep running through in my mind. Your struggle might become a treasure for whoever come after and be able to read about it. So here are some highlighted issues that I have been able to tackle&lt;/p&gt;

&lt;h3&gt;
  
  
  Working with .env for the very first time
&lt;/h3&gt;

&lt;p&gt;Yes, this is my first time ever working with the .env file and it also a best practice I learn from the &lt;code&gt;telescope&lt;/code&gt; web team. Before I did read some guides on how to run &lt;code&gt;Telescope&lt;/code&gt; but did not bother dig into it and see what is actually in those files untill I have to do it myself. Like I said, after creating a habit of reading docs, I feel more pleasant to spend time with it than a feel short &lt;code&gt;stackoverflow&lt;/code&gt; answer which not gonna last in my mind more than a day after the problem has been solved. After reading the &lt;code&gt;expo&lt;/code&gt; &lt;a href="https://docs.expo.dev/guides/environment-variables/"&gt;doc&lt;/a&gt; on how to work with environment variables with expo. I have no hard time implemented it but then it coming to another problem where I would not be able to connect to the client.&lt;/p&gt;

&lt;h3&gt;
  
  
  Trouble connecting the supabase client in local development
&lt;/h3&gt;

&lt;p&gt;For this matter, I have been able to reach out the Kelvin through &lt;code&gt;Linkedin&lt;/code&gt; to see if he have experienced the same thing but it seem he not be able to spot it out. Then after talking with peoples of the supasbase upstream to see if they have some idea on how I would be able to solve the problem but there is no luck. Then it come to my final option to search for &lt;code&gt;stackoverflow&lt;/code&gt; and Duke had sent me a link as he know I was having problem with connecting to supabase. The &lt;a href="https://stackoverflow.com/a/6310592"&gt;answer&lt;/a&gt; pointing out &lt;code&gt;localhost&lt;/code&gt; mean is not pointing to the real machine when interpreted through mobile device so in local development we will change &lt;code&gt;localhost&lt;/code&gt; to &lt;code&gt;10.0.2.2&lt;/code&gt; and finally I had be able to connect to the &lt;code&gt;supabase&lt;/code&gt; client.&lt;/p&gt;

&lt;p&gt;My &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/3346"&gt;PR&lt;/a&gt; &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>reactnative</category>
      <category>programming</category>
      <category>opensource</category>
    </item>
    <item>
      <title>My work for 2.8</title>
      <dc:creator>Amazing </dc:creator>
      <pubDate>Wed, 16 Mar 2022 01:43:59 +0000</pubDate>
      <link>https://dev.to/beamazedvariable/my-work-for-28-35da</link>
      <guid>https://dev.to/beamazedvariable/my-work-for-28-35da</guid>
      <description>&lt;p&gt;In our &lt;a href="https://github.com/Seneca-CDOT/telescope/milestone/14?closed=1"&gt;2.8&lt;/a&gt; release, I would be able to contribute 3 quick fix for our project&lt;/p&gt;

&lt;h2&gt;
  
  
  About page and adding more documentation for react native app
&lt;/h2&gt;

&lt;p&gt;I have been overthinking on how I would fit our currently &lt;a href="https://telescope.cdot.systems/about/"&gt;About page&lt;/a&gt; into our mobile app. Then I regconize I should keep the ball rolling by having draft and put in some work so peoples can have more inputs into it. I then reading the doc on how to implement an &lt;code&gt;ScrollView&lt;/code&gt; in &lt;code&gt;react-native&lt;/code&gt; and learn how to insert line break. Working on using flex for responsive design. I try to implement a back ground image for our &lt;code&gt;ScrollView&lt;/code&gt; so it look fancy enough but yet I will still need to look more into this ever since more UX principles need to be follow.&lt;/p&gt;

&lt;p&gt;You can check out my current work here:&lt;a href="https://github.com/Seneca-CDOT/telescope/pull/3167"&gt;About page&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I also having a small PR to add 2 usefull &lt;code&gt;Expo CLI commands&lt;/code&gt; which is &lt;code&gt;expo doctor&lt;/code&gt; and &lt;code&gt;expo update&lt;/code&gt; into our &lt;code&gt;react native&lt;/code&gt; doc for the later generation of &lt;code&gt;Telescope&lt;/code&gt; when developing our&lt;br&gt;
mobile app.Most of the time when I start working on our mobile app. There has always been dependency related problems. So for react native to trasnlate mobile app writting in react to &lt;code&gt;native&lt;/code&gt;, they host the app on a virtual machine which acting like a &lt;code&gt;bridge&lt;/code&gt;, then that &lt;code&gt;bridge&lt;/code&gt; distribute our app and translate into &lt;code&gt;native&lt;/code&gt; language. The virtual machine require up to date or I can say compatible dependency to be able to run smoothly. So running &lt;code&gt;expo doctor&lt;/code&gt; will help indentify incompatible dependency and since our &lt;code&gt;renovate-bot&lt;/code&gt; did not allow in the &lt;code&gt;mobile&lt;/code&gt; subfolder, &lt;code&gt;expo update&lt;/code&gt; will get the job done easily.&lt;/p&gt;

&lt;p&gt;My doc &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/3170"&gt;PR&lt;/a&gt; &lt;/p&gt;
&lt;h2&gt;
  
  
  Fixing Linkyfier
&lt;/h2&gt;

&lt;p&gt;When I use &lt;code&gt;LinkifyHTML&lt;/code&gt; to make every hyperlink clickable. We aaccidentally linkify all of the &lt;code&gt;img&lt;/code&gt; tag which is not what we want it to behave. When I was wondering on how to fix it our prof have point out the &lt;a href="https://linkify.js.org/docs/options.html#ignoretags"&gt;ignore tag&lt;/a&gt; in the doc and here is my qucik fix:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;article&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;content&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;linkifyHtml&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;article&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;content&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;ignoreTags&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;img&lt;/span&gt;&lt;span class="dl"&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;p&gt;I would have to be more flexible on suing the doc to figure out how to solve many more problems. Got a lot to learn !&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>opensource</category>
      <category>reactnative</category>
      <category>react</category>
    </item>
    <item>
      <title>This is your Sheriff speaking</title>
      <dc:creator>Amazing </dc:creator>
      <pubDate>Wed, 16 Mar 2022 00:45:09 +0000</pubDate>
      <link>https://dev.to/beamazedvariable/this-is-your-sheriff-speaking-50ac</link>
      <guid>https://dev.to/beamazedvariable/this-is-your-sheriff-speaking-50ac</guid>
      <description>&lt;p&gt;This week, I'm proud to write about my pleasure experience taking over the Sheriff position for our &lt;a href="https://telescope.cdot.systems/"&gt;Telescope&lt;/a&gt; project in week 7.&lt;/p&gt;

&lt;h2&gt;
  
  
  How did I prepare for this
&lt;/h2&gt;

&lt;p&gt;First thing first, being a Sheriff require you to be available most of the time so I decided not to work during the week just to make sure I don't miss out on any important decision, involve in decision making, be available,resourceful and finally giving direction for the team moving forward if any&lt;/p&gt;

&lt;p&gt;I'm on duty right after the break week which give me a plenty of time for me to learn and study the state of the project. During break week, I already reach out to people who having big issues or track their progress on &lt;code&gt;Slack&lt;/code&gt;. People like Kevan, Francesco or Tim will introduce newly material for the project in this release or Amasia, Diana, Tuee who have taking a lead and got many issues taken by them. I try to track or talk to them to see how thing is going to make sure I got a vision about how our project moving forward.&lt;/p&gt;

&lt;p&gt;In the beginning of the week, I jump into our &lt;a href="https://github.com/Seneca-CDOT/telescope/milestone/14?closed=1"&gt;2.8 milestones&lt;/a&gt; and read every single issue closely untill I visualize what need to be done and also keeping the communication bridge going back and forth smootly. Night before the meeting, I staying up and check every single issue again to know which one should be drag out because they might need a little push or inputs to be merged into the project. The morning of the meeting, I do a rehearsal for myself on how I would direct the issue to my colleagues at 5am which is 3 hours away from the meeting. The meeting then went well and I take pride of doing such a decent job to manage the meeting for the first time. &lt;/p&gt;

&lt;h2&gt;
  
  
  Potential career opening up
&lt;/h2&gt;

&lt;p&gt;After Sheriff week, I'm feeling like I might be fit working as a comunity manager for the project. One week off, giving me more vision on what I want to do with my life. As aninternational student I'm always obssesed with stablize my income and ever since graduate from Fleming and got no luck on finding an intership opportunity right after, I showed 0 motivation when starting to study at Seneca college. During the Sheriff week, for the first time I have a chance to organize and set out my goal and what &lt;br&gt;
would fit better for me coming out from college. I'm now setting my goal to earn a job working as a comunity manager or a react native job.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Messing up like usual, 2 weeks are all it take
&lt;/h2&gt;

&lt;p&gt;I messed up twice during the early of the week, the first one would be after I rebase Cindy work but somehow it stale all the approvals of her PR. I regconized that the change have no conflict with &lt;code&gt;master&lt;/code&gt; so instead to wait for the approvals and decide there was no point to waste more time for reviewing the PR so I miss out the rebase proccess and accidentally merge the PR straight into &lt;code&gt;master&lt;/code&gt; and polute our project &lt;code&gt;git history&lt;/code&gt;. The second time would be when I merge the work from Francesco, I did indeed read Dave comment which ask the maintainers not to rebase the work since we want to keep the &lt;code&gt;git history&lt;/code&gt; from &lt;code&gt;Satallite&lt;/code&gt;. I got exciting to see a big things that I have been keeping track ever since the break week ready to be merged. I then follow my usual habbit and rebase it which I was ask not to do -_-. Luckily, Duke was there to help &lt;code&gt;revert&lt;/code&gt; and merged Francesco PR again into &lt;code&gt;Telescope&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;This blog post got written week after the release so we did also break &lt;code&gt;production&lt;/code&gt; on the release day as well :). I guess our prof start regretting since his breaking &lt;code&gt;production&lt;/code&gt; culture made him to work overtime on a Friday night to make it work :). After a while, Duke and Roxane be able to point out that we did not have the same &lt;code&gt;git history&lt;/code&gt; base so Github would not be able to figure it out. Then the whole team decide to jump on another call and work untill 10pm (what a day eh ?).&lt;/p&gt;

&lt;p&gt;How mature am I with the project moving forward ? I'm now got no lost or fear feeling when jumping into new material or subjects. I accept of the fact being lost and working on how I can solve the problem more. After attending meetings, and reviewing code I regconize that all of us get lost in the beginning and all have to work our way up. Instead of spending time overthinking and getting lost, I move to the second stage faster and doing my research. Maybe untill I pump into another big issue, but now I feel no pressure working on new materials which I have never work on before. Also I regconized how my coleagues master new materials in the 2 weeks time span for example Kevan who has been working on our &lt;code&gt;Portainer&lt;/code&gt; set up during the break week and being able to pull it off for 2.8. Diana be able to work on some animation for our &lt;code&gt;About&lt;/code&gt; page using all material and some researching, many more great work that I could not list it all here during my time being 2.8 Sheriff.&lt;/p&gt;

&lt;p&gt;I would try to work on our React native app and hopefully we will be able to hang around and using &lt;code&gt;Telescope&lt;/code&gt; on our mobile when we finish this course !&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>career</category>
      <category>computerscience</category>
      <category>javascript</category>
    </item>
    <item>
      <title>2.7 : Getting better</title>
      <dc:creator>Amazing </dc:creator>
      <pubDate>Thu, 17 Feb 2022 18:41:50 +0000</pubDate>
      <link>https://dev.to/beamazedvariable/27-getting-better-4enn</link>
      <guid>https://dev.to/beamazedvariable/27-getting-better-4enn</guid>
      <description>&lt;h2&gt;
  
  
  Stop build header and the build log stutter
&lt;/h2&gt;

&lt;p&gt;When I was working on the dashboard of the project, I regconize that  our &lt;code&gt;dashboard&lt;/code&gt; sending too many request in such a short time and when using it and it make the UI stutterbut at that time I did not practice the habbit to filling issue yet so when I was fixing the loading animation in the build header I just kind to ignored it. When our proffessor bring up the issue, I was happy to tackle the issue. At first what I did was to check the interval and see how frequently our build information got requested and rendered. It is 5 seconds beetween each time we send the request to the &lt;code&gt;autodeployment&lt;/code&gt; server. I regconize our &lt;code&gt;build&lt;/code&gt; on &lt;code&gt;master&lt;/code&gt; usually took average from 3-5 minutes to finish. So I went and made a dummy change which is to extend the &lt;code&gt;interval&lt;/code&gt; beetween each call to 1 minute. It work but after revise the issue description it is not that optimal yet. My next move would be finding a way to extract the &lt;code&gt;text&lt;/code&gt; from the &lt;code&gt;xterm&lt;/code&gt; terminal and compare with the upcoming data that about to be written in the terminal. I kinda form a  routine where I force myself to look at the docs first instead of straight up searching things on &lt;code&gt;stackoverflow&lt;/code&gt;. I spent 2 days on Xterm &lt;a href="https://xtermjs.org/docs/"&gt;docs&lt;/a&gt; trying most of the available methods and properties provided from &lt;code&gt;Xterm&lt;/code&gt;. The doc was not that good since it did not give any usage. After trying &lt;code&gt;onData&lt;/code&gt;, &lt;code&gt;onRender&lt;/code&gt;, &lt;code&gt;terminal.selectAll()&lt;/code&gt;, etc,... . I then search for &lt;code&gt;stackoverflow&lt;/code&gt; and regconize that did not provide a way to retrieve the content of the terminal with the public API, I also would think compare such a long string of text will be time consuming and not that efficient. I have to change my way on how I think about it. I decide to tackle the &lt;code&gt;build&lt;/code&gt; which contain &lt;code&gt;sha&lt;/code&gt; which is unique to each &lt;code&gt;build&lt;/code&gt;. But I have to use the global scope variable which is not a good practice. I decided to pushed and make a &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/2953"&gt;PR&lt;/a&gt; to update with the team and also learn how they would solve it different than what I did. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In general I agree with you: fewer variables, reduce their scope. But this is hard to avoid completely.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I will say we try to avoid it as much a possible but it not that bad to use after all if we can not avoid it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Indicate better build information in build-header
&lt;/h2&gt;

&lt;p&gt;For me this PR is not that bad and not exploring much since I already got some experience working on the &lt;code&gt;dashboard&lt;/code&gt; so I just need to search for bootstrap docs and read about &lt;code&gt;truncate&lt;/code&gt; text using eslipsis. You can checkout my &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/2907"&gt;PR&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Review and practice a habbit to file issue
&lt;/h2&gt;

&lt;p&gt;So far, I being less active on filling issue on the project which I should since it is a good things cause shipping software is an endless job. Next version of the software will hopefully be better than the previous version and we always try to make the software more complete for the users. So I file 2 issues on the Telescope about bugs and enhancement needed it in the &lt;code&gt;dashboard&lt;/code&gt; where the dashboard not showing up &lt;code&gt;build&lt;/code&gt; in &lt;code&gt;production&lt;/code&gt; which lead to another disscussion where we should use &lt;code&gt;supabase&lt;/code&gt; to keep our dashboard being more consistent. Finally, I start to create more "trouble" for the whole team to tackle :)).&lt;/p&gt;

&lt;p&gt;I also got 3 pr that needed to coming up but Jerry was one step ahead. So I help Andre to review the PR. I just want to talk a bit more a bout how I tackle this since I'm feeling like I'm getting more comfortable working and tackle new issue. Andrew suggest us to look at the &lt;code&gt;utils\toast.js&lt;/code&gt; and after take a look at it I'm using search to find it usage accross the project and found enough information for myself to tackle the problem.&lt;/p&gt;

&lt;p&gt;For 2.8, I have been reading and learning a bit about docker and superbase and hope to jump on any &lt;code&gt;5 min fix&lt;/code&gt; issues to learn more about it by doing&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>opensource</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Week 4: Starting with React Native</title>
      <dc:creator>Amazing </dc:creator>
      <pubDate>Mon, 07 Feb 2022 18:26:15 +0000</pubDate>
      <link>https://dev.to/beamazedvariable/week-4-starting-with-react-native-51gh</link>
      <guid>https://dev.to/beamazedvariable/week-4-starting-with-react-native-51gh</guid>
      <description>&lt;h2&gt;
  
  
  PR got merged !
&lt;/h2&gt;

&lt;p&gt;My &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/2706"&gt;PR&lt;/a&gt; merged to &lt;code&gt;master&lt;/code&gt;. Yay !. Look back on the changed that I made,I'm adding 4 lines of code but learning ton of things.First I kind of getting used to using &lt;code&gt;pnpm&lt;/code&gt; when I have to&lt;code&gt;install&lt;/code&gt; and &lt;code&gt;remove&lt;/code&gt; packages for testing. I also learn why and how we gonna &lt;code&gt;pin&lt;/code&gt; our dependency so as we have a stable deployment of the app everytime, follow my understanding and researching if the &lt;code&gt;package&lt;/code&gt; or the &lt;code&gt;project&lt;/code&gt; unless they have a security hole that need to be fixed otherwise we want to &lt;code&gt;pin&lt;/code&gt; them to have a stable version everytime we deploy our application. Also since I kept installing dependencies and removing and rebasing with the &lt;code&gt;upstream/master&lt;/code&gt;. My &lt;code&gt;pnpm-lock.yml&lt;/code&gt; file ask me to &lt;code&gt;resolve&lt;/code&gt; some of the &lt;code&gt;conflict&lt;/code&gt; and after reading and searching in the docs I come through this &lt;a href="https://pnpm.io/git#merge-conflicts"&gt;link&lt;/a&gt; as the solution where I just need to delete the &lt;code&gt;pnpm-lock.yaml&lt;/code&gt; and &lt;code&gt;reinstall&lt;/code&gt; all the dependencies again.&lt;/p&gt;

&lt;p&gt;Like I said in week 3 post, I was ask to write a &lt;code&gt;test&lt;/code&gt; which I did not feel comfortable since I have less than 3 times writting test ever since. But it quite enjoytable to be honest. I already got the basic concept of &lt;code&gt;jest&lt;/code&gt; and have to work on it before so I did not have a hard time refreshing how to implement the test &lt;/p&gt;

&lt;h2&gt;
  
  
  Get the react native ball rolling
&lt;/h2&gt;

&lt;p&gt;We have some basci UI and the splash screen running for the react native app. For my next goal will be having all the post loaded on the app. I have been doing bit of research and wonder if we gonna use the &lt;code&gt;parser&lt;/code&gt; service which is in construction or the &lt;a href="https://www.npmjs.com/package/react-native-rss-parser"&gt;react-native-rss-parser&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is my work for this week &lt;br&gt;
&lt;a href="https://github.com/Seneca-CDOT/telescope/pull/2841"&gt;PR-1&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/Seneca-CDOT/telescope/pull/2825"&gt;PR-2&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>react</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Week 3 : Testing procedure</title>
      <dc:creator>Amazing </dc:creator>
      <pubDate>Tue, 01 Feb 2022 04:44:01 +0000</pubDate>
      <link>https://dev.to/beamazedvariable/week-3-testing-procedure-h7</link>
      <guid>https://dev.to/beamazedvariable/week-3-testing-procedure-h7</guid>
      <description>&lt;p&gt;Yes ! Not only understand the code itself but testing it is a hard challenge as well. As you recalled from my &lt;a href="https://dev.to/beamazedvariable/week-2-a-lot-of-opportunity-ahead-15on"&gt;week 2&lt;/a&gt; I thought that 2 of my PR would be easy picker to start contributing to Telescope but no the testing and prove it working is a pain !!!! (By the way no pain no gain !)&lt;/p&gt;

&lt;h2&gt;
  
  
  Rendering build header animation
&lt;/h2&gt;

&lt;p&gt;This &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/2665"&gt;PR&lt;/a&gt; the changes to it is quite simple but testing locally is a bit tough. &lt;/p&gt;

&lt;p&gt;Firstly we did not know why even though when the build is successfull it still return us &lt;code&gt;code:1&lt;/code&gt; as indicate an error happened during the build process. I did connect with Josue as he get access to the server and he been the one I talked to eveyrtime I need him to trigger a build manually to test out my PR. Ater and 2 hours session we regconize the error related to the &lt;code&gt;-f&lt;/code&gt; command which might create a warning and return back the error code in &lt;code&gt;docker&lt;/code&gt;. After that Josue just went ahead and create a temporary solution to the problem which send &lt;code&gt;code:0&lt;/code&gt; equal to success build status.&lt;/p&gt;

&lt;p&gt;Secondly it really bugging me when I work on the code at different time with Josue and can not always ask him to do it. I did try to make some research base on old PR and asking Andrew who been leading the creation of dashboard during fall semester and found this gem among the closed &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/2582"&gt;issue&lt;/a&gt;. The code have been changed quite a bit in like 2 weeks span and I did make my update on how to test my PR locally. Before that I have try to point the &lt;code&gt;autodeploymentUrl&lt;/code&gt; to our &lt;code&gt;dev&lt;/code&gt; api but no luck for me since it telling me that I'm breaking a olicy which is new to me. But after reading the closed issue above I was able to find a &lt;code&gt;hack&lt;/code&gt; for it. But yes, that was the first time I know that we would be able to create &lt;code&gt;policy&lt;/code&gt; for our project as such.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fixing wrong build status url
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/Seneca-CDOT/telescope/pull/2750"&gt;PR&lt;/a&gt;.When working on the above issue I regconized there was a mistake on our production where the we requesting wrong Url on &lt;code&gt;production&lt;/code&gt; which only need to add a regex like such&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="s2"&gt;`//&lt;/span&gt;&lt;span class="p"&gt;${&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;location&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;hostname&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;api&lt;/span&gt;&lt;span class="se"&gt;\.&lt;/span&gt;&lt;span class="sr"&gt;|&lt;/span&gt;&lt;span class="se"&gt;\.&lt;/span&gt;&lt;span class="sr"&gt;api&lt;/span&gt;&lt;span class="se"&gt;)&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;&lt;span class="s2"&gt;/deploy&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;path&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Even though it is a quick fix (than the other PR) but I still learn thing such as this is my first time using &lt;code&gt;or&lt;/code&gt; logic with &lt;code&gt;regex&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Third PR and it still going on
&lt;/h2&gt;

&lt;p&gt;The challenging part of this &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/2706"&gt;PR&lt;/a&gt; would be where to put the code and how to test it.&lt;/p&gt;

&lt;p&gt;At first I was trying out easiest way which choosing the &lt;code&gt;react&lt;/code&gt; library to wrap the &lt;code&gt;description&lt;/code&gt; section of the Youtube posts. But then I get some advice to make that change ideally in the backend which make me wondering about the difference of it. I then read and standing from the point of view of a &lt;code&gt;post&lt;/code&gt; being procceded and changes that affect data should be happened in the back which help to avoid work for the &lt;code&gt;frontend&lt;/code&gt;&lt;/p&gt;

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

&lt;p&gt;If you see the picture above when I made a search to look for the &lt;code&gt;post&lt;/code&gt; and as this time I could say I got 0 knowledge about the Telescope structure yet so i got consfused on where to put my changes. I remmeber talking with Abdul on Slack on why we having the &lt;code&gt;api&lt;/code&gt; and &lt;code&gt;backend&lt;/code&gt; at the same time and they seem to be duplicated with each orther. I did reach out to him again and what he gave me was adding my code in &lt;code&gt;api&lt;/code&gt; would be a move to make. I then jump in the &lt;code&gt;Posts&lt;/code&gt; service and make a dummy change on wrapping the html using &lt;code&gt;linkyfyhtml&lt;/code&gt; in the &lt;code&gt;Post&lt;/code&gt; object constructor which it work but then I receive a comment on how to change it which we should wrapping the &lt;code&gt;html&lt;/code&gt; before we create the &lt;code&gt;post&lt;/code&gt; I then make some change in to &lt;code&gt;default&lt;/code&gt; function of the &lt;code&gt;api\posts&lt;/code&gt; service and got no luck making it to work&lt;/p&gt;

&lt;p&gt;I found out that Josue did also work on these files and matain the project for a long time so I did talk to him and now I know that the &lt;code&gt;parser&lt;/code&gt; service is still under construction and &lt;code&gt;post&lt;/code&gt; service only fetch the data from &lt;code&gt;redis&lt;/code&gt; which I need to put my changes in the &lt;code&gt;backend&lt;/code&gt;. For some reason my changes did not work at all and I stop at that point where it is just not working. I keep deleting the data and re run the project which is time consuming. Cause you know what ? I'm afraid of debugging but after calming my tilted reaction I regret not debugging it sooner. I put the break point on where it return the type of the &lt;code&gt;post&lt;/code&gt; to be a &lt;code&gt;video&lt;/code&gt;. I then recognized that all of the &lt;code&gt;video&lt;/code&gt; post return &lt;code&gt;article.content&lt;/code&gt; as an array and we expect &lt;code&gt;linkyfyHtml&lt;/code&gt; to work on a string not an array of object. I then make a change to joint the content since only the first index of the returned array object needed to be process. After applying changes, my code work and I litterally dance on my chair of having the issue move away from my mind. But you know they say never be too excited about shipping software. I come across a gif which kind of related and I want to share it here and might delete it later. I feel so related with this &lt;code&gt;gif&lt;/code&gt;.This is totally me after I received some feebacks which I need to make another changes, adding &lt;code&gt;test&lt;/code&gt; for my changes before it got approved. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--EglcS0u_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j3uzigu4ho4d8kg2rd3f.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--EglcS0u_--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j3uzigu4ho4d8kg2rd3f.gif" alt="Image description" width="448" height="498"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I will keep you guys posted and at the same time I could not stop laughing on the &lt;code&gt;gif&lt;/code&gt; :)&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned this week
&lt;/h2&gt;

&lt;p&gt;Firstly, if I bring up the 3rd PR up in the public Slack chat for Telescope. The third PR could have move way faster since I took most of the time figuring it myself instead of asking in the chanel where people who have knowledge can bring up disscussion. When talking to people, since they all contribute on different aspect of the project sometime their understanding about the project can be equal or less that what I already know about it. i guess the reason why I not feeling like doing it is because English was not my first language and I feeling like I did not do a good job of explaining things. But to be fair I try to go for this course to break those barrier. And why not doing that since I got a chance to learn with buch of great people who making fun of commits that breaking &lt;code&gt;production&lt;/code&gt;.  &lt;/p&gt;

&lt;p&gt;Secondly, the roller coaster feeling and pressure shipping software is what I'm in this course for. I know that sooner or later this is what I have to face if I made it to the workforce. I said this in the beginning of this course that this course get as hard as you want it to be so I would love to jump on that roller coaster over and over untill I get use to it ! &lt;/p&gt;

&lt;p&gt;Let's talk next week ^-^&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>react</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Week 2 : A lot of opportunity ahead </title>
      <dc:creator>Amazing </dc:creator>
      <pubDate>Sat, 22 Jan 2022 04:46:09 +0000</pubDate>
      <link>https://dev.to/beamazedvariable/week-2-a-lot-of-opportunity-ahead-15on</link>
      <guid>https://dev.to/beamazedvariable/week-2-a-lot-of-opportunity-ahead-15on</guid>
      <description>&lt;p&gt;We are heading by the end of week 2 with a lot of opportunity to expanding our lovely &lt;a href="https://telescope.cdot.systems/"&gt;Telescope&lt;/a&gt; project&lt;/p&gt;

&lt;h2&gt;
  
  
  Things I work on during the week
&lt;/h2&gt;

&lt;p&gt;I have been working on 2 PR during the week &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/2665"&gt;PR-2665&lt;/a&gt; where I pick up &lt;a class="mentioned-user" href="https://dev.to/yodawgz0"&gt;@yodawgz0&lt;/a&gt; work on idicate the status of the build. My first attempt was to figure it out how the code work after I follow the long conversation between Andrew and &lt;a class="mentioned-user" href="https://dev.to/yodacanada"&gt;@yodacanada&lt;/a&gt; on what could have been work on. After I spent time working on refactoring the code we all come to agree that the logic have been implementing in another PR (dev life :)) and we only need to automate loading status using icon from &lt;code&gt;material-icon&lt;/code&gt; and delete &lt;code&gt;datetime-calculator.js&lt;/code&gt; since I find no usage for it. For this PR we still need to automate a webhook build from Github which I filed an &lt;a href="https://github.com/Seneca-CDOT/telescope/issues/2701CDOT/telescope/issues/2701"&gt;issue-2701&lt;/a&gt;, I might  need to investigate more since the build data seem not showing up properly on my end even though I had pinged one of the maintainers to trigger a buid manually but we did not see any information related to the build showing up.&lt;/p&gt;

&lt;p&gt;The second &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/2706"&gt;PR&lt;/a&gt; which is quite easy where I only need to wrap the embedded Youtube video preview in an &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; tag&lt;/p&gt;

&lt;p&gt;This week I have to say Gitpod really got me. It is way too convenience to work on it even though I was not master it yet. It automate rebuilding container images for me and get everything set up and ready to go. The only things I would need to figure it out on how I can rebuild all the images. What I did was to turn off the workspace and try to access it again which is not optimize at all.&lt;/p&gt;

&lt;h2&gt;
  
  
  Moving on to 2.6 release
&lt;/h2&gt;

&lt;p&gt;Yesterday on Slack people was having fun of someone breaking production because of their search PR. &lt;br&gt;
So that what people think and act which is possitive for the work. People don't just freak out but instead slowly looking for trouble and fix it. Just like what our prof say in the first meeting. He hope all of us get good at getting lost ! &lt;/p&gt;

&lt;p&gt;Coming into the next release I hope to contribute on the beggining of the React Native part of our project. People on the group also show many good idea on how to improve it. I would love to help out and also maybe implement a copy to clipboard button for code area in students blog post ! Looking forward to crash production !&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>javascript</category>
      <category>typescript</category>
    </item>
    <item>
      <title>OSD700: Maintaining Telescope</title>
      <dc:creator>Amazing </dc:creator>
      <pubDate>Sun, 16 Jan 2022 07:01:21 +0000</pubDate>
      <link>https://dev.to/beamazedvariable/osd700-maintaining-telescope-397f</link>
      <guid>https://dev.to/beamazedvariable/osd700-maintaining-telescope-397f</guid>
      <description>&lt;p&gt;Thi semester I got a privileged to be one of the maintainer of the &lt;a href="https://telescope.cdot.systems/"&gt;Telescope&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  I'm back
&lt;/h2&gt;

&lt;p&gt;This course in my point of view is like a cool job. "Cool job" in my term paid you for what you love to do and this class marked your work base on what you willing to do and learn. This course get as hard as you willing to push yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  My goal for the project
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Make the entire app easier for new people to setup, debug, and develop. There's too much secret knowledge and too many manual steps right now.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I would love to work on this part where I want to shred more light and hope to make &lt;a href="https://github.com/Seneca-CDOT/telescope"&gt;Telescope&lt;/a&gt; easier to navigate&lt;/p&gt;

&lt;p&gt;I try to learn &lt;code&gt;React&lt;/code&gt; eveyrday as my 2020 goal. Because of that I want to contribute more in the front end of the project. I also have a long story with being a mobile developer. I used to work for a tiny startup and create their app myself using &lt;code&gt;java&lt;/code&gt;. I know it is not the same but I'm exciting to start it as we go.&lt;/p&gt;

&lt;p&gt;But I want to learn as much as I can, either about cloud, backend as I want to have a decent knowledge to make it to the workforce :)&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>javascript</category>
      <category>typescript</category>
      <category>node</category>
    </item>
    <item>
      <title>Release 0.4: Unfinish work</title>
      <dc:creator>Amazing </dc:creator>
      <pubDate>Mon, 13 Dec 2021 19:14:07 +0000</pubDate>
      <link>https://dev.to/beamazedvariable/release-04-unfinish-work-4mi2</link>
      <guid>https://dev.to/beamazedvariable/release-04-unfinish-work-4mi2</guid>
      <description>&lt;h2&gt;
  
  
  Implement ttl to check the expired invalid key
&lt;/h2&gt;

&lt;p&gt;The implementation is quite simple than I thought. First I come to the &lt;code&gt;src/api/posts/src/storage.js&lt;/code&gt; and adding a simple change, so when we set an invalid&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;setInvalidFeed&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;reason&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="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;createInvalidFeedKey&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;expireAfter&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;60&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;24&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="c1"&gt;// Expire after 7 days&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;redis&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kd"&gt;set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;reason&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;EX&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;expireAfter&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;But the testing would be a bit tricky, as first I just restart all the images and &lt;code&gt;cd&lt;/code&gt; into &lt;code&gt;src\backend&lt;/code&gt; and run &lt;code&gt;npm start&lt;/code&gt;. After talking with Emily I come to my ubuntu and type &lt;br&gt;
&lt;code&gt;sudo docker exec -it redis sh&lt;/code&gt; and using &lt;code&gt;redis-cli&lt;/code&gt; I would be able to use commands to interact with the redis data. I would search for the &lt;code&gt;invalid&lt;/code&gt; key using &lt;code&gt;keys *invalid&lt;/code&gt; and I pick out a random key &lt;code&gt;ttl key&lt;/code&gt; but the result retunred -1 which prefer to the &lt;a href="https://redis.io/commands/TTL"&gt;doc&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The command returns -1 if the key exists but has no associated expire&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So clearly the change did not work or my prediction would be that I have to wait for the new invalid feed to come up which my change would be apply to but after a long time waiting I regconize that I might be able to delete all the data. I came into my project and &lt;code&gt;rm -f redis-data&lt;/code&gt; and after that my project stop working and I have to ask the maitaince of the project to kindly send me the redis-data folder again.&lt;/p&gt;

&lt;p&gt;After that, I found out that we would be able to use &lt;code&gt;flushall&lt;/code&gt; in the &lt;code&gt;redis-cli&lt;/code&gt; to clear all the invalid key and after run the project again. My change clearly did not work at all.&lt;/p&gt;

&lt;p&gt;After talking with Emily she also suggest me to come to &lt;code&gt;src/backend/utils/storage.js&lt;/code&gt; and change the same line of codes. It seem surpising to me when we have two indentical code at two different places of the project but the change did the job &lt;/p&gt;

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

&lt;p&gt;After talking with some of the folks in the Slack channel which have more experience. They have kindly explain &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;that's because initially we had only one back-end (the one inside the backend folder) doing everything, and as we started developing microservices, we had to move the code to the microservices using that code. The easiest way was to copy the whole chunk of code from the old backend to the microservice you're working on, but sometimes you might copy parts that you don't need, like setInvalidFeed in this case&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This has not make a lot of sense to me yet because of my knowledge about the project but I will note it here for feature preference&lt;/p&gt;

&lt;p&gt;You can check out my &lt;a href="https://github.com/Seneca-CDOT/telescope/pull/2600/files#diff-385ce74534c40abd35fec7213380832f3dc70f6fde77edc3f1fd2704b688ab51R112"&gt;PR&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Another trick that I learn when using Git
&lt;/h2&gt;

&lt;p&gt;When talking and working with Duke, we try to co-operate and using Gitpod for our work so I upload a &lt;code&gt;dummy&lt;/code&gt; version of what I got on branch &lt;code&gt;issue-2569&lt;/code&gt; butn since I did not be able to pull off the second requirement of the issue and I need to submit my PR. I come into the project and use &lt;code&gt;git reset --soft&lt;/code&gt; and discard the change  from the &lt;code&gt;MOCK_REDIS =&lt;/code&gt; and changes in the &lt;code&gt;proccesor.js&lt;/code&gt; then &lt;code&gt;push -f&lt;/code&gt; back into the branch.&lt;/p&gt;

&lt;p&gt;I can say I get a bit handy with git and understand the flow of it now after 14 weeks !&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>javascript</category>
      <category>github</category>
      <category>programming</category>
    </item>
    <item>
      <title>Release 0.4: Progressing</title>
      <dc:creator>Amazing </dc:creator>
      <pubDate>Mon, 13 Dec 2021 04:31:51 +0000</pubDate>
      <link>https://dev.to/beamazedvariable/release-04-progressing-25l2</link>
      <guid>https://dev.to/beamazedvariable/release-04-progressing-25l2</guid>
      <description>&lt;p&gt;A few updates here for you folks&lt;/p&gt;

&lt;h2&gt;
  
  
  Fixing the first requirement
&lt;/h2&gt;

&lt;p&gt;Like what I thought the first requirement is quite simple. I use &lt;a href="https://jsonformatter.org/json-pretty-print"&gt;JSON pretty print&lt;/a&gt; to help me get a better and clean look at the returned JSON when testing. But not to mention this is my first time actually running the docker and start all the images by using &lt;code&gt;npm services:start&lt;/code&gt; and every time you made some change to the code you will have to stop and run it again &lt;code&gt;npm services:stop&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;I hear that Emily has been working on the &lt;code&gt;invalid&lt;/code&gt; feeds for a long time so I thinking about checking her commit would give me an idea on where to start it. I see Emily create some change in the &lt;code&gt;src/api/posts/src/storage.js&lt;/code&gt; where we might get the info of the &lt;code&gt;invalid&lt;/code&gt; feed through &lt;code&gt;getInvalidFeeds&lt;/code&gt;. I went in and make use &lt;code&gt;regex&lt;/code&gt; to chane all the &lt;code&gt;\n&lt;/code&gt; to whitespace&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;reason&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;reason&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sr"&gt;/g&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt; &lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then I restart the images and ran again the results the &lt;code&gt;regex&lt;/code&gt; do the work&lt;/p&gt;

&lt;h2&gt;
  
  
  A lot of debugging for second requirement
&lt;/h2&gt;

&lt;p&gt;For the second requirement, I would check all the common point of the &lt;code&gt;304&lt;/code&gt; invalid and it is weird to me that some of them seem to work fine and show up in &lt;code&gt;telescope&lt;/code&gt; where it should not&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;An invalid post would be a post that we would not be able to pass through the parser. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I put the break point at &lt;code&gt;src/backend&lt;/code&gt; when the queue is failed we will call &lt;code&gt;invalidateFeed&lt;/code&gt;  &lt;/p&gt;

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

&lt;p&gt;And to my prediction, the &lt;code&gt;rss-parser&lt;/code&gt; fetcha a feed and gets &lt;code&gt;304&lt;/code&gt;, the &lt;code&gt;304&lt;/code&gt; has no body so we considered it to be failed request and mark it &lt;code&gt;invalid&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I try to make change at &lt;code&gt;src/backend/feed/processor.js&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&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="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;status&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;400&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;info&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;shouldDownload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;info&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;When I restart it, for a while there was no &lt;code&gt;304&lt;/code&gt; psot which make me feel so exiciting about it but for a while the &lt;code&gt;304&lt;/code&gt; keep showing up more and more so the problem has not been solved &lt;/p&gt;

&lt;h2&gt;
  
  
  Third fix
&lt;/h2&gt;

&lt;p&gt;I actually found 2 resources which might be useful to help me in setting the &lt;code&gt;ttl&lt;/code&gt; expire period for the key: &lt;a href="https://redis.io/commands/TTL"&gt;Redis-doc&lt;/a&gt; and &lt;a href="https://github.com/redis/node-redis/issues/1000"&gt;issue-100&lt;/a&gt; and I wil be dig in to it in couple days to figure it out&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>opensource</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Release 0.4: Planning</title>
      <dc:creator>Amazing </dc:creator>
      <pubDate>Mon, 13 Dec 2021 02:12:41 +0000</pubDate>
      <link>https://dev.to/beamazedvariable/release-04-planning-212</link>
      <guid>https://dev.to/beamazedvariable/release-04-planning-212</guid>
      <description>&lt;p&gt;For the final submission I choose to continue contribute to telescope as I belive this would be a steepping stone for me to study OSD700. I choose to fix a bug in the project where we we try to improve &lt;a href="https://github.com/Seneca-CDOT/telescope/issues/2569"&gt;handling invalid feed&lt;/a&gt;    &lt;/p&gt;

&lt;h2&gt;
  
  
  My plan and my goal
&lt;/h2&gt;

&lt;p&gt;My goal for when working on this issue will be to understand more how the project work because as you know my precent contribution to Telescope would be mitigrate ESlint to the newest version which require not a lot of coding and debugging so I will choose to go with this issue which seem not be quite difficult to work on.&lt;/p&gt;

&lt;p&gt;I got 3 goal that need to be fill for this issue:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Remove &lt;code&gt;\n&lt;/code&gt; from the reason so that we can display it as a single line. We could replace them with &lt;code&gt;' '&lt;/code&gt; (space)&lt;/li&gt;
&lt;li&gt;Figure out why 304s are showing up as invalid.&lt;/li&gt;
&lt;li&gt;Set a &lt;code&gt;ttl&lt;/code&gt; for these &lt;code&gt;invalid&lt;/code&gt; keys in Redis&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;My plan from the start would be fixing the first 2 where the first one seem to be solve using &lt;code&gt;regex&lt;/code&gt; and since I know a bit about &lt;code&gt;response&lt;/code&gt; I will try to investigate it and then solving the thrid one which I got no clue where to start.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>javascript</category>
      <category>typescript</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
