<?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: Sarah Mukuti</title>
    <description>The latest articles on DEV Community by Sarah Mukuti (@cesarwrites).</description>
    <link>https://dev.to/cesarwrites</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%2F440568%2Fb4a2f5ec-fecb-4ece-abb8-d24dd2e64159.jpeg</url>
      <title>DEV Community: Sarah Mukuti</title>
      <link>https://dev.to/cesarwrites</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cesarwrites"/>
    <language>en</language>
    <item>
      <title>How Natural Language Processing Contributes to Advancements in Human Computer Interactions</title>
      <dc:creator>Sarah Mukuti</dc:creator>
      <pubDate>Fri, 02 Aug 2024 21:19:22 +0000</pubDate>
      <link>https://dev.to/cesarwrites/how-natural-language-processing-contributes-to-advancements-in-human-computer-interactions-3o48</link>
      <guid>https://dev.to/cesarwrites/how-natural-language-processing-contributes-to-advancements-in-human-computer-interactions-3o48</guid>
      <description>&lt;p&gt;Natural Language Processing (NLP) is a field in artificial intelligence that uses machine learning algorithms to transform how computers understand and interpret human language.Human computer interaction (HCI) on the other hand is a research field focussed on understanding design patterns and further improve how human beings interact with computers. HCI seeks to understand the general user experience of the users who interact with software systems. The impact of HCI research is far reaching in the technology space. The findings have contributed to the design of internationally recognised design standards that progressively make computer systems easy to use and relatively uniform. Ever since computers came into existence the main goal of technology professionals has always been to make computers progressively easier to use. The quest for more usable systems and devices is clearly evidenced by the fact that we progressively grew from mainframe computers, then microcomputers, desktop computers and now people can have the tiniest of devices that they use on the go with high computational capacity. Imagine if we had to convert all our requests into binary format before keying them into a computer? How many people would be able to use computer systems? This article seeks to understand the relationship between NLP and HCI and consequently the ways in which both fields can contribute to better user experiences and advancements in how we interact with computer systems. &lt;/p&gt;

&lt;h3&gt;
  
  
  Interaction Between NLP and HCI
&lt;/h3&gt;

&lt;p&gt;The field of NLP has been in existence for about five decades. During this time computing devices have progressively become more advanced and accessible to many people. As a result HCI researchers have had to rely on findings from NLP research such as text to speech translations to progressively make computer systems more usable by people in an easy and convenient way. For example, instead of typing a large volume of text in a search engine one could simply ask their question by speaking into the microphone and the browser will know how to transform this into text. The research into NLP algorithms and their integration into computer systems is at a very advanced stage with most of the solutions having already been implemented. The remaining gaps are mostly in ensuring that the NLP systems are exposed to large amount of previous data to ensure that they have access to a wide pool of responses that are accurate and as natural as possible. To some users such as those living with disability natural language is possibly the only way they can interact with computer systems. Therefore, if this systems are not accurate and reliable it may impact their general experience. &lt;/p&gt;

&lt;h3&gt;
  
  
  Advancements in NLP and HCI
&lt;/h3&gt;

&lt;p&gt;The earlier research in HCI seemed to suggest that many users would often leave a system without completing a task if the interface was too difficult to navigate. For instance, one would easily give up if they needed to fill out a form and in order to access the form they would go through four screens and also spend some extra time finding. tiny button to open the form hidden within the page. Another instance could be if the colors and general structure of pages was not consistent in the entire system. Users do not desire to spend so much time trying to figure out what certain icons or buttons on the system are supposed to mean. They want to find information fast and complete their actions with minimal effort. Therefore, with a core understanding of the challenges that existed in human computer interactions it became quite easy to sell NLP related tools because they made it easy for users to interact with computer systems in the most natural form. For example, HCI research had found that it was easy for users to interact with systems if the icons were based on items they could recognise. Most of the AI assistants (Google, Siri) etc have a microphone icon that one would easily recognise as a symbol that they need to click on it and speak so as to interact with the device. As research in both NLP and HCI advances the outcomes will be algorithms that are powerful enough to process large volumes of information, integrating these algorithms into industry specific standards and consequently following the best design practices to make these NLP tools usable to the end users.  &lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;For many years most of the findings from human computer interactions seemed unachievable. For instance it was always quite a challenge how to ensure people with vision problems could use mobile devices. However, with voice recognition support everyone is now able to interact with the devices in their preferred language. However, there is still opportunities for improvement especially in ensuring NLP algorithms are well trained to interpret large volumes of data and progressively learn from new information. &lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>nlp</category>
      <category>hci</category>
    </item>
    <item>
      <title>Redefining User Interface Design: Material UI's consistency and Heuristic Designs</title>
      <dc:creator>Sarah Mukuti</dc:creator>
      <pubDate>Fri, 22 Mar 2024 22:10:59 +0000</pubDate>
      <link>https://dev.to/cesarwrites/redefining-user-interface-design-material-uis-consistency-and-heuristic-designs-3gee</link>
      <guid>https://dev.to/cesarwrites/redefining-user-interface-design-material-uis-consistency-and-heuristic-designs-3gee</guid>
      <description>&lt;p&gt;User Interface design is a field that continues to evolve with the advancement of technology. Regardless of the tech stack or platform in which applications are being developed, an intuitive user interface is key to ensure that users can easily interact with the application. There are numerous libraries that developers use to design their interfaces. They include SaSS, Bootstrap and material ui. Additionally languages like CSS are a good solution when one wants to create their styling from scratch and design their app as they need. Both the design libraries and CSS provide a good way for frontend developers to integrate the design heuristics into their application/website. &lt;/p&gt;

&lt;h3&gt;
  
  
  1. Consistency
&lt;/h3&gt;

&lt;p&gt;Consistency is an important design heuristic that ensures the different interfaces on the application have similar appearance. For instance it would be inconveniencing for users to view a button that has a black background, medium sized then in the next page the button is large size and with a green background. It is important to maintain a consistent outlook across the components. Material ui provides components with similar properties that you can import across various sections of your application. &lt;/p&gt;

&lt;h3&gt;
  
  
  2.  Ease of Navigation
&lt;/h3&gt;

&lt;p&gt;Most users do not want to waste a lot of time figuring out how to navigate from one page to another or where certain functionalities are located. A well-designed application should provide an ease for users to navigate across all sections and access functionality without cognitive load. Research has shown that sometimes users might abandon an application or fail to complete tasks if its too complicated to navigate. Material ui provides navigation components such as appbar, drawer and tabs that make it easy to implement a consistent navigation structure. &lt;/p&gt;

&lt;h3&gt;
  
  
  3. Minimal Element of Surprise
&lt;/h3&gt;

&lt;p&gt;Users expect that components will have a similar structure across the components. For example, labelling of fields and positioning of the submit button in a form should have the same structure  in the entire application. Therefore, the user will not suddenly have to start memorising or relearning what the components mean when they come across a new structure. Material ui provides components to design forms in a similar manner across the entire application or website. &lt;/p&gt;

&lt;h3&gt;
  
  
  4. Feedback and Confirmation
&lt;/h3&gt;

&lt;p&gt;After completing certain actions within the application users need feedback or confirmation if their task was successful. For example when doing a search and the user enters a typo the application should provide feedback for the user to enter the correct value. After submitting a form the user may need confirmation that the data was successfully submitted. Material ui provides components such as toast to help give the user feedback about successful actions, errors or confirmation after specific actions. &lt;/p&gt;

&lt;h3&gt;
  
  
  5. Ease of recognition
&lt;/h3&gt;

&lt;p&gt;When interacting with applications or websites most users need something that they can easily recognise instead of trying to recall what it means. Therefore, to enhance the design it is valuable to use visual effects and integrate the use of icons that have elaborate meaning. Material ui provides many icons that can be integrated in the interface to make it more recognisable. &lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Creating intuitive user interfaces is an important aspect of application or website development. As a beginner it would be valuable to style using CSS before moving to the other libraries that provide already designed components. &lt;/p&gt;

&lt;h4&gt;
  
  
  How to use Material UI
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Access the official material ui website.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mui.com/material-ui/getting-started/"&gt;https://mui.com/material-ui/getting-started/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Explore the different components that are available and integrate them on your application using the provided instructions.&lt;/li&gt;
&lt;li&gt;You can customize the components to match your specific design requirements such as color, size or even the positioning.
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>frontend</category>
      <category>ui</category>
      <category>react</category>
    </item>
    <item>
      <title>Exploratory Data Analysis using Data Visualization Techniques</title>
      <dc:creator>Sarah Mukuti</dc:creator>
      <pubDate>Sun, 08 Oct 2023 14:41:37 +0000</pubDate>
      <link>https://dev.to/cesarwrites/exploratory-data-analysis-using-data-visualization-techniques-4jfe</link>
      <guid>https://dev.to/cesarwrites/exploratory-data-analysis-using-data-visualization-techniques-4jfe</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Exploratory data analysis(EDA) is an important aspect of any analysis project. EDA uses statistical and visualization techniques to bring into focus some of the most important aspects about the data that create a better understanding of the dataset. Given a dataset with thousands of records it would be quite difficult to create meaningful understanding by reading through each record on the dataset. Statistical functions can also generate important summaries but they are limited in creating a quick impression for anyone who wants a deeper dive into the dataset. However, graphical visualizations have proved to be very important in helping data analysts quickly visualize data and develop an understanding of the main features of the dataset before they get into the analysis process. This article will explore teh EDA process with a focus on data visualization techniques.&lt;/p&gt;

&lt;h2&gt;
  
  
  Data Visualization
&lt;/h2&gt;

&lt;p&gt;Python provides various libraries that make it easy to craete dta visulizations. The common libraries used in EDA include matplotlib and seaborn. There are also other advanced tools used in data visualization include FusionCharts, Tableau, Grafana and Microsoft PowerBI. However, for the purpose of the EDA process I will concentrate on python visualization tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Scatter Plot
&lt;/h3&gt;

&lt;p&gt;A scatter plot is used to show the relationship between two continuous variables. It is also a good choice to show any outliers on the dataset. For instance, a scatter plot can help to show the relationshiup between age and income levels. &lt;/p&gt;

&lt;h3&gt;
  
  
  2. Histograms
&lt;/h3&gt;

&lt;p&gt;A histogram is used to to visualize a continuous single variable. Interpreting a histogram can help[ a data analyst to decide whether the dataset follows a normal distribution or is skewed towards one end. A histogram can be symmetrical, right-skewed, left-skewed, unimodal, or multimodal. &lt;/p&gt;

&lt;h3&gt;
  
  
  Bar Charts
&lt;/h3&gt;

&lt;p&gt;Ba charts are used to visualize categorical data. For example they can show the changes in total sales for a certain company over several months.&lt;/p&gt;

&lt;h3&gt;
  
  
  Box Plots
&lt;/h3&gt;

&lt;p&gt;Box plots help to visualize the distribution of a continuous variable using measures of central tendency such as median and displaying the quartiles. A box plot is also great at showing any outliers on the variable. &lt;/p&gt;

&lt;p&gt;The code snippet below shows how to create a bar graph using seaborn.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Countplot of segment sizes
import seaborn as sns
plt.figure(figsize=(8, 6))
sns.countplot(x='Cluster', data=rfm_data)
plt.xlabel('Segment')
plt.ylabel('Count')
plt.title('Customer Count by Segment')
plt.show()
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The snippete below creates a box plot&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import seborn as sns
plt.figure(figsize=(12, 6))
plt.subplot(131)
sns.boxplot(x='Cluster', y='Recency', data=rfm_data)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Conclusion&lt;br&gt;
Exploratory data analysis is very important during the data analysis process. By creating the relevant visualizations based on the type of the variable data scientists are able to formulate better hypothesis, facilitate effective decision making and communicate their findings to a wider audience. &lt;/p&gt;

</description>
      <category>datascience</category>
      <category>eventdriven</category>
      <category>analytics</category>
    </item>
    <item>
      <title>Data Science for Beginners: 2023-2024 Complete Roadmap</title>
      <dc:creator>Sarah Mukuti</dc:creator>
      <pubDate>Sun, 01 Oct 2023 18:15:26 +0000</pubDate>
      <link>https://dev.to/cesarwrites/data-science-for-beginners-2023-2024-complete-roadmap-3jmb</link>
      <guid>https://dev.to/cesarwrites/data-science-for-beginners-2023-2024-complete-roadmap-3jmb</guid>
      <description>&lt;h3&gt;
  
  
  Introduction
&lt;/h3&gt;

&lt;p&gt;Data science is an actively growing field that is very valuable to a wide range of industries. There are many opportunities options for people who want to leverage on data and derive actionable insights. From extracting data and storing it in a manner that can easily be accessed by all stakeholders, analysing data to support decision making, and using historical data to predict future performance. There is definitely a lot to do with data in any organisation. This article will focus on creating a roadmap to easily get into data science and learn all the necessary concepts. &lt;/p&gt;

&lt;h3&gt;
  
  
  Define Data Science
&lt;/h3&gt;

&lt;p&gt;Data science is a field that entails analysing and exploring data to extract actionable insights that inform decision making. Data science borrows a lot of concepts from statistics, computer science and mathematics. Another important aspect of data science is domain knowledge about a specific industry when applying the data in solving problems. This article [(&lt;a href="https://dev.to/cesarwrites/the-power-of-domain-knowledge-in-building-a-successful-data-science-career-4k9a)"&gt;https://dev.to/cesarwrites/the-power-of-domain-knowledge-in-building-a-successful-data-science-career-4k9a)&lt;/a&gt;] talks more about domain knowledge and its impact in data science. Therefore, as someone seeking to start a career in data science it is important to align your skills to the relevant disciplines. &lt;/p&gt;

&lt;h3&gt;
  
  
  Prerequisite Skills For a Data Scientist
&lt;/h3&gt;

&lt;p&gt;Contrary to popular perception a masters or Ph.D degree is not a requirement to succeed in data science especially in a technical facing role. However, it is important to have understanding and experience in using the necessary tools and technologies.  &lt;/p&gt;

&lt;h4&gt;
  
  
  Programming
&lt;/h4&gt;

&lt;p&gt;R and python programming languages are important for data scientists because they contribute to exploring data, creating visualisations and statistical modelling. Python is quite popular in the data science space because it is versatile and provides many libraries that are valuable when creating data science solutions.  Another important programming skill for data scientists is understanding how to create queries. MySQL is a good place to start if it is your first time learning to write SQL queries. &lt;/p&gt;

&lt;h4&gt;
  
  
  Mathematics and Statistics
&lt;/h4&gt;

&lt;p&gt;Statistical concepts such as hypothesis testing and regression analysis are very important for data scientists. Additionally understanding calculus, probability and linear algebra are very important as they are embedded in the machine learning algorithms applied by data scientists in building data models.&lt;/p&gt;

&lt;h4&gt;
  
  
  Machine Learning
&lt;/h4&gt;

&lt;p&gt;Once you have understood the programming basics and the statistical foundations of data science the next topic would be machine learning. Machine learning entails the use of algorithms to mimic human reasoning and give computers the capacity to make decisions without being explicitly programmed. Clustering and classification algorithms are popular when creating machine learning models. The popular machine learning techniques are supervised learning, unsupervised learning and reinforcement learning. Diving deeper into machine learning enables you to understand the many algorithms available and which one to select based on the problem you are trying to solve. &lt;/p&gt;

&lt;h4&gt;
  
  
  Find a Specialization
&lt;/h4&gt;

&lt;p&gt;As mentioned before, data science is quite a wide field and in order to succeed you must be able to demonstrate your expertise in at least one specialisation. The popular career paths in data science include;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ML engineer&lt;/li&gt;
&lt;li&gt;Data scientist&lt;/li&gt;
&lt;li&gt;Data visualization expert&lt;/li&gt;
&lt;li&gt;Data analyst&lt;/li&gt;
&lt;li&gt;Analytical engineer&lt;/li&gt;
&lt;li&gt;Data ecologist&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Creating a Portfolio
&lt;/h4&gt;

&lt;p&gt;At this point you have an understanding of important data science concepts and a few projects that showcase your skills. It is important to create a data science portfolio where you can show your potential employers and clients your skillsets. There are many existing platforms that enable you to build a data science portfolio starting with GitHub, Kaggle and even building your own website where you showcase your work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;As a beginner building a successful career in data science can feel intimidating. However, there are many available resources online that are even accessible freely. You only need to create your learning path, work on tangible projects and plug yourself to communities where you network with likeminded professionals. Most importantly keep learning as new techniques are continuously coming up in the dynamic data science field.  &lt;/p&gt;

</description>
      <category>datascience</category>
      <category>beginners</category>
      <category>data</category>
    </item>
    <item>
      <title>The Power of Domain Knowledge in Building a Successful Data Science Career</title>
      <dc:creator>Sarah Mukuti</dc:creator>
      <pubDate>Thu, 07 Sep 2023 11:51:45 +0000</pubDate>
      <link>https://dev.to/cesarwrites/the-power-of-domain-knowledge-in-building-a-successful-data-science-career-4k9a</link>
      <guid>https://dev.to/cesarwrites/the-power-of-domain-knowledge-in-building-a-successful-data-science-career-4k9a</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Data science is an ever-evolving field with opportunities for all the people with technical skills and analytical prowess. The technical knowledge of using data analytic tools and programming languages such as R, python and SQL is highly valued across all industries. However, domain knowledge is an over-looked ingredient that can significantly boost your data science career.Domain knowledge refers to expertise in a specific industry or field, such as healthcare, finance, retail, or agriculture. While data science skills are essential, the real magic happens when you combine them with a deep understanding of the domain you are working in. In this article, we will explore how domain knowledge can have a profound impact on a successful data science career.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Contextual Understanding
&lt;/h2&gt;

&lt;p&gt;It is possible to get sufficient information of the industry standards or operations through the dataset. However, data scientists armed with domain knowledge can better understand the context and nuances of the data they work with. For example, a data scientist with expertise in healthcare will comprehend the intricacies of patient data, medical practices, and regulations far better than one without domain knowledge. This contextual understanding allows for more insightful data analysis, resulting in more accurate models and actionable insights.&lt;/p&gt;

&lt;h2&gt;
  
  
  Feature Engineering
&lt;/h2&gt;

&lt;p&gt;Feature engineering, a crucial step in data preprocessing, involves selecting and transforming the most relevant variables for building predictive models. Selecting features that are not very much relevant to the target output might reduce the accuracy of the model. Domain knowledge can guide data scientists in identifying which features are likely to be influential and which may be noise. In finance, for instance, understanding economic indicators, market trends, and industry-specific metrics can help in selecting the right features for predicting stock prices or credit risk.&lt;/p&gt;

&lt;h2&gt;
  
  
  Problem Framing
&lt;/h2&gt;

&lt;p&gt;Data science projects often start with a problem statement or a question to be answered. Sometimes dat scientists often spend hours working on a project only to realise that they were solving the wrong problems because they did not ask the right questions. Domain knowledge is invaluable in framing these problems correctly. A data scientist who understands the domain can identify the key issues and goals, leading to more meaningful and actionable research questions. This ensures that the data analysis efforts are aligned with the domain's needs and objectives.&lt;/p&gt;

&lt;h2&gt;
  
  
  Improved Communication
&lt;/h2&gt;

&lt;p&gt;Effective communication is a critical skill for data scientists.Domain knowledge enhances a data scientist's ability to communicate their findings and insights to domain experts, stakeholders, and decision-makers. When data scientists can speak the language of the domain, they bridge the gap between data and action, making it easier to convey the significance of their work and collaborate effectively with non-technical teams.&lt;/p&gt;

&lt;h2&gt;
  
  
  Better Model Interpretation
&lt;/h2&gt;

&lt;p&gt;Interpreting machine learning models is a vital aspect of data science. Domain experts can provide valuable insights into model outputs. They can validate whether model predictions align with their domain knowledge and intuition, helping to build trust in the model's reliability. Additionally, domain knowledge can guide the development of explainable AI models, which are crucial in industries where model interpretability is a regulatory requirement.&lt;/p&gt;

&lt;h2&gt;
  
  
  Career Advancement
&lt;/h2&gt;

&lt;p&gt;Data scientists with domain expertise are highly sought after by organizations in specific industries. Their ability to hit the ground running, understand the nuances of the domain, and generate actionable insights quickly can lead to rapid career growth and increased earning potential. Furthermore, domain experts often have access to unique job opportunities that require a blend of technical skills and deep industry knowledge.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enhancing Domain Knowledge
&lt;/h2&gt;

&lt;p&gt;As a data scientist with a background in a technical field such as computer science you always work on diverse projects that belong to different industries. Therefore, it might be quite difficult to create expert domain knowledge in a specific field. Ideally, most organisations hire domain knowledge experts who can provide adequate information to the data scientists who are working on the project.However, it is also important to do a lot of research on the field especially if you intend to work on the specific industry for a considerable timeframe. &lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;While technical skills remain essential in data science, domain knowledge is a game-changer that can set you apart in your career. It empowers data scientists to make better decisions throughout the entire data science pipeline, from problem framing to model deployment. Whether you're passionate about healthcare, finance, e-commerce, or any other domain, investing in domain knowledge can propel your data science career to new heights. As the data science field continues to evolve, remember that the synergy between domain expertise and technical skills will be a powerful combination for success&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>analytics</category>
      <category>computerscience</category>
    </item>
    <item>
      <title>Creating a Quote Generating Application using the Fetch API and DOM Manipulation.</title>
      <dc:creator>Sarah Mukuti</dc:creator>
      <pubDate>Fri, 24 Jun 2022 08:35:51 +0000</pubDate>
      <link>https://dev.to/cesarwrites/creating-a-quote-generating-application-using-the-fetch-api-and-dom-manipulation-3090</link>
      <guid>https://dev.to/cesarwrites/creating-a-quote-generating-application-using-the-fetch-api-and-dom-manipulation-3090</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
JavaScript is a very dynamic web language and one of its great qualities is how it helps front-end developers consume API endpoints.In this article I will create a simple quote generating application based on a public API. The API link is  [&lt;a href="https://type.fit/api/quotes"&gt;https://type.fit/api/quotes&lt;/a&gt;] you can explore it to understand the properties.&lt;br&gt;
You will notice that the outer level of the data is an object nested within an array that contains other objects with specific author and quote properties.&lt;br&gt;&lt;br&gt;
The app uses the following concepts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1. DOM manipulation.&lt;/li&gt;
&lt;li&gt;2. Event listeners. &lt;/li&gt;
&lt;li&gt;3. Fetch API.&lt;/li&gt;
&lt;li&gt;4. CRUD&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Create an empty folder where you will store the project.&lt;br&gt;
The folder should have an index.js file and an index.html file. You can also have a style.css if you wish to add custom styling to the small application.&lt;br&gt;
Add the following code block to make a fetch request.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fetch ('https://type.fit/api/quotes')
.then(res=&amp;gt;res.json())
.then(data=&amp;gt;{data.forEach(quoteObject =&amp;gt; {.then(data=&amp;gt;{data.forEach(quoteObject =&amp;gt; {
    const quoteList = document.getElementById('quote-list');
    const quoteEl = document.createElement('li');
    const spanAuthor = document.createElement('p');
    quoteEl.innerText = `${quoteObject.text}`;
    spanAuthor.innerText = `${quoteObject.author}`;
    spanAuthor.className = 'quote-span';
    quoteEl.appendChild(spanAuthor);
    quoteList.appendChild(quoteEl);
})
})
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The code block makes a call request then does DOM manipulation to display all the quotes and authors on the page.&lt;/p&gt;

&lt;p&gt;After displaying all the quotes you can go ahead to randomly display a quote and the author. &lt;br&gt;
You will have to apply the Math.floor(Math.random()&lt;br&gt;
*data.length) methods to get a quote randomly from our array. &lt;br&gt;
Then pass that quote and author to the html using DOM manipulation.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;document.getElementById('new-quote').addEventListener('click', function (e){
    fetch('https://type.fit/api/quotes')
    .then(response=&amp;gt;response.json())
    .then (data =&amp;gt; {
    const randomQuoteIndex = Math.floor(Math.random() * data.length);
    const quoteText = data[randomQuoteIndex].text;
    let author = data[randomQuoteIndex].author;
 quoteEl.textContent = quoteText;
    quoteAuthorEl.textContent = author;
}
)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;CRUD Operations.&lt;/strong&gt;&lt;br&gt;
CRUD is an abbreviation for create, read, update, and delete operations on a stored data object.&lt;br&gt;
CRUD can also be termed as the basic operations that an application should be able to perform.&lt;br&gt;
Update uses the verbs PUT, POST, and PATCH. &lt;br&gt;
In the next part we will now create a db.json file within your project folder. &lt;br&gt;
Then add the following coed block to POST new quotes to the json.&lt;br&gt;
Before writing the code to postensure the server is running using the command &lt;code&gt;json-server --watch db.json&lt;/code&gt;&lt;br&gt;
Then make a POST request by adding the following header. &lt;br&gt;
The code below creates a new quote and author post to our json server.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const post = {inputQuote, inputAuthor}
const configurationObject =   {
        method: 'POST', 
        headers: {
          'Content-Type': 'application/json',
          'Accept': 'application/json'
        },
        body: JSON.stringify(post),
      }
      fetch(url, configurationObject)
      .then(res=&amp;gt;res.json())
      .then(results=&amp;gt;
        console.log("successful addition"))
        e.target.reset()
})
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can delete a record from the json file using the following code block.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function deleteQuote(){
document.getElementById('delete-form').addEventListener('submit', function(){
    const id = document.getElementById('id').value;
    fetch('http://localhost:3000/quotes/' + id, {
      method: 'DELETE',
    })
    .then(res =&amp;gt; res.json()) // or res.json()
    .then(res =&amp;gt; console.log(res))
})
    }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Below is a link of the repository with the entire project code. &lt;br&gt;
[&lt;a href="https://github.com/cesarWrites/phase-1-project"&gt;https://github.com/cesarWrites/phase-1-project&lt;/a&gt;]&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Python for everyone: "Mastering Python The Right Way”</title>
      <dc:creator>Sarah Mukuti</dc:creator>
      <pubDate>Thu, 03 Mar 2022 09:37:33 +0000</pubDate>
      <link>https://dev.to/cesarwrites/python-for-everyone-mastering-python-the-right-way-30m6</link>
      <guid>https://dev.to/cesarwrites/python-for-everyone-mastering-python-the-right-way-30m6</guid>
      <description>&lt;p&gt;Python is a language that anyone can learn regardless of which area of technology they wish to work in. whether a web developer, data scientist, game developer or machine learning engineer python serves them well. Python has easy syntax compared to other programming languages. However, python has some specific practices that one should master if they want to write good code. Foundational concepts such as variables, data types, functions, classes, data structures, and algorithms are compulsory for every python enthusiast. However, specific frameworks such as Django and flask may not be very essential for someone who is not willing to major in python for web development. &lt;br&gt;
It is very important to decide the area in which they want to use python programming. For instance, if one decides to take the data science path they should familiarize themselves with libraries such as pandas, Numpy, matplotlib, and keras.&lt;br&gt;
Once you become conversant with the foundational concepts of python and settle on the appropriate implementation area its time to move to the most important steps. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create the environment for python projects. This may include, python installation, a suitable code editor, python package manager to install all the necessary libraries. &lt;/li&gt;
&lt;li&gt;Find the best method of learning such as the official python documentation, Video tutorials, or e-books written to facilitate learning python.
&lt;/li&gt;
&lt;li&gt;Settle on a simple project to practice the acquired concepts. &lt;/li&gt;
&lt;li&gt;Push your project to a version control system such as GitHub.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Another important aspect to mastering python the right way is by understanding the specific rules that govern coding in python. These include.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How to do indentations.&lt;/li&gt;
&lt;li&gt;Best conventions when naming variables, functions, and any user-defined classes
.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Finally, mastering python just like any other programming language requires a lot of practice. &lt;/p&gt;

</description>
      <category>python</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Introduction to data structures and algorithms with python</title>
      <dc:creator>Sarah Mukuti</dc:creator>
      <pubDate>Sun, 20 Feb 2022 18:58:13 +0000</pubDate>
      <link>https://dev.to/cesarwrites/introduction-to-data-structures-and-algorithms-with-python-1dfc</link>
      <guid>https://dev.to/cesarwrites/introduction-to-data-structures-and-algorithms-with-python-1dfc</guid>
      <description>&lt;p&gt;This article will analyze data structures and how they are implemented in python. &lt;br&gt;
Towards the end I will also analyze a few sample algorithms. &lt;/p&gt;
&lt;h2&gt;
  
  
  List
&lt;/h2&gt;

&lt;p&gt;A list is a mutable and ordered data structure that is defined using the [] brackets. A list can contain items of different data types.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;languages = ['CSS', 'Java', 'JavaScript', 'Python', 'Ruby', 'C++',
             'PHP', 'SQL', 'Pascal', 'Swift']
#add a new element to the end of the list
languages.append('Kotlin')
print(languages)
#access element on index 0
print(languages[0])

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;

&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; Output : ['CSS', 'Java', 'JavaScript', 'Python', 'Ruby', 'C++', 'PHP', 'SQL', 'Pascal', 'Swift', 'Kotlin']
CSS
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Tuple
&lt;/h2&gt;

&lt;p&gt;A tuple is an immutable data structure that contains a sequence of elements. The elements cannot be altered through adding or removing elements.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#Creating a tuple to store the connection values on a server
#The information cannot be changed in the entire program
host, IP, port = ('Local host', '127.0.0.1', 8080)
print('The connection variables are {} {} {} '.format(host, IP, port))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;

&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Output : The connection variables are Local host 127.0.0.1 8080
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Set
&lt;/h2&gt;

&lt;p&gt;A set is a collection of unique elements. It is unique and unordered. One can remove elements or add unique elements to the set.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;#create a set from list of numbers
numbers = [1, 4, 6, 8, 3, 2, 7] 
num_set = set(numbers)
print(num_set)
#create a list for programming languages
language = {'CSS', 'Java', 'JavaScript', 'Python', 'Ruby', 'PHP'}
print('CSS' in language)
language.add('Kotlin')
print(language.pop())
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; Output : {1, 2, 3, 4, 6, 7, 8}
True
JavaScript
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Dictionary
&lt;/h2&gt;

&lt;p&gt;A dictionary stores items in key value pairs. It is mutable and the elements are unordered.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;City = {'Kenya':'Nairobi', 'Uganda':'Kampala', 'Ghana':'Accra', 'South Africa':'Pretoria'}
print(City)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; Output {'Kenya': 'Nairobi', 'Uganda': 'Kampala', 'Ghana': 'Accra', 'South Africa': 'Pretoria'}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Queue
&lt;/h2&gt;

&lt;p&gt;A queue is a data structure that stores elements in a sequential manner. It supports two operations to either dequeue or enqueue elements. The queue has the front end that points to the starting element and the rear end that points to the last element. Elements on a queue are removed based on the FIFO(first in first out) principle. &lt;/p&gt;

&lt;h2&gt;
  
  
  Stack
&lt;/h2&gt;

&lt;p&gt;The stack is the opposite of a queue in that elements are accessed following the LIFO(Last in first out) principle. The last element is removed first. The basic operations on stack are; push, pop, IsEmpty, IsFull.   &lt;/p&gt;

&lt;h2&gt;
  
  
  Linked List
&lt;/h2&gt;

&lt;p&gt;A linked list is a data structure where all elements are connected to one another. The connection is made through pointers. To create a linked list we use the node class and pass in the necessary objects. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jAWRkrkl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/unyo03kkbru8yl891x4e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jAWRkrkl--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/unyo03kkbru8yl891x4e.png" alt="Image description" width="759" height="169"&gt;&lt;/a&gt;&lt;br&gt;
 &lt;a href="https://media.geeksforgeeks.org/wp-content/cdn-uploads/gq/2013/03/Linkedlist.png"&gt;https://media.geeksforgeeks.org/wp-content/cdn-uploads/gq/2013/03/Linkedlist.png&lt;/a&gt;&lt;br&gt;
A linked list supports some operations such as traversal, insertion, and deletion. &lt;/p&gt;

&lt;h2&gt;
  
  
  Algorithms
&lt;/h2&gt;

&lt;p&gt;An algorithms is a step-by-step procedure that outlines the instructions that are to be followed when solving a problem. Algorithms are not language specific and can be implemented in any programming language. An algorithms can simply be explained through the many procedures that people follow when doing everyday activities for example when preparing a favorite meal one will always start with getting the ingredients, prepare them, and finally get into the cooking process. Similarly when solving programming problems a programmer will always start by defining the problem, getting necessary inputs, and then following the programming procedure to attain the desired output. Some of the algorithms that can be implemented in python include quick sort, greedy search, and binary search algorithms. &lt;/p&gt;

</description>
      <category>python</category>
      <category>algorithms</category>
    </item>
    <item>
      <title>Python 101: Ultimate Python guide</title>
      <dc:creator>Sarah Mukuti</dc:creator>
      <pubDate>Fri, 11 Feb 2022 20:19:14 +0000</pubDate>
      <link>https://dev.to/cesarwrites/python-101-ultimate-python-guide-3paf</link>
      <guid>https://dev.to/cesarwrites/python-101-ultimate-python-guide-3paf</guid>
      <description>&lt;p&gt;Python is a high-level and interpreted language that serves a wide range of purposes in programming. Due to its many libraries and frameworks python is used in web development, data science, artificial intelligence, and automation. Python ahs simple syntax and is also portable across multiple platforms.&lt;br&gt;
When learning python I found the following concepts to be the most important for a beginner. &lt;/p&gt;

&lt;h2&gt;
  
  
  Variable
&lt;/h2&gt;

&lt;p&gt;A variable is a defined memory location. In python variables can be defined and assigned values.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Output
&lt;/h2&gt;

&lt;p&gt;Python provides the inbuilt function print()to display variables, literals, or any other values.  &lt;/p&gt;

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

&lt;h2&gt;
  
  
  Comments
&lt;/h2&gt;

&lt;p&gt;Comments are lines of code that are not executed. They help to document the code and make it easy to explain some of the complicated parts to other people. In python comments are preceded by the # symbol. &lt;/p&gt;

&lt;h2&gt;
  
  
  input
&lt;/h2&gt;

&lt;p&gt;Python allows for the program to request for user-defined inputs. &lt;br&gt;
It uses the input() function&lt;/p&gt;

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

&lt;h2&gt;
  
  
  function
&lt;/h2&gt;

&lt;p&gt;Functions are blocks of code that contain a set of operations. The functions enhance reusability of code. They can be inbuilt or defined by the user. Functions in python are declared using the &lt;strong&gt;def&lt;/strong&gt; keyword.&lt;/p&gt;

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

&lt;h2&gt;
  
  
  Data structures
&lt;/h2&gt;

&lt;p&gt;Data structures provide a way to organize data. they are like containers that can store multiple values of the same or even different data types. They include tuple, lists, dictionary, set, array.  &lt;/p&gt;

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

&lt;h2&gt;
  
  
  Decision making
&lt;/h2&gt;

&lt;p&gt;Decision making is an important aspect to programming. Some lines of code are only executed while a specific condition is valid conditions or when a specific condition is met. The major key words in decision making and looping are; while, for, if--else.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_67xtSxv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p9g9pww2unktf559l4qd.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_67xtSxv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p9g9pww2unktf559l4qd.PNG" alt="Image description" width="880" height="144"&gt;&lt;/a&gt;&lt;br&gt;
In the next article I will write longer programs that analyze decision making and data structures in a more comprehensive manner. The concepts discussed in this article do not exhaust the basics of python but act as a guide to someone who is thinking of starting the python learning journey.  &lt;/p&gt;

</description>
      <category>python</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Fun Facts When Learning React...</title>
      <dc:creator>Sarah Mukuti</dc:creator>
      <pubDate>Sun, 27 Dec 2020 12:44:00 +0000</pubDate>
      <link>https://dev.to/cesarwrites/fun-facts-when-learning-react-1b6h</link>
      <guid>https://dev.to/cesarwrites/fun-facts-when-learning-react-1b6h</guid>
      <description>&lt;p&gt;When I first started learning JavaScript I thought Vanilla JS was the coolest thing I ever tried out. I was able to create simple applications that performed more tasks than simply displaying a set of static HTML elements. I found it intriguing to add programming logic to my applications. &lt;/p&gt;

&lt;p&gt;I have been learning React for the past two weeks. At first I thought it would be pretty tough considering that I previously tried getting my way around angular JavaScript. But from the overview I leant that react was not really a framework. React is a library that was created by cool engineers from Facebook. You don't have to learn everything to start working on an application. Each component can be composed of a specific function making it easy to segment the code. &lt;br&gt;
React components are reusable in different applications. React applications are also optimized in their performance. When making changes to an app in production, you do not have to take down the application to deploy the changes. React uses JSX syntax which is a combination of JavaScript and HTML syntax. It is easy to understand as long as one has a little experience working with HTML. JSX code is easy to debug. &lt;/p&gt;

&lt;p&gt;React is practically rocking the Web Development thanks to the wonderful Facebook Engineers who created this awesome UI library. &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>react</category>
      <category>beginners</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
