<?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: RD</title>
    <description>The latest articles on DEV Community by RD (@rodiwa).</description>
    <link>https://dev.to/rodiwa</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%2F377658%2F51d614ac-621b-44ed-9201-15475d15b812.png</url>
      <title>DEV Community: RD</title>
      <link>https://dev.to/rodiwa</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rodiwa"/>
    <language>en</language>
    <item>
      <title>The Evolution of Artificial Intelligence</title>
      <dc:creator>RD</dc:creator>
      <pubDate>Fri, 14 Feb 2025 12:37:27 +0000</pubDate>
      <link>https://dev.to/rodiwa/the-evolution-of-artificial-intelligence-2a7a</link>
      <guid>https://dev.to/rodiwa/the-evolution-of-artificial-intelligence-2a7a</guid>
      <description>&lt;h2&gt;
  
  
  The Evolution of Artificial Intelligence
&lt;/h2&gt;

&lt;p&gt;The future of artificial intelligence (AI) is a topic of immense interest and speculation. As technology continues to advance at an unprecedented pace, AI is poised to transform various sectors, from healthcare to finance. With innovations in machine learning, natural language processing, and robotics, the potential applications of AI are expanding, promising a future that is both exciting and challenging.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI in Everyday Life
&lt;/h2&gt;

&lt;p&gt;AI is becoming increasingly integrated into our daily lives, enhancing convenience and efficiency. Smart assistants like Siri and Alexa are just the tip of the iceberg. From personalized recommendations on streaming platforms to AI-driven customer service chatbots, the technology is reshaping how we interact with the digital world. As AI continues to evolve, we can expect even more sophisticated applications that will seamlessly blend into our routines.&lt;/p&gt;

&lt;h2&gt;
  
  
  Transforming Industries
&lt;/h2&gt;

&lt;p&gt;The impact of AI on various industries is profound. In healthcare, AI algorithms are being used to analyze medical data, leading to faster diagnoses and personalized treatment plans. In finance, AI is revolutionizing risk assessment and fraud detection, making transactions safer and more efficient. The manufacturing sector is also benefiting from AI through automation and predictive maintenance, which enhance productivity and reduce costs. As these technologies mature, their influence will only grow, driving innovation across sectors.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ethical Implications and Challenges
&lt;/h2&gt;

&lt;p&gt;As we embrace the future of AI, ethical considerations become increasingly important. Issues such as data privacy, algorithmic bias, and job displacement must be addressed to ensure that AI technologies are developed responsibly. Policymakers, technologists, and ethicists must collaborate to create frameworks that promote fairness and accountability in AI systems. The challenge lies in balancing innovation with ethical standards to foster public trust in these technologies.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Collaborative Future
&lt;/h2&gt;

&lt;p&gt;Looking ahead, the future of AI is not just about machines replacing humans; it’s about collaboration. The concept of human-AI partnership is gaining traction, where AI augments human capabilities rather than replacing them. This synergy can lead to enhanced creativity, improved decision-making, and innovative solutions to complex problems. As we navigate this new landscape, embracing collaboration will be key to unlocking the full potential of AI.&lt;/p&gt;

&lt;p&gt;The future of artificial intelligence is bright and full of possibilities. As we continue to explore and innovate, the journey promises to be transformative. Stay engaged with us for more insights into how AI will shape our world in the years to come!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The Dark Side of AI</title>
      <dc:creator>RD</dc:creator>
      <pubDate>Sun, 09 Feb 2025 13:28:12 +0000</pubDate>
      <link>https://dev.to/rodiwa/the-dark-side-of-ai-1kbj</link>
      <guid>https://dev.to/rodiwa/the-dark-side-of-ai-1kbj</guid>
      <description>&lt;h2&gt;
  
  
  The Dark Side of AI
&lt;/h2&gt;

&lt;p&gt;Artificial Intelligence (AI) has become an integral part of our daily lives, enhancing efficiency and productivity across various sectors. However, as we embrace this technology, it is crucial to acknowledge the disadvantages that accompany its rapid advancement. Understanding these drawbacks can help us navigate the complexities of AI in today's world.&lt;/p&gt;

&lt;h2&gt;
  
  
  Job Displacement
&lt;/h2&gt;

&lt;p&gt;One of the most significant concerns surrounding AI is job displacement. As machines and algorithms become capable of performing tasks traditionally done by humans, many workers face the threat of redundancy. Industries such as manufacturing, retail, and even professional services are increasingly automating processes, leading to a potential rise in unemployment rates. This shift necessitates a reevaluation of workforce skills and the need for retraining programs to help displaced workers transition into new roles.&lt;/p&gt;

&lt;h2&gt;
  
  
  Privacy and Surveillance Issues
&lt;/h2&gt;

&lt;p&gt;AI technologies often rely on vast amounts of data to function effectively, raising serious privacy concerns. The collection and analysis of personal information can lead to intrusive surveillance practices, where individuals are constantly monitored. This not only infringes on personal privacy but also poses risks of data breaches and misuse of sensitive information. As AI systems become more pervasive, establishing robust data protection regulations is essential to safeguard individual rights.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bias and Discrimination
&lt;/h2&gt;

&lt;p&gt;AI systems are only as good as the data they are trained on. If the training data contains biases, the AI can perpetuate and even amplify these biases in its decision-making processes. This can lead to discriminatory outcomes in critical areas such as hiring, law enforcement, and lending. Addressing bias in AI is a complex challenge that requires ongoing scrutiny and the implementation of fairness measures to ensure equitable treatment for all individuals.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dependence on Technology
&lt;/h2&gt;

&lt;p&gt;As society becomes increasingly reliant on AI, there is a growing concern about our dependence on technology. Over-reliance can lead to a decline in critical thinking and problem-solving skills, as individuals may defer to AI systems for decision-making. This dependency can also create vulnerabilities, as any malfunction or cyberattack on AI systems could disrupt essential services and operations, highlighting the need for human oversight and intervention.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ethical Dilemmas
&lt;/h2&gt;

&lt;p&gt;The rise of AI brings forth numerous ethical dilemmas that society must confront. Questions surrounding accountability, transparency, and the moral implications of AI decisions are becoming more pressing. For instance, in autonomous vehicles, who is responsible in the event of an accident? As AI continues to evolve, establishing ethical guidelines and frameworks will be crucial to ensure that technology serves humanity's best interests.&lt;/p&gt;

&lt;p&gt;The conversation around the disadvantages of AI is vital as we navigate this transformative era. By addressing these challenges head-on, we can work towards a future where AI enhances our lives while minimizing its negative impacts. Stay engaged with us for more insights into the evolving landscape of technology and its implications for society.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Understanding Vertical Agents</title>
      <dc:creator>RD</dc:creator>
      <pubDate>Fri, 07 Feb 2025 11:16:26 +0000</pubDate>
      <link>https://dev.to/rodiwa/understanding-vertical-agents-3bik</link>
      <guid>https://dev.to/rodiwa/understanding-vertical-agents-3bik</guid>
      <description>&lt;h2&gt;
  
  
  Understanding Vertical Agents
&lt;/h2&gt;

&lt;p&gt;Vertical agents are specialized software programs designed to operate within specific industries or sectors. Unlike general-purpose agents, vertical agents focus on niche markets, providing tailored solutions that address unique challenges and requirements. This specialization allows them to deliver enhanced performance and efficiency, making them invaluable tools for businesses looking to optimize their operations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features of Vertical Agents
&lt;/h2&gt;

&lt;p&gt;Vertical agents come equipped with features that cater specifically to their target industries. These may include industry-specific data analytics, compliance management tools, and customer relationship management (CRM) functionalities. By integrating these features, vertical agents streamline processes, improve decision-making, and enhance overall productivity, allowing organizations to stay competitive in their respective fields.&lt;/p&gt;

&lt;h2&gt;
  
  
  Applications Across Industries
&lt;/h2&gt;

&lt;p&gt;The versatility of vertical agents is evident in their applications across various sectors, including healthcare, finance, and manufacturing. In healthcare, for instance, vertical agents can assist with patient management and regulatory compliance. In finance, they can automate trading processes and risk assessments. By focusing on the unique needs of each industry, vertical agents provide solutions that are not only effective but also scalable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of Implementing Vertical Agents
&lt;/h2&gt;

&lt;p&gt;Implementing vertical agents can lead to significant benefits for organizations. These agents reduce operational costs by automating routine tasks, minimize human error, and enhance data accuracy. Additionally, they enable businesses to respond more swiftly to market changes and customer demands, fostering a culture of agility and innovation. As a result, companies can achieve higher levels of customer satisfaction and loyalty.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Future of Vertical Agents
&lt;/h2&gt;

&lt;p&gt;As technology continues to evolve, the future of vertical agents looks promising. With advancements in artificial intelligence and machine learning, these agents will become even more sophisticated, capable of learning from data and adapting to changing environments. This evolution will empower businesses to harness the full potential of vertical agents, driving growth and innovation in their respective industries.&lt;/p&gt;

&lt;p&gt;The concept of vertical agents is gaining traction as businesses seek specialized solutions to meet their unique challenges. As these agents evolve, they will play a crucial role in shaping the future of industry-specific operations. Stay tuned for more insights into how vertical agents can transform your business landscape!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Understanding LLM Concepts: Orchestrators, Evaluators, Validators, and Guardrails</title>
      <dc:creator>RD</dc:creator>
      <pubDate>Thu, 23 Jan 2025 18:48:08 +0000</pubDate>
      <link>https://dev.to/rodiwa/understanding-llm-concepts-orchestrators-evaluators-validators-and-guardrails-5b6n</link>
      <guid>https://dev.to/rodiwa/understanding-llm-concepts-orchestrators-evaluators-validators-and-guardrails-5b6n</guid>
      <description>&lt;p&gt;Large Language Models (LLMs) have transformed the landscape of artificial intelligence, enabling machines to understand and generate human-like text. However, the effective deployment of LLMs requires a nuanced understanding of several key concepts, including orchestrators, evaluators, validators, and guardrails. These components work together to ensure that LLMs operate efficiently, ethically, and safely in various applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Role of Orchestrators
&lt;/h2&gt;

&lt;p&gt;Orchestrators are essential in managing the workflow of LLMs. They coordinate the interaction between different components of the AI system, ensuring that tasks are executed in a logical sequence. By optimizing resource allocation and managing data flow, orchestrators enhance the performance of LLMs, allowing them to process requests more efficiently. This orchestration is crucial in applications like chatbots and virtual assistants, where timely responses are vital for user satisfaction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Evaluators: Measuring Performance
&lt;/h2&gt;

&lt;p&gt;Evaluators play a critical role in assessing the output of LLMs. They analyze the generated text for quality, relevance, and coherence, providing feedback that can be used to refine the model. By employing metrics such as BLEU scores and human evaluations, evaluators ensure that LLMs meet the desired standards of performance. This continuous evaluation process is essential for maintaining the reliability of LLMs in applications ranging from content generation to customer support.&lt;/p&gt;

&lt;h2&gt;
  
  
  Validators: Ensuring Accuracy
&lt;/h2&gt;

&lt;p&gt;Validators are responsible for verifying the accuracy and appropriateness of the information produced by LLMs. They check the outputs against established facts and guidelines, ensuring that the generated content is not only correct but also contextually relevant. This validation process is particularly important in sensitive areas such as healthcare and legal advice, where misinformation can have serious consequences. By implementing robust validation mechanisms, organizations can enhance the trustworthiness of their LLM applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Guardrails: Ethical and Safety Measures
&lt;/h2&gt;

&lt;p&gt;Guardrails are the safety measures put in place to prevent LLMs from generating harmful or inappropriate content. These mechanisms include content filters, ethical guidelines, and user feedback loops that help mitigate risks associated with AI-generated text. By establishing clear boundaries for acceptable outputs, guardrails protect users from potential harm and ensure that LLMs are used responsibly. As AI technology continues to evolve, the importance of implementing effective guardrails cannot be overstated.&lt;/p&gt;

&lt;p&gt;The landscape of large language models is rapidly evolving, and understanding the roles of orchestrators, evaluators, validators, and guardrails is crucial for leveraging their potential. As we move forward, the collaboration between these elements will pave the way for innovative applications and responsible AI usage. Stay tuned for more insights into the fascinating world of AI and LLMs!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
    </item>
    <item>
      <title>How I'm Sending Wordle Answers To My Phone Everyday</title>
      <dc:creator>RD</dc:creator>
      <pubDate>Thu, 24 Feb 2022 04:47:58 +0000</pubDate>
      <link>https://dev.to/rodiwa/how-im-sending-wordle-answers-to-my-phone-everyday-3pjc</link>
      <guid>https://dev.to/rodiwa/how-im-sending-wordle-answers-to-my-phone-everyday-3pjc</guid>
      <description>&lt;p&gt;I'm not a fan of &lt;a href="https://www.tomsguide.com/news/what-is-wordle" rel="noopener noreferrer"&gt;Wordle&lt;/a&gt;. What I AM a fan of, is bumming out my loved ones by getting the right Wordles without having to stress about it. Call it a cheat-code.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Wanted To Do
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;I wanted to get the daily Wordle, right into my phone. Everyday.&lt;/li&gt;
&lt;li&gt;All this without having to guess the word, even though my English is very the amazghingly.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How I Did It
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;I created a Slack channel and a Telegram group. This is where I'd be sending the Wordles everyday.&lt;/li&gt;
&lt;li&gt;I setup a simple python code (&lt;a href="https://github.com/rodiwa/daily-wordle" rel="noopener noreferrer"&gt;It's on my GitHub&lt;/a&gt;) to scrape websites that give you Wordles for the day. It would then send that Wordle to Slack, Telegrams above. I was surprised to see so many websites &lt;a href="https://www.google.com/search?q=wordle+answers&amp;amp;ei=7AwXYrjIGMSJ4-EPlqWmuAw&amp;amp;ved=0ahUKEwi47sjHw5f2AhXExDgGHZaSCccQ4dUDCA4&amp;amp;uact=5&amp;amp;oq=wordle+answers&amp;amp;gs_lcp=Cgdnd3Mtd2l6EAMyCAgAELEDEJECMgoIABCxAxCDARBDMgQIABBDMgQIABADMgYIABAKEAMyCwgAEIAEELEDEIMBMgUIABCABDIFCAAQgAQyBQgAEIAEMgUIABCABDoHCAAQRxCwAzoKCC4Q1AIQsAMQQ0oECEEYAEoECEYYAFDVEVjVEWC8E2gBcAF4AIABjgGIAY4BkgEDMC4xmAEAoAEByAEKwAEB&amp;amp;sclient=gws-wiz" rel="noopener noreferrer"&gt;giving away the answers&lt;/a&gt;. This made it easier for me.&lt;/li&gt;
&lt;li&gt;I then &lt;a href="https://docs.aws.amazon.com/lambda/latest/dg/python-package.html" rel="noopener noreferrer"&gt;deployed this code&lt;/a&gt; to an AWS Lambda, so I could run it periodically using a cron schedule.&lt;/li&gt;
&lt;li&gt;I &lt;a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/RunLambdaSchedule.html" rel="noopener noreferrer"&gt;setup a schedule&lt;/a&gt; using a simple AWS CloudWatch Event rule.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7639vg9x75v9cdhy8mp9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7639vg9x75v9cdhy8mp9.jpg" alt="What notifications look like on the phone" width="540" height="1011"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Some Considerations
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Most of the websites I found had a date and/or some counter in their URL. This would mean I would have to dynamically update the daily URL in code everyday. The trick was to find a website that &lt;a href="https://gamerjournalist.com/wordle-answers/" rel="noopener noreferrer"&gt;has a static URL&lt;/a&gt;, so you can hardcode it once and forget about it.&lt;/li&gt;
&lt;li&gt;If you're using AWS Lambda, it goes without saying you'll have to deal with &lt;a href="https://docs.aws.amazon.com/lambda/latest/dg/invocation-layers.html" rel="noopener noreferrer"&gt;AWS Lambda Layers&lt;/a&gt; for third-party dependencies. I used &lt;a href="https://pypi.org/project/requests/" rel="noopener noreferrer"&gt;requests&lt;/a&gt; and &lt;a href="https://pypi.org/project/beautifulsoup4/" rel="noopener noreferrer"&gt;beautifulsoup4&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Picking the "scheduled" time to run was a little tricky. Turns out a new Wordle comes out at midnight GMT (5:30AM IST, my time). And the websites I want to scrape comes out with their answer a little over 11:30AM IST. So I figured having a run time of 2PM should not be too bad. I also scheduled another run at 7PM, just in case the website had not been updated by then. It also acts as a reminder if I myself missed to see the first notification.&lt;/li&gt;
&lt;li&gt;AWS Lambda sets the time in GMT, so I had to convert that to IST. I used the very famous &lt;a href="https://crontab.guru/" rel="noopener noreferrer"&gt;https://crontab.guru/&lt;/a&gt; to config my cron.&lt;/li&gt;
&lt;li&gt;I initially &lt;a href="https://api.slack.com/messaging/webhooks" rel="noopener noreferrer"&gt;setup on Slack&lt;/a&gt; at first, but then to add members, they would have to be on Slack themselves. WhatsApp API does not allow to send messages to groups (I think you need a business account for that). I decided to eventually &lt;a href="https://dev.to/rizkyrajitha/get-notifications-with-telegram-bot-537l"&gt;send message to a Telegram group&lt;/a&gt; as it has easy API integrations and most of my friends are on Telegram anyways.&lt;/li&gt;
&lt;li&gt;I decided against a Telegram channel, and to have it on a group only, just so I keep this side-project private to me and my friends.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>beginners</category>
      <category>showdev</category>
    </item>
    <item>
      <title>How I Watch Movies From Any Device At Home Using NFS Server</title>
      <dc:creator>RD</dc:creator>
      <pubDate>Tue, 15 Feb 2022 19:10:50 +0000</pubDate>
      <link>https://dev.to/rodiwa/how-i-watch-movies-from-any-device-at-home-using-nfs-server-1o23</link>
      <guid>https://dev.to/rodiwa/how-i-watch-movies-from-any-device-at-home-using-nfs-server-1o23</guid>
      <description>&lt;p&gt;I'm a lazy fellow by design. Every time I downloaded movies or TV series on my phone or laptop, I would have to manually copy these files to a physical hard-disk-drive (HDD) via laptop and then connect the HDD to the back of my TV so I could watch them.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;I wanted a way to download movies on phone and then somehow transfer it to my HDD directly (which would always be connected to my TV) so I could watch shows anytime I want. All this, without having to physically move my HDD back and forth to copy files.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution
&lt;/h2&gt;

&lt;p&gt;The most do-able solution I could come up with was&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To connect and mount a pen drive (can replace it with a SSD in future) on a Raspberry Pi.&lt;/li&gt;
&lt;li&gt;Install &lt;a href="https://www.weka.io/learn/what-is-network-file-system/#:~:text=NFS%20is%20an%20Internet%20Standard,if%20they%20were%20locally%20stored." rel="noopener noreferrer"&gt;NFS server&lt;/a&gt; on that Raspberry Pi.&lt;/li&gt;
&lt;li&gt;Download movies on phone (or laptop, even).&lt;/li&gt;
&lt;li&gt;Transfer movies to your NFS server (on Pi) on mounted path (we can use &lt;a href="https://termux.com/" rel="noopener noreferrer"&gt;Termux&lt;/a&gt; to SSH to Pi from Android phone).&lt;/li&gt;
&lt;li&gt;Install a media player app that allows you to stream media on your local network on your Android TV (no Android TV? See in Troubleshoots below). I personally use &lt;a href="https://play.google.com/store/apps/details?id=org.videolan.vlc&amp;amp;hl=en_IN&amp;amp;gl=US" rel="noopener noreferrer"&gt;VLC media player&lt;/a&gt; to do this. Configure VLC to setup streaming.&lt;/li&gt;
&lt;li&gt;You can also config this on other devices (Android phones, laptop) as well. This way you can move all your movies/ shows to NFS server and free up space on your devices.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F61imj5zzsink8u7rlb0y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F61imj5zzsink8u7rlb0y.png" alt="Diagram to show how this looks after final setup" width="800" height="371"&gt;&lt;/a&gt;&lt;br&gt;
In above diagram&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Mount USB devices to a Raspberry Pi and setup a NFS server on that Pi.&lt;/li&gt;
&lt;li&gt;Download your movies/ shows from a non-legal, non-piracy website (see what I did there?) on your phone or laptop.&lt;/li&gt;
&lt;li&gt;Copy your downloaded content from your non-legal, non-piracy website (I did it again) to the mounted path on your Pi.&lt;/li&gt;
&lt;li&gt;Install VLC on your device you want to watch content on and configure it to allow stream from your NFS server.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Brainstorming
&lt;/h2&gt;

&lt;p&gt;Things I needed to figure out were&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Can I connect my HDD to Wifi/ Ethernet so I can transfer movies to it via my home network?&lt;/li&gt;
&lt;li&gt;What if I mount my HDD to Pi as storage? Can I then have that Pi + HDD connect to my TV via home network?&lt;/li&gt;
&lt;li&gt;How do I connect Pi to my TV? Can I connect TV and Pi via LAN; would be best config for zero-latency. Wifi would be convenient though; and no wires.&lt;/li&gt;
&lt;li&gt;What if I want to watch movies from Pi + HDD on other devices on my network - iPad, other phone, etc.&lt;/li&gt;
&lt;li&gt;Since HDD is outdated, can I use SSD instead for performance? Let's use a pen drive as SSD drive for now.&lt;/li&gt;
&lt;li&gt;Lets create NFS server on Pi, and try to stream media content from this server across all devices on home network.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Implementation
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Get a Raspberry Pi (any old one will also do. I used an old &lt;a href="https://www.amazon.in/Raspberry-Pi-3B-plus-Motherboard/dp/B07BDR5PDW" rel="noopener noreferrer"&gt;Raspberry Pi 3 Model B+&lt;/a&gt; I had lying around the house) and &lt;a href="https://www.tomshardware.com/reviews/raspberry-pi-set-up-how-to,6029.html" rel="noopener noreferrer"&gt;do initial setup&lt;/a&gt; - install Pi OS, setup username, password and SSH. Note down IP address of Pi or hostname (&lt;code&gt;hostname -I&lt;/code&gt;) once it's connected to your network. I recommend to setup a static IP address for your Pi.&lt;/li&gt;
&lt;li&gt;Get a pen drive, at least a 128 GB. I recommend getting one of &lt;a href="https://www.amazon.in/s?k=128gb+usb3&amp;amp;crid=34BK90K3GTFGG&amp;amp;sprefix=128gb+usb3%2Caps%2C206&amp;amp;ref=nb_sb_noss" rel="noopener noreferrer"&gt;those USB 3.0 or 3.1 ones&lt;/a&gt; for faster read-write speeds.&lt;/li&gt;
&lt;li&gt;Connect and mount this pendrive (say to &lt;code&gt;/mnt/movies&lt;/code&gt; path) and &lt;a href="https://www.shellhacks.com/raspberry-pi-mount-usb-drive-automatically/" rel="noopener noreferrer"&gt;setup USB automount&lt;/a&gt; in &lt;code&gt;/etc/fstab&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://pimylifeup.com/raspberry-pi-nfs/" rel="noopener noreferrer"&gt;Install NFS server on Pi&lt;/a&gt;. If you're using a brand new USB, you might have to install an &lt;a href="https://pimylifeup.com/raspberry-pi-exfat/" rel="noopener noreferrer"&gt;exFAT server&lt;/a&gt; instead. The steps are pretty much the same, except that you need to install and configure additional utilities to work with exFAT.&lt;/li&gt;
&lt;li&gt;Check that your NFS/ exFAT server is setup on Pi and that you can SSH into it and copy files as well. You can do this from your phone as well. You'll need to install a terminal call Termux. It's pretty cool. Do check it out.&lt;/li&gt;
&lt;li&gt;Download movie on your phone or laptop. &lt;a href="https://linuxize.com/post/how-to-use-scp-command-to-securely-transfer-files/" rel="noopener noreferrer"&gt;Copy content from your laptop (or phone) using &lt;code&gt;scp&lt;/code&gt;&lt;/a&gt; to your mounted &lt;code&gt;/mnt/movies&lt;/code&gt; path on your Pi. If you're copying from your phone, see Troubleshoots below on how to allow Termux to access your "Downloads" folder. It is disabled be default due to security reasons.&lt;/li&gt;
&lt;li&gt;Copy your files from phone/ laptop to the mounted path on Pi &lt;code&gt;/mnt/movies&lt;/code&gt;. The command is &lt;code&gt;scp -r &amp;lt;source-folder&amp;gt; pi@your-local-pi-ip-address:/mnt/movies&lt;/code&gt;. You might be prompted for your Pi credentials to continue. Pro tip - since you'll be copying files regularly, consider creating a small copy-files-script to save some time.&lt;/li&gt;
&lt;li&gt;Install and setup VLC media player for free on your TV or android device. Setup and &lt;a href="https://www.youtube.com/watch?v=xW_vQW1fK4g" rel="noopener noreferrer"&gt;configure VLC to stream&lt;/a&gt; media over your local network.&lt;/li&gt;
&lt;li&gt;If you have configured VLC to stream over local network properly, a new folder gets added on the VLC home menu with the folder-name that you gave in previous step. Open that folder and you should see the movies you had copied over to your Pi.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Troubleshoots
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;This solution works best on an Android TV. If you do not have an Android TV, and are still interested, you can consider converting your old TV (as long it has a USB + HDMI port) by one of the available options in the market - See &lt;a href="https://www.mi.com/in/mi-box-4k/" rel="noopener noreferrer"&gt;Xiaomi Box 4&lt;/a&gt;, &lt;a href="https://www.youtube.com/watch?v=Qvgw1-s6oMQ" rel="noopener noreferrer"&gt;Google Chromecast 3&lt;/a&gt; or similar).&lt;/li&gt;
&lt;li&gt;Termux does not have access to your Android phone device storage by default. You need to &lt;a href="https://wiki.termux.com/wiki/Termux-setup-storage" rel="noopener noreferrer"&gt;give it permission explicitly&lt;/a&gt; by running the command &lt;code&gt;termux-setup-storage&lt;/code&gt;. It creates a &lt;code&gt;~/storage&lt;/code&gt; symlink. You can navigate to your Downloads folder on phone from here. For example &lt;code&gt;cd ~/storage/Downloads&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;AFAIK, with NFS, you cannot stream shows to your iPad as it uses a different filesystem maybe. At least I wasn't able to setup streaming content on VLC on my iPad and the NFS option was not available.&lt;/li&gt;
&lt;li&gt;If you have an older pen-drive, NFS server should work for you. But for newer USB pen drives, you'll probably need to work with exFAT.&lt;/li&gt;
&lt;li&gt;If unable to connect to NFS server, make sure Pi has power and is turned ON. SSH into it and see if you can see the files in mounted path with expected size - &lt;code&gt;ls -alh&lt;/code&gt;. Was data corrupted while copying?&lt;/li&gt;
&lt;li&gt;If you're still unable to scan, copy to or play media files from your NFS server, review your file permissions carefully.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>learning</category>
      <category>showdev</category>
      <category>raspberrypi</category>
    </item>
    <item>
      <title>How I Blocked Ads Forever</title>
      <dc:creator>RD</dc:creator>
      <pubDate>Sat, 14 Aug 2021 19:24:03 +0000</pubDate>
      <link>https://dev.to/rodiwa/how-i-blocked-ads-forever-3ifo</link>
      <guid>https://dev.to/rodiwa/how-i-blocked-ads-forever-3ifo</guid>
      <description>&lt;p&gt;I don't care that companies want to unethically track my browsing habits to make money out of it. What annoys me most is to see ads on every other article or blog I want to read, multiple ads before a YouTube video and a bunch of them in between. Ads on social media services is already on another level. It gets unbearable after a while.&lt;/p&gt;

&lt;p&gt;I decided to work on a project when YouTube ads on my smart TV were getting out of hand. I'd already been using highly effective ad-blocking techniques for years for my everyday browsing and social media. But to remove YouTube ads from my smart TV was a challenge.&lt;/p&gt;

&lt;p&gt;Here's a summary of all the ad blocking techniques I've been using over the years.&lt;/p&gt;

&lt;h2&gt;
  
  
  Blocking Ads When Browsing On A Computer/ Tablet/ Phone
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Ad-block Plugins (browsers only) - This one's easy and almost everyone knows about this. But browsers like Google Chrome can be smart and ads do seep through.&lt;/li&gt;
&lt;li&gt;Some browsers have inbuilt ad blockers and don't depend on plugins. I find Brave pretty convenient for me as it blocks ads almost entirely. But if you're conscious about your tracking know that it did get into a &lt;a href="https://nakedsecurity.sophos.com/2019/02/12/privacy-browser-braves-user-concern-over-facebook-whitelist/" rel="noopener noreferrer"&gt;slight controversy&lt;/a&gt; recently. &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Blocking Ads On Your Social Media Accounts
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;This is a neat little trick I use. Almost all websites nowadays can be "installed" as a PWA app on your device. The benefit of a PWA is that it takes very little devicespace (in Kbs, compared to its actual app size in Mbs) and is functional, sans the "rich" fluid-app feel.&lt;/li&gt;
&lt;li&gt;All you do is login to your social media account on a ad-blocking (say, Brave) browser. You should not see any ads. Then from "Settings", select "Add This Site To Home Screen". It creates an icon for your "app" so you can access it conveniently. &lt;/li&gt;
&lt;li&gt;This is more than enough to browse and use basic features. Works for any site - Twitter, Insta, Facebook, Reddit, 9Gag, Buzzfeed, Amazon, Flipkart, BookMyShow, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Blocking Ads On Mobile Gaming Apps
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;You're out of luck if your game needs an internet connection to play. You can still try network level ad block below.&lt;/li&gt;
&lt;li&gt;I enable flight mode (or just turn wifi/ mobile network off) before I start the gaming app. Ads will not load if there's no network (insert meme).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Blocking Ads On Your Smart TV (specifically on YouTube app on TV)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;I initially attempted a network level ad blocker (using Raspberry Pi + Pi-hole) to disable ads on YT app on my smart TV but that didn't work for me. Turns out YT now serves ads and content from the main server and this makes it difficult for ad blockers to block ads on TV.&lt;/li&gt;
&lt;li&gt;With some research, I decided to install an open source APK instead on my smart TV - SmartTubeNext. Best decision ever. I now watch all my YT videos ad-free. I can also login to my Google account on this app and fetch my existing channels and subscriptions from there. The UI is not just similar to the official YT app but has many more features to it as well (change theme, scale UI, change speed of video).&lt;/li&gt;
&lt;li&gt;Google doesn't allow you to install this app from the Play Store (for obvious reasons). But you can download and install the SmartTubeNext APK directly from its GitHub repo using the Downlaoder app on your smart TV.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Blocking Ads On Your Entire Home Network
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;I had an old Raspberry Pi 3 lying around so I decided to take this up. If you have the technical know-how, you can buy a small Raspberry Pi kit and try this yourself.&lt;/li&gt;
&lt;li&gt;I don't use this option much as I already have most of my ads blocked from the previous steps, but its good to have it setup nevertheless as a mechanism to block trackers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Do you have any other ways that work for you? Please let me know. I'd love to try it out.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>raspberrypi</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How I Designed A Smart Contact-Me Form</title>
      <dc:creator>RD</dc:creator>
      <pubDate>Mon, 12 Apr 2021 18:49:25 +0000</pubDate>
      <link>https://dev.to/rodiwa/how-i-implemented-a-smart-contact-me-form-1a48</link>
      <guid>https://dev.to/rodiwa/how-i-implemented-a-smart-contact-me-form-1a48</guid>
      <description>&lt;p&gt;This is not a coding tutorial, but a very high level overview of my implementation. Nonetheless, I’ve shared links to my &lt;a href="https://github.com/rodiwa/contact-form-python" rel="noopener noreferrer"&gt;github code&lt;/a&gt; and various references inline. The contact-me form is on my &lt;a href="http://rohitdiwakar.com/" rel="noopener noreferrer"&gt;website&lt;/a&gt; (scroll to the end).&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;I wanted a practical contact-me form for my website so I could be notified when somebody left me a message. I also wanted to reply back to the user so they have my contact info as well.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution
&lt;/h2&gt;

&lt;p&gt;For notification, I decided to have a &lt;a href="https://api.slack.com/messaging/webhooks" rel="noopener noreferrer"&gt;Slack Incoming Webhook&lt;/a&gt;. I would create a Slack channel and messages sent to me from my website would show up here. For the reply-back, I decided to send an email to the user only if they shared an existing/ valid email address.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fknh4c80qg93wpj37tw21.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fknh4c80qg93wpj37tw21.png" alt="Solution diagram" width="800" height="248"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Brainstorming
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;I initially had a NodeJS backend + Mongodb Atlas cluster to save message details (name, email, message) directly from the website. But this data was not of any use really. I just wanted to be notified and send a response back to the user.&lt;/li&gt;
&lt;li&gt;To check if email is existing, python has a good library - &lt;a href="https://pypi.org/project/validate_email/" rel="noopener noreferrer"&gt;validate_email&lt;/a&gt;. NodeJS didn’t really have a lot of ‘obvious’ options, and some had to be &lt;a href="https://soshace.com/verifying-an-email-address-without-sending-an-email-in-nodejs/" rel="noopener noreferrer"&gt;done manually&lt;/a&gt; (by &lt;a href="https://stackoverflow.com/questions/29272695/node-js-email-existence-check" rel="noopener noreferrer"&gt;sending an actual email&lt;/a&gt; to verify, which I didn’t want).&lt;/li&gt;
&lt;li&gt;I didn’t want a server running at all times, since this feature would be sparingly used. Azure Functions &lt;a href="https://docs.microsoft.com/en-us/dotnet/architecture/serverless/serverless-design-examples#web-apps-and-apis" rel="noopener noreferrer"&gt;was a good choice&lt;/a&gt; as I needed it to run (read as “cost me”) only when triggered by an HTTP request.&lt;/li&gt;
&lt;li&gt;I also wanted to perform steps in sequence, and I wanted a way to store the state of my previous step (is email valid or not) and it made sense to use &lt;a href="https://tsuyoshiushio.medium.com/durable-functions-101-35aa3919f182#:~:text=Durable%20Functions%20use%20Storage%20Table,among%20the%20orchestrator%20and%20activities." rel="noopener noreferrer"&gt;Azure Durable Functions&lt;/a&gt; for this.&lt;/li&gt;
&lt;li&gt;Since Python libraries had a lot of my requirements covered, I chose Python over NodeJS.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Implementation
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Setup Azure Functions

&lt;ul&gt;
&lt;li&gt;I started with a quickstart Azure Functions (Python) project on my local VS Code &lt;a href="https://docs.microsoft.com/en-us/azure/azure-functions/durable/quickstart-python-vscode" rel="noopener noreferrer"&gt;as given&lt;/a&gt; on the Azure docs. I then published this demo to my Az account, and tested the example using Postman and the Az function URL. I now only had to swap out the examples with my own implementations.&lt;/li&gt;
&lt;li&gt;Az Durable Functions has &lt;a href="https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-types-features-overview" rel="noopener noreferrer"&gt;3 types of functions&lt;/a&gt; (now 4 types) - Client (this kicks off the orchestrator), Orchestrator (manages different tasks or activities), and an Activity (what you’re really trying to do). The quickstart-demo gives you these.&lt;/li&gt;
&lt;li&gt;Since I had 3 main activities to do, I created 3 Activity functions; one each to -  send slack notification (&lt;code&gt;notifySlackChannel&lt;/code&gt; file in repo), check if email is valid (&lt;code&gt;isEmailExists&lt;/code&gt;) and send email (&lt;code&gt;sendEmail&lt;/code&gt;). VS Code Az Functions plugin has quick-actions to create these. Then plug these new activities into the demo code, replacing the calls to Hello with your new 3 activities.&lt;/li&gt;
&lt;li&gt;I started by &lt;a href="https://github.com/rodiwa/contact-form-python/blob/master/dfHttpStart/__init__.py#L11" rel="noopener noreferrer"&gt;getting my request body&lt;/a&gt; as payload and then &lt;a href="https://github.com/rodiwa/contact-form-python/blob/master/dfHttpStart/__init__.py#L13" rel="noopener noreferrer"&gt;passing this payload&lt;/a&gt; &lt;code&gt;{user, email, message}&lt;/code&gt; into the Az Durable Functions.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Slack Notification - see &lt;a href="https://github.com/rodiwa/contact-form-python/tree/master/sendEmail" rel="noopener noreferrer"&gt;&lt;code&gt;sendEmail&lt;/code&gt;&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;Create a Slack account, and create a channel where you want your messages.&lt;/li&gt;
&lt;li&gt;Create a Slack app, enable and create an &lt;a href="https://slack.com/intl/en-in/help/articles/115005265063-Incoming-webhooks-for-Slack" rel="noopener noreferrer"&gt;incoming webhook&lt;/a&gt;. You will get a slack URL which you can use to POST messages by sending a payload to it; like { text: “your message comes here” }.&lt;/li&gt;
&lt;li&gt;I also added formatting to my messages by using Slack’s &lt;a href="https://api.slack.com/block-kit" rel="noopener noreferrer"&gt;Block kit UI&lt;/a&gt;. It’s pretty neat because all you have to do is send some additional JSON objects (for a button, etc) to the payload data. Rest remains the same. Sweet.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Check if email is valid - see &lt;a href="https://github.com/rodiwa/contact-form-python/tree/master/isEmailExists" rel="noopener noreferrer"&gt;&lt;code&gt;isEmailExists&lt;/code&gt;&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;This is a simple python code that checks if the given email exists&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Send email - see &lt;a href="https://github.com/rodiwa/contact-form-python/tree/master/sendEmail" rel="noopener noreferrer"&gt;&lt;code&gt;sendEmail&lt;/code&gt;&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;Get output of previous operation - &lt;code&gt;isEmailExists&lt;/code&gt;. If this value is &lt;code&gt;True&lt;/code&gt;, only then go ahead with this step.&lt;/li&gt;
&lt;li&gt;This was a simple implementation, almost as given &lt;a href="https://dev.mailjet.com/email/guides/send-api-v31/" rel="noopener noreferrer"&gt;in their examples&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;Environment variables

&lt;ul&gt;
&lt;li&gt;Best to not check-in config with code, and to use environment variables instead.&lt;/li&gt;
&lt;li&gt;Az funcs allow you to add &lt;a href="https://docs.microsoft.com/en-us/azure/azure-functions/functions-how-to-use-azure-function-app-settings?tabs=portal" rel="noopener noreferrer"&gt;variables as configuration&lt;/a&gt; which can be used by your code.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Troubleshoots
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The python smtplib (for sending emails) works fine on local, but when you deploy code to Az functions, &lt;a href="https://stackoverflow.com/questions/58953123/i-can-not-send-email-from-python-azure-function-smtp-office365-com-587#:~:text=1%20Answer&amp;amp;text=The%20only%20way%20to%20use,provides%20these%20type%20of%20services.&amp;amp;text=So%20the%20e%2Dmails%20sent,as%20SPAM%20by%20mail%20servers." rel="noopener noreferrer"&gt;Az does not pass the emails&lt;/a&gt; through. You need to use a &lt;a href="https://stackoverflow.com/questions/50059171/not-able-to-connect-to-smtp-from-azure-cloud-service/50075862#50075862" rel="noopener noreferrer"&gt;SMTP relay services&lt;/a&gt; (SendGrid, Mailjet) to get this done on Azure.&lt;/li&gt;
&lt;li&gt;Passing parameters from HTTP request to Az function is not very intuitive.&lt;/li&gt;
&lt;li&gt;Debugging on Az functions after deployment is a pain. Use &lt;code&gt;logger.info&lt;/code&gt; instead of &lt;code&gt;print()&lt;/code&gt; (python) or &lt;code&gt;console.log&lt;/code&gt; (JS).&lt;/li&gt;
&lt;li&gt;The running logs on Az functions are not consistent and do not show/ run at times. Az portal has to be refreshed.&lt;/li&gt;
&lt;li&gt;I had trouble with SendGrid. Looks like &lt;a href="https://stackoverflow.com/questions/17666161/sending-email-from-azure/55470893#55470893" rel="noopener noreferrer"&gt;others have too&lt;/a&gt;. For me, they asked for way too many details (organization, address, reason to use this service, etc) on account creation and I wanted to be vague since I was only setting up for a dev project. They did not let me use SendGrid and forced me to create a ticket with support to justify how I wanted to use SendGrid for sending emails. Rude. Screw that. &lt;a href="https://www.mailjet.com/" rel="noopener noreferrer"&gt;Mailjet&lt;/a&gt; was way easier to set up and their free account gives more emails (Mailjet allows 200, as compared to SendGrids 100 emails per day).&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>learning</category>
      <category>python</category>
      <category>serverless</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Preparing for Azure Certifications as an Application Developer</title>
      <dc:creator>RD</dc:creator>
      <pubDate>Mon, 29 Mar 2021 09:39:03 +0000</pubDate>
      <link>https://dev.to/rodiwa/preparing-for-azure-certifications-as-a-front-end-developer-1bdf</link>
      <guid>https://dev.to/rodiwa/preparing-for-azure-certifications-as-a-front-end-developer-1bdf</guid>
      <description>&lt;p&gt;If you have little or no prior experience working as a Cloud Engineer/ Admin before, you’ll know how intimidating it is to give one of those Azure/ GCP/ AWS certifications. Hopefully these tips help out a little. Give yourself about 30-45 days (2-4 hours everyday) for preparation.&lt;/p&gt;

&lt;p&gt;Btw, MS = 'Microsoft', wherever mentioned.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understand how systems work
&lt;/h2&gt;

&lt;p&gt;Take a step back. Think like an admin. Forget cloud; think of on-prem servers. Understand how computers, networking, communications, security, storage and database work at a high level.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I found &lt;a href="https://docs.microsoft.com/en-us/learn/paths/az-104-administrator-prerequisites/" rel="noopener noreferrer"&gt;MS Learn prerequisites&lt;/a&gt; a good section for this.&lt;/li&gt;
&lt;li&gt;You can find free courses on FreeCodeCamp and YouTube as well.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Start with the learning path. Know the topics.
&lt;/h2&gt;

&lt;p&gt;Every Azure certification has its learning path on MS Learn. Since you’re new to this, it’ll be a good idea to list down topics that you will be learning. Why? See next section.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;For example, open the &lt;a href="https://docs.microsoft.com/en-us/learn/certifications/exams/az-104" rel="noopener noreferrer"&gt;AZ-104 certification&lt;/a&gt; page. Scroll down and go to “Two ways to prepare” &amp;gt; “Online Free (tab)”. This is your learning path for this exam.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  See quick YouTube videos of the topics first to get context.
&lt;/h2&gt;

&lt;p&gt;Diving right into the exhaustive textual content on MS Learn was very time-consuming and confusing to me. I decided to go through some quick 3-4 min videos on YouTube to give me context.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;For example, looking up on how to &lt;a href="https://www.youtube.com/watch?v=aYozy3w-1tI" rel="noopener noreferrer"&gt;implement hybrid networking&lt;/a&gt; in MS Azure introduced me to VPN Peering, ExpressRoute, etc.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Find courses on Udemy, Pluralsight, etc.
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;I found these helpful because these video courses are highly curated and focus strictly on the exam topics. Saves you lots of time.&lt;/li&gt;
&lt;li&gt;You don’t have to &lt;em&gt;buy&lt;/em&gt; a course; I never did.

&lt;ol&gt;
&lt;li&gt;Pluralsight currently has a tie-up with MS that gives you some Azure content for free (at time of writing). You just need to open an account with them.&lt;/li&gt;
&lt;li&gt;Some companies lets their employees access Udemy, Coursera, etc. If you have a roommate in one of these companies, or a close friend, maybe borrow their login for a while? (If you get into trouble, you didn’t hear this from me).&lt;/li&gt;
&lt;li&gt;You can share/ buy an account with a friend. Makes it cheaper.&lt;/li&gt;
&lt;/ol&gt;


&lt;/li&gt;

&lt;/ol&gt;

&lt;h2&gt;
  
  
  Back to MS Learn + Labs.
&lt;/h2&gt;

&lt;p&gt;Go through that MS Learn course like your life depends on it. It has good content, not only for the exam, but for good-to-know concepts too.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Read once. Recall. Revise.&lt;/li&gt;
&lt;li&gt;Good idea to login so you can track your progress.&lt;/li&gt;
&lt;li&gt;I bookmarked a bunch of items so I could go revisit them later.&lt;/li&gt;
&lt;li&gt;Even though you’re not being asked to do performance labs on your exams right now (at time of writing), the labs familiarize you with the Azure Portal, and the many CLI, PowerShell commands.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Give practice exams.
&lt;/h2&gt;

&lt;p&gt;This was the most important step for me. Practice exams give you a good understanding of the type of questions you can get on your actual exam. I highly recommend this.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Whizlabs - Is great, but you’ll have to pay for it. They keep coming up with coupon codes. Keep an eye out for that.&lt;/li&gt;
&lt;li&gt;ExamTopics - This is free and has a lot of good content. But some answers can be wrong. You’ll need to read through the chat/ discussion for the right answers. There’s also an annoying “Are you a Robot” captcha on every page.&lt;/li&gt;
&lt;/ol&gt;




&lt;h1&gt;
  
  
  Asides
&lt;/h1&gt;

&lt;p&gt;This is for further reading only. I went through these topics in my free time. I mention this as an aside only because these docs cover topics in depth.&lt;/p&gt;

&lt;h2&gt;
  
  
  Aside I - MS Reference Docs for expert-mode.
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;It’s best used when you’re studying/ working in expert-mode on a specific service, or looking up a topic you didn’t understand fully. For example, reading up on &lt;a href="https://docs.microsoft.com/en-us/azure/?product=compute" rel="noopener noreferrer"&gt;Compute Services in detail&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Most answers in the practice exams point you to these MS Docs for further reading as well.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Aside II - Github Repos and More MS Docs.
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Microsoft has their own &lt;a href="https://github.com/MicrosoftLearning" rel="noopener noreferrer"&gt;Github repo&lt;/a&gt; where they regularly add/ update content relevant to exams. They also have added &lt;a href="https://github.com/MicrosoftLearning/Lab-Demo-Recordings" rel="noopener noreferrer"&gt;videos to Labs&lt;/a&gt; so you can quickly go through them.&lt;/li&gt;
&lt;li&gt;I also go through some of their articles in the Azure Docs section. It gave me insight of the tools, &lt;a href="https://docs.microsoft.com/en-us/azure/cloud-adoption-framework/" rel="noopener noreferrer"&gt;best practices&lt;/a&gt; and &lt;a href="https://docs.microsoft.com/en-us/azure/architecture/browse/?products=azure" rel="noopener noreferrer"&gt;architecture&lt;/a&gt; used by customers who already use Azure services today.&lt;/li&gt;
&lt;li&gt;Youtube - Some channels I regularly visit are &lt;a href="https://www.youtube.com/channel/UC0m-80FnNY2Qb7obvTL_2fA" rel="noopener noreferrer"&gt;MS Azure&lt;/a&gt;, &lt;a href="https://www.youtube.com/channel/UCrhJmfAGQ5K81XQ8_od1iTg" rel="noopener noreferrer"&gt;MS Ignite&lt;/a&gt; (annual conference for devs). Azure Fridays (on MS Azure) talks about how to implement various Azure services. MS Ignite tells you about new and upcoming features on its cloud. Good stuff.&lt;/li&gt;
&lt;/ol&gt;




&lt;h1&gt;
  
  
  Summary
&lt;/h1&gt;

&lt;ol&gt;
&lt;li&gt;Familiarise with how systems work at high level.&lt;/li&gt;
&lt;li&gt;Quick-view the Azure topics on Youtube.&lt;/li&gt;
&lt;li&gt;Video courses, if you can. It saves time.&lt;/li&gt;
&lt;li&gt;Deep dive into the learning path + labs.&lt;/li&gt;
&lt;li&gt;Practice exams.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;All the best!&lt;/p&gt;

</description>
      <category>learning</category>
      <category>career</category>
    </item>
    <item>
      <title>How I Like To Study A New Topic</title>
      <dc:creator>RD</dc:creator>
      <pubDate>Sun, 07 Mar 2021 15:18:11 +0000</pubDate>
      <link>https://dev.to/rodiwa/how-i-like-to-study-a-new-topic-44d4</link>
      <guid>https://dev.to/rodiwa/how-i-like-to-study-a-new-topic-44d4</guid>
      <description>&lt;p&gt;This is a &lt;a href="https://dev.to/rodiwa/how-to-study-again-after-a-really-really-long-break-2l0b"&gt;sub-part to an article&lt;/a&gt; I had written recently.&lt;/p&gt;

&lt;h2&gt;
  
  
  List Down The Topics. Study Topic Wise Only (10% Effort)
&lt;/h2&gt;

&lt;p&gt;I like to list down my topics beforehand or have them in front of me while I’m studying. Helps to categorise the content I’m reading/ viewing to be within a ‘boundary’.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pick A Good Video Tutorial (10% Effort)
&lt;/h2&gt;

&lt;p&gt;Watching a video is much faster than reading docs. It gives you a good overview on a new subject. More content in little time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Don’t Always Start From The Basics
&lt;/h2&gt;

&lt;p&gt;Unless it’s a brand new subject, chances are you already know this. Start from the advanced topics, or those parts that you haven’t done before.&lt;/p&gt;

&lt;h2&gt;
  
  
  Go Through It Quickly (20% Effort)
&lt;/h2&gt;

&lt;p&gt;Even if it’s a 40hr Udemy course or a YouTube playlist of 200 videos, I try to go through them all within 2 days. Think 1.5x or 1.75x speed. The idea is to only acquaint myself to the subject right away. If I’m stuck on a topic, I don’t waste time on it. I skip to the next section and carry on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Recall + Revise + Make Notes (20% Effort)
&lt;/h2&gt;

&lt;p&gt;This is the meat of it all. Recalling + writing it down is like hitting a &lt;code&gt;Ctrl + S&lt;/code&gt;. It stays better in memory. The notes you make are in your own words. It also doubles up for quick review before your exam/ interview. &lt;/p&gt;

&lt;h2&gt;
  
  
  Go Deep Into The Subject (40% Effort)
&lt;/h2&gt;

&lt;p&gt;The subject you were stuck on earlier? This is where you find YouTube videos for that particular topic. This is where you refer the documentation for examples and explanations. Read books and PDF to be an expert. This is where you fill in the gaps.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practice (Maximum Effort)
&lt;/h2&gt;

&lt;p&gt;There’s no way around this one. Make a GitHub project. Design, code and implement your own idea with what you’ve learnt. Document it for future references.&lt;/p&gt;

</description>
      <category>learning</category>
      <category>career</category>
    </item>
    <item>
      <title>How To Study Again After A Really Really Long Break</title>
      <dc:creator>RD</dc:creator>
      <pubDate>Sun, 07 Mar 2021 15:04:28 +0000</pubDate>
      <link>https://dev.to/rodiwa/how-to-study-again-after-a-really-really-long-break-2l0b</link>
      <guid>https://dev.to/rodiwa/how-to-study-again-after-a-really-really-long-break-2l0b</guid>
      <description>&lt;p&gt;&lt;strong&gt;TLDR&lt;/strong&gt;; Me and my friends decided to do a full-career-360 and level up to future-proof ourselves in this ever-demanding, rapidly-changing tech industry. This is a summary of what worked out for me.&lt;/p&gt;

&lt;p&gt;Let’s say you’re a techie (or not) and you’ve been working way too long at your job. Been doing the same work for years. It’s going well for you, no doubt. But you wanna move out of your comfort zone now and it’s time for a change. Maybe you want to get certifications so you can add more value to your organization? Or you see your colleague interviewing for better jobs and you think that could’ve been you? How about a better paycheck? Or you’re not able to land interviews because the required job description/ skill-set is way too demanding for you.&lt;/p&gt;

&lt;p&gt;The problem with us folks, who’ve been away from schools and colleges for far too long is that we are not able to study as efficiently and quickly like we used to. The reasons are many and valid. Married? Got kids? Staying with and looking after folks? Got pets? Overworked at your current job? Where is the time? Or just giving into the fear of change?&lt;/p&gt;

&lt;p&gt;The focus of this article is to push you to learn something new in a relatively small amount of time to enhance your career paths for the long run. Although it was originally written for techies, these are just general guidelines and can hold true for others too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Change Your Mindset To Always Embrace Change
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Don’t sink into your comfort zone. It’s very easy to do. But it’s not very rewarding.&lt;/li&gt;
&lt;li&gt;The tech industry always has and always will be changing at a rapid pace. This makes it crucial to level up every once in a while. Even if it’s not just to make it big, but even to survive.&lt;/li&gt;
&lt;li&gt;All it takes is 2-3 months of focus and good planning to be proficient at something fun, something new.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Start With An Intent To Give Certifications
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Certifications make you learn stuff that is most prevalent in the industry right now.&lt;/li&gt;
&lt;li&gt;Yes, it looks good on the resume. But stay focused on your end-goal here. You want to get up to speed on the latest in tech and preparing for certifications is a good start.&lt;/li&gt;
&lt;li&gt;Devops. Cloud. Machine Learning. Blockchain. Networking &amp;amp; Security. Database.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Make A Solid Plan Before You Even Start
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;This is tough, and can take days to decide.&lt;/li&gt;
&lt;li&gt;If you’ve not levelled up for a while, you’ll know there’s a lot to choose from and it can get overwhelming.&lt;/li&gt;
&lt;li&gt;Find an intersection between what your strengths and interests are and what is hot in the market right now. Still confused? See what your fellow colleagues are working on. See if that works for you too.&lt;/li&gt;
&lt;li&gt;Pick something new. Choose Azure, GCP over AWS. Choose Python, Node over Java. Choose React/Vue over AngularJS. Why? Because there are already way too many engineers for that, with years and years of experience. You don’t want to compete with that.&lt;/li&gt;
&lt;li&gt;If it’s not adding value to you in the immediate future, then don’t waste time on it (at least not yet). Look at job openings in your area to figure out what works. Look at trends.&lt;/li&gt;
&lt;li&gt;Seek help from the online community. Keep an eye on what others are working/ excited about. Forums on Reddit is a good start.&lt;/li&gt;
&lt;li&gt;Make a 1 year plan (short term) and a 3 year plan (long term) and start from there.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Prepare An Overview Of How You Want To Study A Topic
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Remember that your end goal is learn new things to prep you for interviews and certifications in as little time possible.&lt;/li&gt;
&lt;li&gt;You don’t want to waste too much time studying the subject.&lt;/li&gt;
&lt;li&gt;Ready yourself between 1 month (studying a topic for the work you’re already doing) to maybe 3-4 months(if it’s a complete overhaul)?&lt;/li&gt;
&lt;li&gt;Here’s a &lt;a href="https://dev.to/rodiwa/how-i-like-to-study-a-new-topic-44d4"&gt;reference&lt;/a&gt; to how I prefer to do it. It just might work for you too.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Start With Video Tutorials
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;You always learn faster via videos rather than reading up documentation on it.&lt;/li&gt;
&lt;li&gt;Video courses and playlists are more highly curated than documentation and that’s a good thing when you’re starting out.&lt;/li&gt;
&lt;li&gt;It saves so much time when you’re starting out.&lt;/li&gt;
&lt;li&gt;The idea is to get an overview, high-level understanding of the subject as quickly as possible.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Courses Are Free. You Only Have To Look For It
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;We like to believe all good things are never free. But with today’s ever growing community of awesome techies looking out for each other and more organizations jumping in with their own tutorials and free labs, this isn’t the case anymore.&lt;/li&gt;
&lt;li&gt;Start with Reddit, GitHub. Join channels for what you’re working on and ask around. &lt;/li&gt;
&lt;li&gt;Also,

&lt;ul&gt;
&lt;li&gt;YouTube - Good place to start. Pro tip: avoid those ads using Brave browser, or similar.&lt;/li&gt;
&lt;li&gt;You can find various topics on &lt;a href="https://ocw.mit.edu/courses/find-by-topic/#cat=engineering&amp;amp;subcat=computerscience&amp;amp;spec=algorithmsanddatastructures" rel="noopener noreferrer"&gt;MIT OCW&lt;/a&gt;. Then lookup these topics on YouTube or other sites.&lt;/li&gt;
&lt;li&gt;FreeCodeCamp - Is free and super useful.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://docs.microsoft.com/en-us/azure/architecture/guide/" rel="noopener noreferrer"&gt;MS Architecture docs&lt;/a&gt; and &lt;a href="https://docs.microsoft.com/en-us/learn/" rel="noopener noreferrer"&gt;MS Learn&lt;/a&gt; - Apart from Microsoft product and services documentations, it has good material on architecture that most companies use. MS Learn is good if you’re preparing for certifications.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://cloud.google.com/docs" rel="noopener noreferrer"&gt;Google Cloud docs&lt;/a&gt; is similar MS Learn. Has some really good content too.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/donnemartin/system-design-primer" rel="noopener noreferrer"&gt;System Design&lt;/a&gt; stuff on GitHub.&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://aosabook.org/en/index.html" rel="noopener noreferrer"&gt;Architecture of Open Source Applications&lt;/a&gt; is a good place to study well known architectures.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Focus On Understanding The Subject And Its Practical Applications
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Don’t mug up concepts and points. Nobody cares for that, even in interviews. It’s important for you to understand it.&lt;/li&gt;
&lt;li&gt;Try to ‘visualise’ what you’re learning.&lt;/li&gt;
&lt;li&gt;Always ask yourself how does this ‘concept’ help me solve a problem?&lt;/li&gt;
&lt;li&gt;Correlate your new found knowledge to see if you can apply it to something you’re already working on.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  You Don’t Have To Study Everything From A To Z
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;This is important as we tend to waste time trying to learn everything. See 80/20 rule to improve your productivity (Pareto Principle).&lt;/li&gt;
&lt;li&gt;Do enough to get you curious, get you started, push you in the right direction.&lt;/li&gt;
&lt;li&gt;Some topics are gonna be hard and not that widely used in the real, practical world.&lt;/li&gt;
&lt;li&gt;If it's good-to-know only, feel free to skip till you can get back to it later. &lt;/li&gt;
&lt;li&gt;I consider 70-80% completion of a subject as my benchmark.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Manage Your Time
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;I personally don’t study the same subject/ course for more than 2-3 days. Just so I don’t bore myself of the subject too soon.&lt;/li&gt;
&lt;li&gt;I switch to an easier subject after 2-3 days, or go back to revising something else from before. I like to think of this as my cooldown period.&lt;/li&gt;
&lt;li&gt;Even within the same subject, I study between a 45mins - 2hrs window. I force myself to take a break so I can come back for another run. This keeps my brain from hurting.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Watch That Break. Stay Focussed, Even On Your Break
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Keep them short and only for as long as needed.&lt;/li&gt;
&lt;li&gt;Even if you’re watching TV for a break, try to recollect what you learnt today. Consider this a way to revise.&lt;/li&gt;
&lt;li&gt;Prepare a small mental plan of what you should study next.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Don’t Be Too Hard On Yourself. Take It One Day (Or One Week) At A Time
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It will be overwhelming. It will be difficult. Prepare yourself for that. Focus on the end-goal.&lt;/li&gt;
&lt;li&gt;I push myself maybe 3-4 days a week, take it easy for the next 2 days (revise, easy subjects only). I keep my weekends free.&lt;/li&gt;
&lt;li&gt;If you find yourself not able to focus at all, let it be. Don’t force yourself. You probably need to take a break.&lt;/li&gt;
&lt;li&gt;Always look back after a couple weeks or months on what you’ve learnt so far. Do you see progress? Good job. Use this as a motivation.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Watch That Work Life Balance. Don’t Burnout
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It’s easy to get disoriented if it gets too overwhelming. Always good to have a handle on the real things as well.&lt;/li&gt;
&lt;li&gt;You’re working your ass off. You’re making progress. That’s cool. But your friends, family and pets probably want to spend time with you as well. Work it out.&lt;/li&gt;
&lt;li&gt;Explain to them that you might be busy for a while.&lt;/li&gt;
&lt;li&gt;Chill with your friends/ family when you’re taking a break. Turn up your good old 90s playlist and take that long drive. Get more clarity. It helps.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Don’t Have The Time?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;You never will. Accept it. Now work around it.&lt;/li&gt;
&lt;li&gt;Try waking up early 4am, 5am? Alright. How about 6.30am? Sleep late. Push it to 4am if you’re up for it. Push yourself like crazy.&lt;/li&gt;
&lt;li&gt;Remind yourself you’re not doing this forever. Maybe a few weeks or a couple of months. You will go back to your old time table soon, when this is all over.&lt;/li&gt;
&lt;li&gt;Cut down on Netflix. Pack up that gaming console. Delete apps on your smartphone. Bye bye 9Gag. There are settings or apps that help you monitor your time you spend on phones. Zen mode. YourHour. You’re welcome.&lt;/li&gt;
&lt;li&gt;Nobody ever ‘has’ time. You only ‘make’ time when you have to (if that makes sense).&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Re-evaluate Yourself Periodically
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It’s like coming back a full circle, this step. Go to step 1.&lt;/li&gt;
&lt;li&gt;Re-evaluate yourself every 2 years. Tech may change. Priorities may change. You might want to learn something different now from what you had originally planned.&lt;/li&gt;
&lt;li&gt;You probably might have to go through the entire cycle all over again. But was it worth it for you the last time? Yes? Go for it. If not, see what didn’t work out for you.&lt;/li&gt;
&lt;li&gt;If you’ve already been levelling up periodically/ monthly, this shouldn’t be too difficult. But let’s face it; not a lot of us really get the time to do this consistently. So it’s best to check back once every 2 years.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Alright. It’s Been A While. I’ve Successfully Done What I Wanted To Do. Can I Go Back To My Fifa and Cyberpunk?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Absolutely. You’ve come this far and accomplished what you had originally planned, you’re good to go.&lt;/li&gt;
&lt;li&gt;Sleep in early, wake up late. Go do that trip. You’ve earned this.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Too Good To Be True. There’s A Catch, Right?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Yep. There always is.&lt;/li&gt;
&lt;li&gt;With everything you’ve done here, you’ve only got off to a good start. That’s it. But hopefully, you’ve covered good ground in little time and that’s what this article is about.&lt;/li&gt;
&lt;li&gt;Practice like crazy. Or it’s all going to waste. Make your own projects. GitHub all the way. Document it. Contribute to open source. Do this at your own pace.&lt;/li&gt;
&lt;li&gt;Give those certifications you’ve already prepped for. Time to get those badges.&lt;/li&gt;
&lt;li&gt;Update that resume. Give your interviews. You’ll see yourself doing better than you would've a few months ago.&lt;/li&gt;
&lt;li&gt;Create a portfolio website. Show off your work and accomplishments.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Ok, Professor. Anything else?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Buy books. Read more. Videos are fun and quick. But you cannot replace the quality content and overall context that you get in books.&lt;/li&gt;
&lt;li&gt;Hit the books once you’re ready to move into expert-mode.&lt;/li&gt;
&lt;li&gt;Let go of the fear. Fail miserably once in a while. Make a fool of yourself in those interviews.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That’s it. I’m done. That’s a lot of text and paragraphs. But I’ve waited way too long to do this; to give back to this wonderful community. Hopefully, it can help out any one of you who’s been trying to figure this out for yourself lately.&lt;/p&gt;

&lt;p&gt;Please reach out in comments. If you recommend anything better, I’d love to hear about it.&lt;/p&gt;

&lt;p&gt;All the best. Go for it. You can do this. You will do this.&lt;/p&gt;

</description>
      <category>learning</category>
      <category>career</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
