<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: KamauRuth</title>
    <description>The latest articles on Forem by KamauRuth (@kamauruth).</description>
    <link>https://forem.com/kamauruth</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%2F852655%2Fa1e4fdfc-a68c-47ec-84aa-f0bedf58408d.png</url>
      <title>Forem: KamauRuth</title>
      <link>https://forem.com/kamauruth</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/kamauruth"/>
    <language>en</language>
    <item>
      <title>Learning to Believe in Myself: My Journey with Programmify PIP4</title>
      <dc:creator>KamauRuth</dc:creator>
      <pubDate>Thu, 09 Oct 2025 21:33:13 +0000</pubDate>
      <link>https://forem.com/kamauruth/learning-to-believe-in-myself-my-journey-with-programmify-pip4-5498</link>
      <guid>https://forem.com/kamauruth/learning-to-believe-in-myself-my-journey-with-programmify-pip4-5498</guid>
      <description>&lt;p&gt;Hi, I’m Ruth Kamau, a passionate tech enthusiast and community builder from Kenya.&lt;br&gt;
My journey into technology has been a mix of excitement, curiosity, and a constant battle with imposter syndrome.&lt;/p&gt;

&lt;p&gt;When I first started learning programming, I often felt like I didn’t belong.&lt;br&gt;
I would scroll through posts from other developers, see people building incredible projects, and quietly ask myself — “Will I ever be that good?”&lt;br&gt;
It wasn’t a lack of effort or passion. It was the little voice of doubt that made me question my place in this field.&lt;/p&gt;

&lt;p&gt;But one thing about me — I never stopped trying.&lt;/p&gt;

&lt;p&gt;I kept learning, kept exploring, and kept reminding myself that growth doesn’t happen overnight. Every line of code I wrote, every bug I fixed, and every community event I joined became part of my growth story.&lt;/p&gt;

&lt;p&gt;Joining Programmify’s PIP4 program has been one of the best decisions I’ve made. This isn’t just another learning program — it’s a movement that helps us, as African builders, find our voice and purpose.&lt;/p&gt;

&lt;p&gt;Through PIP4, I’ve met mentors and peers who inspire me every day. People who remind me that tech is not just about mastering tools and frameworks, but about solving real problems and uplifting others while doing so.&lt;/p&gt;

&lt;p&gt;For me, this program represents hope.&lt;br&gt;
Hope that more women can see themselves in tech.&lt;br&gt;
Hope that young people from small towns or uncertain beginnings can rise, learn, and build something meaningful.&lt;br&gt;
Hope that our African tech ecosystem will continue to grow — one builder, one story at a time.&lt;/p&gt;

&lt;p&gt;I’ve learned that imposter syndrome doesn’t mean I’m not capable — it means I care deeply about what I’m doing.&lt;br&gt;
And now, instead of running from it, I use it as a reminder to keep improving, keep sharing, and keep believing in myself.&lt;/p&gt;

&lt;p&gt;My dream is to build tools and projects that make a difference — especially in the areas of education, community growth, and empowerment.&lt;br&gt;
I want to show that with consistency, faith, and the right community, you can rewrite your story too.&lt;/p&gt;

&lt;p&gt;To anyone reading this who feels they don’t belong in tech — please remember this:&lt;br&gt;
You don’t have to know everything to start.&lt;br&gt;
You just have to start.&lt;/p&gt;

&lt;p&gt;This is my story, and it’s still being written.&lt;br&gt;
I’m proud to be part of #PIP4 with @Programmify, and I can’t wait to build, learn, and grow alongside amazing builders across Africa.&lt;/p&gt;

&lt;p&gt;Here’s to believing in ourselves, one line of code at a time. 💛&lt;/p&gt;

</description>
      <category>programming</category>
      <category>womenintech</category>
      <category>beginners</category>
      <category>career</category>
    </item>
    <item>
      <title>The Value of Following Emerging Trends in Technical Writing: Staying Ahead of the Curve.</title>
      <dc:creator>KamauRuth</dc:creator>
      <pubDate>Sat, 01 Jul 2023 20:58:42 +0000</pubDate>
      <link>https://forem.com/kamauruth/the-value-of-following-emerging-trends-in-technical-writing-staying-ahead-of-the-curve-2a8</link>
      <guid>https://forem.com/kamauruth/the-value-of-following-emerging-trends-in-technical-writing-staying-ahead-of-the-curve-2a8</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Staying current with new trends and technologies is essential for professionals to excel in the always changing field of technical writing. Technical writers must modify their techniques and strategies as technological developments alter how we communicate and consume information. The need of keeping up with current trends in technical writing is examined in this self-reflective article, which also examines the dramatic effects of developing technologies and changing industry norms on this crucial profession.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Embracing technology improvements&lt;/strong&gt;&lt;br&gt;
The discipline of technical writing has undergone a revolution due to the quick speed of technology improvements. New technologies offer exciting prospects to improve knowledge transfer and user experience, from interactive documentation to video tutorials. Technical writers can provide knowledge in more interesting and immersive ways by embracing these developments. For instance, augmented reality (AR) and virtual reality (VR) technologies can be used to develop interactive user manuals or training materials that let users perform practical simulations and troubleshoot in virtual settings.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enhancing User-Centric Documentation&lt;/strong&gt;&lt;br&gt;
Technical writers must constantly improve their strategy for producing user-centric documentation as user expectations change. The necessity of creating user-friendly interfaces, clear navigational schemes, and context-sensitive aid is being emphasized by emerging trends. The needs and preferences of their intended audience must be understood by technical writers, who must then take these considerations into account when creating documentation. Technical writers can offer real-time support and individualized assistance by utilizing emerging trends like chatbots or AI-powered assistants, ensuring consumers have access to the information they need, when they need it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adapting to Evolving Industry Standards&lt;/strong&gt;&lt;br&gt;
Best practices and industry standards for technical writing are not static; they change as technology and user needs do. Technical writers must stay current with these changing standards in order to maintain their reputation and generate documentation that adheres to industry standards. Technical writers need to be knowledgeable with the constantly changing standards for accessibility, localization, and security, for example, in order to guarantee that their documentation remains compliant and available to a wide audience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Teamwork in Technical Writing&lt;/strong&gt;&lt;br&gt;
New trends emphasize the value of teamwork in technical writing. Technical writers must modify their collaborative procedures as remote work becomes more common and make effective use of internet platforms and tools for document management. These solutions, which range from cloud-based platforms to version control systems, allow for real-time collaboration, smooth review cycles, and efficient feedback integration. Technical writers may improve collaboration, simplify document workflows, and provide excellent documentation more quickly by embracing these trends.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Continuous Learning and Professional Development&lt;/strong&gt;&lt;br&gt;
Technical writing is a dynamic subject where new tools, methods, and strategies are continually being developed. Technical writers need to create an attitude of ongoing learning and professional growth if they want to remain relevant and flourish in their field. Participating in online groups, webinars, conferences, and training courses can all help you gain insightful knowledge about new trends and build relationships with other professionals in your field. Technical writers can stay on the cutting edge of their profession by continuously searching out information and accepting new ideas.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Staying current with new trends in technical writing is not an option but rather a must in a world that is driven by technological breakthroughs. Technical writers may produce documentation that is interesting, user-focused, and in line with industry standards by embracing new technologies, adjusting to changing industry norms, and cultivating an attitude of continuous learning. Technical writers can ensure their relevance, develop their skill set, and contribute to the changing face of technical communication by embracing emerging trends. The dedication to keeping informed and adaptive becomes more and more important as the technical writing area develops.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Technical Writing 101: The Ultimate Guide to Technical Writing.</title>
      <dc:creator>KamauRuth</dc:creator>
      <pubDate>Sat, 01 Jul 2023 20:35:36 +0000</pubDate>
      <link>https://forem.com/kamauruth/technical-writing-101-the-ultimate-guide-to-technical-writing-38l</link>
      <guid>https://forem.com/kamauruth/technical-writing-101-the-ultimate-guide-to-technical-writing-38l</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Clear and successful communication of complicated information to a variety of audiences depends heavily on technical writing. Learning the craft of technical writing is crucial whether you're producing a user handbook, a technical report, or a software program documentation. You'll receive a thorough rundown of the fundamental ideas and industry-recognized best practices for technical writing from this all-inclusive reference. You can improve your abilities and create technical documentation of the highest caliber by adhering to these recommendations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1.Understanding Technical Writing.
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1.1 Definition and Purpose of Understanding Technical Writing:&lt;/strong&gt;&lt;br&gt;
Give the definition of technical writing as the act of clearly and concisely expressing technical or specialized knowledge. Describe the numerous fields, such as software documentation, engineering manuals, scientific papers, and user manuals, in which technical writing is appropriate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1.2 Relevance and Advantages:&lt;/strong&gt; Stress the importance of good technical writing in promoting comprehension, lowering errors, and enhancing user experience. Emphasize the advantages of effective communication, such as improved output, satisfied clients, and credibility.&lt;br&gt;
   &lt;strong&gt;1.3 Analyses of the target market:&lt;/strong&gt; Discuss the significance of knowing the demands and characteristics of the target audience. Give examples of audience analysis methods, such as developing user personas, running surveys, or looking at user feedback.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Preparing for Technical Writing.
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;2.1 Specifying Goals:&lt;/strong&gt; Describe the significance of establishing specific goals before beginning the writing process. Give instructions for establishing objectives, specifying the document's purpose, and selecting the main messages to be communicated.&lt;br&gt;
    &lt;strong&gt;2.2 Information Collection:&lt;/strong&gt; Outline effective strategies for collecting information, including conducting research, interviewing subject matter experts, and reviewing existing documentation. Discuss the importance of verifying the accuracy and reliability of sources.&lt;br&gt;
    &lt;strong&gt;2.3 Putting Together an Outline:&lt;/strong&gt;Emphasize the importance of developing a well-structured outline to efficiently organize material. Give advice on how to create logical and consistent document structures and discuss various outlining techniques, such as hierarchical or chronological patterns.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Structuring Technical Documents.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;3.1 Document Components:&lt;/strong&gt; A technical document's title page, table of contents, introduction, body paragraphs, and conclusion are all crucial components that should be explained. Discuss each element's function and content.&lt;br&gt;
   &lt;strong&gt;3.2 Organizing Information&lt;/strong&gt;: Give advice on how to logically arrange material using methods like topic-based structuring, hierarchical ordering, or chronological sequencing. In what ways does information architecture apply to technical writing?&lt;br&gt;
   &lt;strong&gt;3.3 Using Headings, Subheadings, and Bulleted Lists:&lt;/strong&gt;  Discuss the importance of using clear and descriptive headings and subheadings to facilitate navigation and understanding. Explain how to effectively use bulleted lists to present information succinctly and emphasize key points.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Writing Briefly and Clearly.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;4.1 Simplicity and Plain Language&lt;/strong&gt;: Insist on using straightforward language and avoiding needless jargon or technical words. Give advice on how to make difficult concepts simple and divide material into manageable parts.&lt;br&gt;
   &lt;strong&gt;4.2 Active vs. Passive Voice:&lt;/strong&gt; Describe the distinctions between active and passive voice and the proper uses for each. Give instructions on how to use active voice in writing to make it more engaging and concise.&lt;br&gt;
   &lt;strong&gt;4.3 Sentence and paragraph construction&lt;/strong&gt;: Talk about the best ways to write phrases and paragraphs that are clear and logical. Describe the significance of maintaining coherence between paragraphs, avoiding excessive subordination, and utilizing constant sentence length.&lt;br&gt;
   &lt;strong&gt;4.4 Using Examples and Visuals.&lt;/strong&gt; Highlight the effectiveness of visuals, such as diagrams, charts, and illustrations, in enhancing understanding. Provide guidelines for incorporating visuals and using examples to clarify complex concepts or procedures.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Formatting and Styling.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;5.1 Consistent Formatting:&lt;/strong&gt; Maintaining consistent formatting throughout technical documentation is essential for creating a polished and professional look. This includes consistent font styles, sizes, heading hierarchy, and paragraph spacing.&lt;br&gt;
   &lt;strong&gt;5.2 Effective Use of Fonts and Typography&lt;/strong&gt;: In order to improve readability and effectively communicate information, the use of proper typefaces and typography is essential. Prioritize readability and refrain from employing too many different font types in a single document while writing technical documents.&lt;br&gt;
   &lt;strong&gt;5.3 Utilizing White Space:&lt;/strong&gt;The empty area in between parts in a document is referred to as white space or negative space. Consciously using white space can improve the readability and aesthetics of documents. Large blocks of text can be broken up with enough white space to make it easier for readers to process the information, making the document less intimidating and more appealing.&lt;br&gt;
   &lt;strong&gt;5.4 Incorporating Tables and Figures:&lt;/strong&gt; Technical writers should ensure that tables and figures are properly labeled, referenced in the text, and align with the content's context to avoid confusion.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Ensuring Clarity and Accuracy.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;6.1 Specialized Terms:&lt;/strong&gt; Providing clear and concise explanations of complex terms ensures that both experts and novices can understand the content.&lt;br&gt;
   &lt;strong&gt;6.2 Defining Abbreviations and Acronyms:&lt;/strong&gt; Technical writers should explain acronyms and abbreviations when they first appear in a text to avoid misunderstandings. By doing this, readers are spared from having to go back and reread passages to understand them.&lt;br&gt;
   &lt;strong&gt;6.3 Techniques for Editing and Proofreading:&lt;/strong&gt; To ensure correctness and consistency, technical writers should use strategies including reading aloud, examining text from the perspective of various user personas, and using grammar and spell-check tools.&lt;br&gt;
   &lt;strong&gt;6.4 Upkeep of Version Control and Documentation:&lt;/strong&gt; Technical writers should implement version control systems to track document revisions accurately. Maintaining up-to-date documentation ensures that users receive accurate and relevant information.&lt;/p&gt;

&lt;h2&gt;
  
  
  7.Adhering to Style Guides and Standards.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;7.1 Selecting a Style Manual:&lt;/strong&gt; For uniformity and adherence to accepted conventions, it is essential to choose a style guide suitable for the sector and target audience. &lt;br&gt;
   &lt;strong&gt;7.2 References and Citations:&lt;/strong&gt;Technical writers should provide proper references and citations for external sources used in the documentation. Following standardized citation formats, such as APA or MLA, adds credibility to the document and allows readers to access the referenced materials for further study.&lt;br&gt;&lt;br&gt;
   &lt;strong&gt;7.3 Adherence to Sector Standards:&lt;/strong&gt; Different industries may have specific standards and guidelines for technical documentation. Adhering to sector-specific standards is crucial for ensuring the document's relevance and compliance within its domain.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. User-Centric Approach.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;8.1 Understanding User Needs:&lt;/strong&gt; Understanding the needs and expectations of the target audience is paramount to creating user-centric technical documentation.&lt;br&gt;
   &lt;strong&gt;8.2 Creating User-Friendly Instructions: &lt;br&gt;
   8.3 Providing Troubleshooting and FAQs.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  9. Collaborative Writing and Review Process.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;9.1 Team Collaboration Tools.&lt;/strong&gt;&lt;br&gt;
   &lt;strong&gt;9.2 Effective Feedback and Revision Process.&lt;/strong&gt;&lt;br&gt;
   &lt;strong&gt;9.3 Peer Review and Quality Assurance.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  10. Tools and Resources for Technical Writing.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;10.1 Authoring and Word Processing Software.&lt;br&gt;
   10.2 Tools for Diagramming and Visualization.&lt;br&gt;
   10.3 Writing resources and style manuals.&lt;br&gt;
   10.4 Online forums and communities.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  11. Localization and Translation Considerations.
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;11.1 Internationalization and Localization.&lt;br&gt;
   11.2 Adapting Documentation for Different Cultures.&lt;br&gt;
   11.3 Translation Best Practices.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In summary, technical writing is a critical ability that enables professionals to effectively communicate difficult information. You may develop your technical writing skills and create documentation that is understandable, succinct, and user-friendly by adhering to the concepts and best practices described in this comprehensive guide. To succeed in the field of technical writing, keep in mind that you must always improve your abilities, keep up with market trends, and ask for peer input.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>GETTING STARTED WITH JAVA.</title>
      <dc:creator>KamauRuth</dc:creator>
      <pubDate>Sat, 01 Jul 2023 19:32:55 +0000</pubDate>
      <link>https://forem.com/kamauruth/getting-started-with-java-39gd</link>
      <guid>https://forem.com/kamauruth/getting-started-with-java-39gd</guid>
      <description>&lt;h2&gt;
  
  
  What is java?
&lt;/h2&gt;

&lt;p&gt;Java is a class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible.&lt;br&gt;
Java is a platform for computer language programming that Sun Microsystems initially introduced in 1995. Java is a computer language created for the Internet era. Without Java installed, many programs and websites won't function, and new ones are being developed every day. Java is quick, secure, and reliable. Java is used on a variety of devices, including cell phones with Internet access, game consoles, and scientific supercomputers. &lt;/p&gt;

&lt;p&gt;One must be familiar with these popular Java terminology before studying the language.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Java Virtual Machine (JVM):&lt;/strong&gt; JVM is the common name for this. A program's execution is divided into three stages. The program is written, compiled, and executed.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A Java programmer, such as you and I, writes programs.&lt;br&gt;
The JAVAC compiler, a primary Java compiler included in the Java development kit (JDK), performs the compilation. It produces bytecode as an output and accepts a Java program as input.&lt;br&gt;
A program's JVM runs the bytecode produced by the compiler during the Running phase.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;When learning about bytecode and the JVM, we used the phrase &lt;strong&gt;"Java Development Kit" (JDK)&lt;/strong&gt;. Therefore, as implied by the name, it is a full Java development kit that comes with everything such as a compiler, Java Runtime Environment (JRE), java debuggers, java manuals, etc. We need to install JDK on our computer in order to write, compile, and run the java program for it to work&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The next phase in the implementation of a Java application software is necessary. They consist of:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Making the program&lt;/li&gt;
&lt;li&gt;Compiling the software&lt;/li&gt;
&lt;li&gt;Using the application&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Keep in mind that the Java Development Kit (JDK) needs to be correctly installed on our system and that the path will be defined before we start writing the application.&lt;br&gt;
&lt;strong&gt;• Designing a Program&lt;/strong&gt;&lt;br&gt;
   An IDE (NetBeans) or text editor (Notepad) can be used to construct programs.&lt;/p&gt;

&lt;p&gt;** class Test {&lt;br&gt;
            public static void main(String []args)&lt;br&gt;
               {&lt;br&gt;
               System.out.println(“My First Java Program.”);&lt;br&gt;
                     }&lt;br&gt;
          };**&lt;/p&gt;

&lt;h4&gt;
  
  
  File -&amp;gt; Save -&amp;gt; d:\Test.java
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;• Compiling the program.&lt;/strong&gt;&lt;br&gt;
  Running the Java compiler (javac) on "command prompt" with the source file's name will allow us to compile the program.&lt;/p&gt;

&lt;p&gt;If everything goes according to plan, the "javac" compiler generates a file called "Test.class" that contains the program's byte code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;•Running the program.&lt;/strong&gt;&lt;br&gt;
   To run a program, we must use the Java Interpreter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Main Features of Java
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Platform Independent:&lt;/strong&gt; The JVM runs the bytecode that the compiler created after converting the source code to bytes. This means that if we develop a program on Windows, we can run it on Linux, and vice versa. This bytecode can run on any platform, including Windows, Linux, and macOS. Although each operating system uses a distinct JVM, after the bytecode is executed, all operating systems yield the same results. Java is a platform-independent language for this reason.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Object-Oriented Programming Language:&lt;/strong&gt; Object-oriented programming organizes the program in terms of a collection of objects, each of which represents an instance of the class.&lt;/p&gt;

&lt;p&gt;There are four central ideas in object-oriented programming:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Abstraction&lt;/li&gt;
&lt;li&gt;Encapsulation&lt;/li&gt;
&lt;li&gt;Polymorphism&lt;/li&gt;
&lt;li&gt;Encapsulation.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;3. High Performance:&lt;/strong&gt; Java's architecture is designed to minimize runtime overhead, and in some cases, the language uses a Just In Time (JIT) compiler, which only compiles the methods that are actually called, resulting in faster application execution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. **&lt;/strong&gt;Dynamic flexibility:** Because Java is entirely object-oriented, we have the freedom to add classes, modify the methods of existing classes, or even build entirely new classes by using sub-classes. Java even allows native methods, which are functions created in languages other than Java, such as C and C++.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5.&lt;/strong&gt;  &lt;strong&gt;Portable&lt;/strong&gt;:  As we know, java code written on one machine can be run on another machine. The platform-independent feature of java in which its platform-independent bytecode can be taken to any platform for execution makes java portable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6.&lt;/strong&gt; &lt;strong&gt;Java offers functionality for multithreading&lt;/strong&gt;. It is a Java feature that enables the simultaneous execution of two or more software components for optimal CPU efficiency.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>DIFFERENCE BETWEEN BACK-END , FRONT-END AND API TOGETHER WITH TOOLS AND FRAMEWORKS FOR EACH.</title>
      <dc:creator>KamauRuth</dc:creator>
      <pubDate>Wed, 12 Apr 2023 00:26:29 +0000</pubDate>
      <link>https://forem.com/kamauruth/difference-between-back-end-front-end-and-api-together-with-tools-and-frameworks-for-each-1b73</link>
      <guid>https://forem.com/kamauruth/difference-between-back-end-front-end-and-api-together-with-tools-and-frameworks-for-each-1b73</guid>
      <description>&lt;p&gt;What do you understand when words such as front-end, back-end and API are mentioned to you? Tools or frameworks?&lt;/p&gt;

&lt;p&gt;If you are new to these terms don't worry. To make it easy for one to understand let us begin with definition of terms.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;em&gt;&lt;strong&gt;FRONT-END&lt;/strong&gt;&lt;/em&gt;.
&lt;/h2&gt;

&lt;p&gt;This is a type of computer programming that focuses on the creation of features and elements that will be seen by the users and focuses on their functionality; also known as the client-side. Examples include: buttons, images, graphics, navigation, layouts and content organization.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;em&gt;&lt;strong&gt;BACK-END&lt;/strong&gt;&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;This a type of computer programming that focuses on the side that a user cannot see. also known as the server-side. For instance, let us say you are a hotel manager and you want to store all your employee's information. The storage place is what we call a database. An example is MySQL database that runs from a server(a remote computer).&lt;br&gt;
A back-end developer will simply help you manage this database. As you do not directly interact with the back-end features you indirectly interact with element that the developers work with through the front-end application.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;em&gt;&lt;strong&gt;API&lt;/strong&gt;.&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;Application Programming interface(API) is a type of software interface, offering a service to other pieces of software. Simply it acts as a bridge in communication between softwares.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;em&gt;&lt;strong&gt;TOOL(s)&lt;/strong&gt;&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;Its a program which helps to develop a application or maintain the application or other programs.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;em&gt;&lt;strong&gt;FRAMEWORK&lt;/strong&gt;&lt;/em&gt;.
&lt;/h2&gt;

&lt;p&gt;A framework is a structure intended to serve as a support or guide for the building of something that expands the structure into something useful.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;LET'S VISUALIZE THIS TOGETHER FOR BETTER UNDERSTANDING&lt;/strong&gt;.
&lt;/h2&gt;

&lt;p&gt;What is the first thing you see when you get to a restaurant? Yes you got it right. There are chairs, tables, nice paintings of maybe food or art and people having their meal. Now this is what we refer to as the &lt;strong&gt;FRONT-END&lt;/strong&gt;. It is everything visible to you when you are in a restaurant.&lt;/p&gt;

&lt;p&gt;Now we have what we call the Kitchen. What are some of the activities that happen in the kitchen? Of course there is cooking, cleaning the dishes and so much more. But when you get into a restaurant do you get to see what goes on in the kitchen? Definitely No! So this is what we term as &lt;strong&gt;BACK-END&lt;/strong&gt;. You may be aware of the activities that are going on but you cannot see them.&lt;/p&gt;

&lt;p&gt;Lastly, there are people called Waiters. They are the ones that get the food from the kitchen and bring it to us. They act as a link between us the customers and the cooks in the kitchen and also the food. In this case the waiters serve as the &lt;strong&gt;API&lt;/strong&gt;. Through them we are able to get the food from the kitchen.&lt;/p&gt;

&lt;p&gt;It would be really chaotic if there was no order,right?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tools and Frameworks for Front-end Development&lt;/strong&gt;.&lt;br&gt;
 Languages &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Html&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;li&gt;Javascript &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;frameworks and libraries.                &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;jQuery&lt;/li&gt;
&lt;li&gt;React.js &lt;/li&gt;
&lt;li&gt;AngularJS &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tools and frameworks for Back-end Development&lt;/strong&gt;&lt;br&gt;
Languages.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PHP &lt;/li&gt;
&lt;li&gt;java&lt;/li&gt;
&lt;li&gt;python&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Frameworks.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Express
&lt;/li&gt;
&lt;li&gt;Django&lt;/li&gt;
&lt;li&gt;Rails&lt;/li&gt;
&lt;li&gt;Laravel&lt;/li&gt;
&lt;li&gt;Spring&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's go and start coding :-)&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>devops</category>
      <category>javascript</category>
      <category>programming</category>
    </item>
    <item>
      <title>INTRODUCTION TO DATA STRUCTURES AND ALGORITHIMS.</title>
      <dc:creator>KamauRuth</dc:creator>
      <pubDate>Sun, 19 Jun 2022 20:00:19 +0000</pubDate>
      <link>https://forem.com/kamauruth/introduction-to-data-structures-and-algorithims-4fa9</link>
      <guid>https://forem.com/kamauruth/introduction-to-data-structures-and-algorithims-4fa9</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;em&gt;INTRODUCTION&lt;/em&gt;.&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Data&lt;/em&gt; - Data can be defined as facts or figures, or information that's stored in or used by a computer.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Structures&lt;/em&gt; - A structure is used to represent information about something more complicated than a single number, character, or Boolean can do.&lt;/p&gt;

&lt;p&gt;Therefore data structures are a way of collecting and organizing data in such a way that we can perform operations on data. Some of the examples that we know include graphs, trees and linked lists.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Types of Data Structures&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Linear Data Structures - Items are arranged in a sequence. Example: Array&lt;br&gt;
Non-linear - Data items are not arranged in a sequence. Example: Tree, Graph&lt;br&gt;
Dynamic - It expands or shrinks depending on the program requirements&lt;br&gt;
Static - Are those whose size and structures associated memory locations are fixed.&lt;br&gt;
Algorithms - They are a set of instructions(finite or logical) that are used to solve a problem&lt;br&gt;
Algorithms are said to be efficient and fast when they take less time to execute and consume less memory.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Properties of an Algorithm&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
Input&lt;br&gt;
Output&lt;br&gt;
Finiteness&lt;br&gt;
Definiteness&lt;br&gt;
Correctness&lt;br&gt;
An algorithm generally requires the following components:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Instruction Space&lt;/em&gt;: A space to store the the executable version of the program.&lt;br&gt;
&lt;em&gt;Data Space&lt;/em&gt;: Space required to store the constants and variables.&lt;br&gt;
&lt;em&gt;Environment Space&lt;/em&gt;: Stores the environment information.&lt;/p&gt;

&lt;p&gt;Data Structures and Algorithms come in handy in problem solving.&lt;br&gt;
A problem can be described as something that has an initial state, goal state and the number of steps taken to achieve from the initial to goal state.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>python</category>
      <category>opensource</category>
      <category>github</category>
    </item>
    <item>
      <title>FAKE NEWS DETECTION.</title>
      <dc:creator>KamauRuth</dc:creator>
      <pubDate>Sun, 01 May 2022 20:43:20 +0000</pubDate>
      <link>https://forem.com/kamauruth/fake-news-detection-48k2</link>
      <guid>https://forem.com/kamauruth/fake-news-detection-48k2</guid>
      <description>&lt;p&gt;&lt;strong&gt;Fake News Detection&lt;/strong&gt;&lt;br&gt;
Fake news is one of the biggest problems in the world because it leads to a lot of misinformation. Most of these false news may be about about a community’s political and religious beliefs and can lead to riots and violence as you must have seen in the country where you live. So, to detect fake news, we can find relationships between the fake news headlines so that we can train a machine learning model that can tell us whether a particular piece of information is fake or real by simply observing the headline.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Fake News Detection using Python&lt;/strong&gt;&lt;br&gt;
My dataset for the fake news detection task has data about the news title, news content, and a column known as label that shows whether the news is fake or real. So we can use this dataset to find relationships between fake and real news headlines to understand what type of headlines are in most fake news. Below is my dataset.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DATASET&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;gt; #we're loading data into our notebook
&amp;gt; import numpy as np
&amp;gt; import pandas as pd
&amp;gt; import matplotlib.pyplot as plt
&amp;gt; import warnings
&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;#importing our data through pandas
#importing our data through pandas
data=pd.read_csv('/content/drive/MyDrive/news.csv')
&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;#we check how our data looks like
data
&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;#we do data analysis and preprocessing
data.describe()

&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;
#To check the total number of rows in our data
data.count()
&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;#To check whether our data have missing values
data.isnull().sum()
&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;#we convert label into 1 and 0
data['label'] = data['label'].apply(lambda x: 1 if x == 'REAL' else 0)
&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;#we convert our data from categorigal to numerical
dummies=pd.get_dummies(data[['title','text']])
&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;#we split our data into x and y
x=data.drop('label',axis=1)
y=data['label']
&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;#lets import the model
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
&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;np.random.seed(42)
model=RandomForestClassifier()
x_train,x_test,y_train,y_test=train_test_split(dummies,
                                              y,
                                              test_size=0.2)
model.fit(x_train,y_train)
&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;model.score(x_test,y_test).
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>programming</category>
      <category>python</category>
      <category>devops</category>
      <category>github</category>
    </item>
    <item>
      <title>The Ultimate Python Tutorial For Beginners</title>
      <dc:creator>KamauRuth</dc:creator>
      <pubDate>Sun, 24 Apr 2022 15:47:00 +0000</pubDate>
      <link>https://forem.com/kamauruth/the-ultimate-python-tutorial-for-beginners-eoj</link>
      <guid>https://forem.com/kamauruth/the-ultimate-python-tutorial-for-beginners-eoj</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is Python🤔?&lt;/strong&gt;&lt;br&gt;
Python is an interpreted, general, high-level programming language invented by Guido van Rossum and conceived in 1991.&lt;br&gt;
Python is a friendly, easy and simple language.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Applications of python&lt;/strong&gt;&lt;br&gt;
Web development&lt;br&gt;
Desktop applications&lt;br&gt;
Machine learning and artificial intelligence&lt;br&gt;
Data science&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Python installation&lt;/strong&gt;&lt;br&gt;
Visit &lt;a href="https://www.python.org/downloads/%5B%5D(url)"&gt;https://www.python.org/downloads/[](url)&lt;/a&gt;&lt;br&gt;
Select your Operating system&lt;br&gt;
Select the release or version, click on it to download.&lt;br&gt;
Double click on the file to execute and install. For window mark "add to system paths" An alternative way to install python on Linux is to run&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;gt; sudo apt install python3 or sudo apt install python on the terminal&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Variables in python&lt;/strong&gt;&lt;br&gt;
A variable is a pointer to an object. Once an object is assigned to a variable you refer to the object by that name. But the data itself is contained in the object. In python you don't have to declare the python before using them or declaring their type.&lt;br&gt;
However it is important to note that&lt;br&gt;
A variable is only a name given to an object and all the operations done on the variable affect the object.&lt;br&gt;
Values stored in variables can be changed during program execution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rules for creating variables.&lt;/strong&gt;&lt;br&gt;
Must start with a letter or underscore character.&lt;br&gt;
Variable cannot start with a number.&lt;br&gt;
Can only contain alpha-numeric character and underscore(A- Z,0-9, _)&lt;br&gt;
Variables are case sensitive, (age, Age and AGE) are different variables&lt;br&gt;
Keywords cannot be used to name variables.&lt;/p&gt;

&lt;h1&gt;
  
  
  declaring variables
&lt;/h1&gt;

&lt;p&gt;age = 45&lt;br&gt;
Literals in python.&lt;br&gt;
This is data given in variables.&lt;br&gt;
Python has different types of variables;&lt;/p&gt;

&lt;p&gt;String literals&lt;br&gt;
Numeric literals&lt;br&gt;
Boolean literals&lt;br&gt;
Literal collections&lt;br&gt;
Special literal&lt;br&gt;
1.String literals&lt;br&gt;
These are characters that are surrounded by single or double quotes.&lt;/p&gt;

&lt;h1&gt;
  
  
  In single quote
&lt;/h1&gt;

&lt;p&gt;name = 'Ruth'&lt;/p&gt;

&lt;h1&gt;
  
  
  In double quotes
&lt;/h1&gt;

&lt;p&gt;name = "Ruth"&lt;/p&gt;

&lt;p&gt;2.Numeric literals&lt;br&gt;
They are of different types;&lt;/p&gt;

&lt;p&gt;Integers&lt;br&gt;
Float&lt;br&gt;
Complex&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Integers&lt;br&gt;
These are both positive and negative integers without floating point numbers.&lt;br&gt;
a = 2&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Float&lt;br&gt;
These are both positive and negative numbers with&lt;br&gt;
floating&lt;br&gt;
point numbers(with decimals).&lt;br&gt;
num =0.2&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Complex&lt;br&gt;
These are numbers having both a real and imaginary part in the form of x + 5j, where x is real and y is imaginary&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Boolean literals&lt;br&gt;
They are only two;&lt;br&gt;
True&lt;br&gt;
False&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Literal collections&lt;br&gt;
These are;&lt;br&gt;
List&lt;br&gt;
Tuples&lt;br&gt;
Dictionaries&lt;br&gt;
Set&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;6.Special literals&lt;br&gt;
Python contains one special literal. "None", it is used to define a null variable. If "None" is compared with anything else than "None" it will return false.&lt;/p&gt;

&lt;p&gt;Keywords in python&lt;br&gt;
These are reserved words that have a specific meaning and purposes and can't be used for anything else but those specific purposes. Note that keywords are different from python built in functions and types. &lt;br&gt;
Here are some of the python keywords;&lt;/p&gt;

&lt;p&gt;False ,await, else, import, pass,&lt;br&gt;
None, break, except, in, ,raise&lt;br&gt;
True, class, finally, is, return,&lt;br&gt;
and, continue, for, lambda, try,&lt;br&gt;
as, def, from, nonlocal, while.&lt;/p&gt;

&lt;p&gt;Operators in python.&lt;br&gt;
They following are  types of python operators;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Arithmetic operators&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Used to perform mathematical operations like addiction, subtraction, multiplication and division.&lt;br&gt;
Operator Description Syntax:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;- x + y Addition: adds two operands&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;– - x – y Subtraction: subtracts two operands&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;- Multiplication: multiplies two operands x * y&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;/ - x / y Division (float): divides the first operand by the second&lt;/p&gt;

&lt;p&gt;// - x // y Division (floor): The result will be rounded to the next smallest whole number.&lt;/p&gt;

&lt;p&gt;** - x ** y Exponentiation: the result will be x raised to the power of y&lt;/p&gt;

&lt;p&gt;% - x % y Modulus: returns the remainder when the x is divided by y&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Assignment operators
They are used to assign values to variables
=, !=, +=, -=, *=, /=,&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;3.logical operators&lt;br&gt;
used to combine conditional statement&lt;br&gt;
and - returns True both of the statements are true&lt;br&gt;
or - return True if one of the of the statement is true&lt;br&gt;
not - reverse the result, it returns False if the results is False&lt;/p&gt;

&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;x = 4&lt;br&gt;
print(x &amp;gt; 3 and x &amp;lt; 10)&lt;br&gt;
True &lt;br&gt;
 returns True 4 is greater than 3 and less than 10&lt;/p&gt;

&lt;p&gt;print(x &amp;gt; 3 or x &amp;lt; 3). Assignment operators&lt;br&gt;
They are used to assign values to variables&lt;br&gt;
=, !=, +=, -=, *=, /=,&lt;br&gt;
True &lt;br&gt;
 This returns True because one of the statement is True&lt;/p&gt;

&lt;p&gt;print(not(x &amp;gt; 3 and x &amp;lt; 10))&lt;br&gt;
False&lt;br&gt;
This returns False as it reverses the result.&lt;/p&gt;
&lt;/blockquote&gt;


&lt;/blockquote&gt;
&lt;br&gt;
&lt;/blockquote&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>tutorial</category>
      <category>python</category>
    </item>
  </channel>
</rss>
