<?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: Arash</title>
    <description>The latest articles on DEV Community by Arash (@ghalbeyou).</description>
    <link>https://dev.to/ghalbeyou</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%2F1061974%2F3b0e186c-bcf5-419c-adb5-a2753a109e87.jpg</url>
      <title>DEV Community: Arash</title>
      <link>https://dev.to/ghalbeyou</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ghalbeyou"/>
    <language>en</language>
    <item>
      <title>I lost access to my GitHub account!</title>
      <dc:creator>Arash</dc:creator>
      <pubDate>Thu, 22 Aug 2024 13:53:27 +0000</pubDate>
      <link>https://dev.to/ghalbeyou/i-lost-access-to-my-github-account-3njg</link>
      <guid>https://dev.to/ghalbeyou/i-lost-access-to-my-github-account-3njg</guid>
      <description>&lt;p&gt;Hi. I am Arash and I just lost access to my GitHub account! This happened because I changed my system and I forgot to get those damn recovery codes and now I am locked out.&lt;/p&gt;

&lt;p&gt;This post is here to tell anyone out there that this happened and my new account.&lt;/p&gt;

&lt;p&gt;My new GitHub account is "Sudo-Arash" or &lt;a href="https://github.com/sudo-arash" rel="noopener noreferrer"&gt;here&lt;/a&gt;. I would love to see you there!&lt;/p&gt;

</description>
      <category>github</category>
      <category>git</category>
    </item>
    <item>
      <title>The Joy and Necessity of Open Source: Keeping the Community Thriving</title>
      <dc:creator>Arash</dc:creator>
      <pubDate>Fri, 17 May 2024 19:00:45 +0000</pubDate>
      <link>https://dev.to/ghalbeyou/the-joy-and-necessity-of-open-source-keeping-the-community-thriving-2hpe</link>
      <guid>https://dev.to/ghalbeyou/the-joy-and-necessity-of-open-source-keeping-the-community-thriving-2hpe</guid>
      <description>&lt;h2&gt;
  
  
  Why Open Source is Important
&lt;/h2&gt;

&lt;p&gt;Open source is the lifeblood of the tech community. It’s like a massive potluck dinner where everyone brings their favorite dish to share. The core idea is collaboration: sharing code, improving it together, and making it available for anyone to use, modify, and distribute. This spirit of openness and cooperation leads to better software, faster innovation, and a more inclusive environment for developers of all levels.&lt;/p&gt;

&lt;h3&gt;
  
  
  Innovation at Lightning Speed
&lt;/h3&gt;

&lt;p&gt;When thousands of developers worldwide contribute to a project, it evolves rapidly. Bugs are identified and fixed quickly, new features are added, and improvements are made continuously. This collective effort leads to high-quality software that meets the diverse needs of users. Think of projects like Linux, which powers everything from smartphones to supercomputers, or Apache, which serves a huge portion of the web.&lt;/p&gt;

&lt;h3&gt;
  
  
  Learning and Mentorship
&lt;/h3&gt;

&lt;p&gt;Open source is a fantastic way to learn and grow as a developer. By diving into real-world projects, you can see how experienced programmers solve problems, manage projects, and write clean, efficient code. Moreover, contributing to open source often means working with mentors who can provide guidance, review your code, and help you improve.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cost-Effectiveness
&lt;/h3&gt;

&lt;p&gt;For businesses, using open-source software can be a significant cost saver. Instead of paying for expensive proprietary software, companies can use and contribute to free, open-source alternatives. This not only reduces expenses but also gives them the flexibility to customize the software to fit their specific needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why We Need to Keep Open Source Thriving
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Community and Collaboration
&lt;/h3&gt;

&lt;p&gt;The open-source community is vibrant and diverse. It’s a place where anyone can contribute, regardless of their background or experience level. This inclusivity fosters a sense of belonging and encourages collaboration across borders and cultures. By supporting open source, we ensure that this community continues to grow and thrive.&lt;/p&gt;

&lt;h3&gt;
  
  
  Security and Transparency
&lt;/h3&gt;

&lt;p&gt;Open-source software is often more secure than proprietary software. With many eyes on the code, vulnerabilities are spotted and fixed quickly. This transparency builds trust, as users can inspect the code themselves to ensure there are no hidden backdoors or malicious elements.&lt;/p&gt;

&lt;h3&gt;
  
  
  Freedom and Control
&lt;/h3&gt;

&lt;p&gt;Open source gives users the freedom to use software as they see fit. They’re not locked into a vendor’s ecosystem or forced to pay for upgrades. This control is empowering, allowing individuals and organizations to tailor software to their specific needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  How You Can Help
&lt;/h2&gt;

&lt;p&gt;Supporting open source doesn’t just mean contributing code. There are many ways to get involved:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Report Bugs&lt;/strong&gt;: If you encounter issues, report them. This helps maintainers fix problems and improve the software.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Write Documentation&lt;/strong&gt;: Good documentation is crucial. Help write clear, concise guides to make the software more accessible.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Donate&lt;/strong&gt;: Many open-source projects rely on donations. Financial support can help cover costs and compensate contributors.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spread the Word&lt;/strong&gt;: Share your favorite open-source projects with others. Encourage your friends and colleagues to get involved.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By contributing to open source, you’re not just helping to build better software—you’re supporting a movement that values openness, collaboration, and community. Let’s keep this incredible ecosystem thriving!&lt;/p&gt;




&lt;p&gt;Join the conversation on &lt;a href="https://github.com"&gt;GitHub&lt;/a&gt; and other platforms to contribute to the open-source community and help make the world of software a better place for everyone!&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>community</category>
      <category>coding</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Introducing F**kDevTools.js: Secure Your Web Applications</title>
      <dc:creator>Arash</dc:creator>
      <pubDate>Fri, 17 May 2024 18:48:41 +0000</pubDate>
      <link>https://dev.to/ghalbeyou/introducing-fkdevtoolsjs-secure-your-web-applications-3man</link>
      <guid>https://dev.to/ghalbeyou/introducing-fkdevtoolsjs-secure-your-web-applications-3man</guid>
      <description>&lt;h2&gt;
  
  
  Why We Created F**kDevTools.js
&lt;/h2&gt;

&lt;p&gt;In the world of web development, security is paramount. We created F**kDevTools.js to address a common vulnerability: the exposure of sensitive information through browser developer tools. By disabling these tools, we aim to enhance the security of web applications and protect against potential attacks and data breaches.&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Helps Developers
&lt;/h2&gt;

&lt;p&gt;F**kDevTools.js provides a straightforward solution for developers to prevent unauthorized access to their site's backend through browser developer tools. By disabling right-click, F12, and Ctrl+Shift+I shortcuts, this script minimizes the risk of users inspecting or tampering with the site's code. This added layer of security is especially beneficial for applications dealing with sensitive data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;p&gt;Integrating F**kDevTools.js into your project is simple. Follow these steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Include the Script&lt;/strong&gt;: Add the following script to your HTML file:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;   &lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"path/to/FuckDevTools.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Configuration&lt;/strong&gt;: Customize the configuration options as needed:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;   &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;disable_right_click&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
   &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;disable_f12&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
   &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;disable_csi&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
   &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;onkeydown&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
       &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;disable_f12&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
           &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;keyCode&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;123&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
               &lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;preventDefault&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
           &lt;span class="p"&gt;}&lt;/span&gt;
       &lt;span class="p"&gt;}&lt;/span&gt;
       &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;disable_csi&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
           &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ctrlKey&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;shiftKey&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;keyCode&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="mi"&gt;73&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
               &lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;preventDefault&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
           &lt;span class="p"&gt;}&lt;/span&gt;
       &lt;span class="p"&gt;}&lt;/span&gt;
   &lt;span class="p"&gt;}&lt;/span&gt;
   &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;disable_right_click&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
       &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;oncontextmenu&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
           &lt;span class="nx"&gt;event&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;preventDefault&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
       &lt;span class="p"&gt;}&lt;/span&gt;
   &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Collaboration: Help Us Improve
&lt;/h2&gt;

&lt;p&gt;We believe in the power of community and collaboration. We're calling on developers to contribute to making F**kDevTools.js even better. Whether it's optimizing the script, adding new features, or improving documentation, your contributions are invaluable.&lt;/p&gt;

&lt;p&gt;Visit our &lt;a href="https://github.com/Ghalbeyou/FuckDevTools.js"&gt;GitHub repository&lt;/a&gt; to get involved. Together, we can create a more secure web for everyone.&lt;/p&gt;




&lt;p&gt;By &lt;a class="mentioned-user" href="https://dev.to/ghalbeyou"&gt;@ghalbeyou&lt;/a&gt; on GitHub&lt;br&gt;
&lt;a href="https://github.com/GhalbeYou"&gt;https://github.com/GhalbeYou&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>security</category>
      <category>github</category>
    </item>
    <item>
      <title>Don't Use Coding Assistances a Lot!</title>
      <dc:creator>Arash</dc:creator>
      <pubDate>Fri, 17 May 2024 12:43:08 +0000</pubDate>
      <link>https://dev.to/ghalbeyou/dont-use-coding-assistances-a-lot-hem</link>
      <guid>https://dev.to/ghalbeyou/dont-use-coding-assistances-a-lot-hem</guid>
      <description>&lt;p&gt;Ah, coding assistants—those magical little helpers that complete your code, correct your syntax, and even write entire functions for you. They're like the fairy godparents of the coding world, waving their wands to transform your pumpkin code into a sparkling carriage. But, before you get too comfortable in your glass slippers, let's talk about why you shouldn't rely on these magical beings too much. Yes, they’re fantastic, but there’s a catch—over-reliance on coding assistances can turn you into a code zombie, forever dependent on their whims.&lt;/p&gt;

&lt;p&gt;First off, let’s talk about the classic case of &lt;strong&gt;over-reliance&lt;/strong&gt;. You know, like that one friend who can’t seem to function without GPS even in their own neighborhood. If you lean too heavily on coding assistants, you might find yourself in a similar situation—lost without them. Sure, they save you time and effort, but if you can't write a loop or a function without their help, are you really a coder, or just a code typist?&lt;/p&gt;

&lt;p&gt;Next, there's the matter of &lt;strong&gt;skill development&lt;/strong&gt;. Remember when you were a kid, and your parents told you not to use training wheels forever? The same applies here. Coding assistants are like those training wheels. They’re great when you’re starting out, but if you never wean off them, you’ll never know the joy of riding solo. Developing problem-solving skills and coding proficiency takes practice, not just pressing ‘Tab’ to autocomplete.&lt;/p&gt;

&lt;p&gt;Let’s not forget &lt;strong&gt;learning and memory&lt;/strong&gt;. Imagine trying to learn a new language by only using Google Translate. Sure, you might get by, but you won't become fluent. Coding works the same way. If you’re constantly relying on your assistant to fill in the blanks, you’ll struggle to remember syntax, functions, and language-specific quirks. And let’s be real, nobody wants to be that person who can’t remember how to write a basic for-loop without looking it up.&lt;/p&gt;

&lt;p&gt;Then there's the issue of &lt;strong&gt;tool limitations&lt;/strong&gt;. Coding assistants are good, but they’re not perfect. They can suggest suboptimal or downright incorrect code. It's like having a friend who gives you relationship advice based on rom-coms—they mean well, but the results can be disastrous. Over-relying on these tools without understanding the underlying code can lead to inefficient and buggy programs.&lt;/p&gt;

&lt;p&gt;Another thing to consider is your &lt;strong&gt;debugging skills&lt;/strong&gt;. Coding is as much about fixing errors as it is about writing code. If you’ve always got your assistant holding your hand, you might miss out on developing critical troubleshooting skills. It’s like never learning to change a tire because AAA is always a call away. When the time comes, you’ll be stuck on the side of the road—or in this case, stuck with a bug you can’t fix.&lt;/p&gt;

&lt;p&gt;Now, let’s talk about &lt;strong&gt;creativity and problem solving&lt;/strong&gt;. Coding without an assistant forces you to think outside the box. It’s like cooking without a recipe—you might make a few mistakes, but you’ll learn to innovate and create something uniquely yours. Over-reliance on coding assistants can stifle this creativity, making you dependent on pre-existing solutions rather than crafting your own.&lt;/p&gt;

&lt;p&gt;Think about the &lt;strong&gt;satisfaction of achievement&lt;/strong&gt;. There’s something incredibly rewarding about solving a tough problem on your own. It’s the coder’s equivalent of climbing a mountain or baking a perfect soufflé. Relying too much on assistants robs you of these “eureka” moments. Don’t deprive yourself of that dopamine hit that comes from figuring it out by yourself.&lt;/p&gt;

&lt;p&gt;And let’s not ignore the &lt;strong&gt;importance of manual practice&lt;/strong&gt;. Like a musician who practices scales to master their instrument, coders need to practice manually writing code to master their craft. Skipping this crucial step by relying on assistants can leave gaps in your knowledge and skill set, much like a musician who can only play with sheet music but can't improvise.&lt;/p&gt;

&lt;p&gt;Remember, coding is a journey, not a destination. Enjoy the process, the mistakes, and the learning. Over-reliance on coding assistants can turn this exciting journey into a monotonous ride on autopilot. It’s the difference between driving a scenic route and being stuck on a conveyor belt—one is an adventure, the other is just a ride.&lt;/p&gt;

&lt;p&gt;In conclusion, coding assistants are amazing tools that can boost productivity and ease the learning curve. But, like all good things, they should be used in moderation. Don't let these assistants turn you into a passive participant in your own coding journey. Embrace the challenges, celebrate your successes, and most importantly, keep coding with your own two hands (and maybe a bit of your brain). Happy coding!&lt;/p&gt;

</description>
      <category>coding</category>
      <category>ai</category>
      <category>productivity</category>
      <category>skills</category>
    </item>
    <item>
      <title>I created a react framework!</title>
      <dc:creator>Arash</dc:creator>
      <pubDate>Mon, 22 May 2023 10:15:01 +0000</pubDate>
      <link>https://dev.to/ghalbeyou/i-created-a-react-framework-1onk</link>
      <guid>https://dev.to/ghalbeyou/i-created-a-react-framework-1onk</guid>
      <description>&lt;p&gt;Hello! I have created a React framework called React Legecy. This is my first framework, and it is designed to be simple and fast, specifically optimized for cheap hosting environments.&lt;/p&gt;

&lt;p&gt;React Legecy utilizes hashes to determine the current page. Here's how it works:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;/#/&lt;/code&gt;: This represents the index page.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;/#/about&lt;/code&gt;: This represents the about page.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The framework includes a 404 page and an error handler to ensure a smooth user experience. Additionally, it features an API handler for handling API requests.&lt;/p&gt;

&lt;p&gt;You can find the npm package for React Legecy at: &lt;a href="https://www.npmjs.com/package/react-legecy"&gt;React Legecy on npm&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;If you are interested in exploring the framework's source code or contributing to its development, you can find it on GitHub: &lt;a href="https://github.com/Ghalbeyou/react-legecy"&gt;React Legecy on GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;/p&gt;

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