<?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: Wahyu K. A.</title>
    <description>The latest articles on DEV Community by Wahyu K. A. (@aliftech).</description>
    <link>https://dev.to/aliftech</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%2F1250115%2Ff3eaa957-7055-49e6-ae1b-26e8b5c1c67e.png</url>
      <title>DEV Community: Wahyu K. A.</title>
      <link>https://dev.to/aliftech</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aliftech"/>
    <language>en</language>
    <item>
      <title>🔄 Introducing Galus: A Lightweight and Blazing-Fast Live Reload Tool for Go Developers</title>
      <dc:creator>Wahyu K. A.</dc:creator>
      <pubDate>Sat, 26 Jul 2025 09:49:45 +0000</pubDate>
      <link>https://dev.to/aliftech/introducing-galus-a-lightweight-and-blazing-fast-live-reload-tool-for-go-developers-1glg</link>
      <guid>https://dev.to/aliftech/introducing-galus-a-lightweight-and-blazing-fast-live-reload-tool-for-go-developers-1glg</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;⚡ Sick of slow build times with Air or CompileDaemon? Meet Galus — your new best friend for rapid Go development.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  👋 Hey, fellow Gophers!
&lt;/h2&gt;

&lt;p&gt;If you’ve built REST APIs in Go using frameworks like Gin, Chi, or Fiber, you probably rely on live reload tools to avoid rebuilding your server manually every time you save a file.&lt;/p&gt;

&lt;p&gt;The usual suspects?&lt;br&gt;
🧊 Air&lt;br&gt;
⚙️ CompileDaemon&lt;/p&gt;

&lt;p&gt;Both are awesome. I’ve used them extensively.&lt;br&gt;
But here's the catch — as my projects grew, so did the wait time.&lt;/p&gt;

&lt;p&gt;Every. Single. Save.&lt;/p&gt;

&lt;p&gt;I was spending more time waiting for builds than actually coding. And let’s be real — ain’t nobody got time for that.&lt;/p&gt;

&lt;p&gt;So I decided to build my own tool.&lt;br&gt;
And thus, Galus was born.&lt;/p&gt;

&lt;h2&gt;
  
  
  🧠 Why I Built Galus
&lt;/h2&gt;

&lt;p&gt;I hit that breaking point where I just wanted something:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lightweight 🪶&lt;/li&gt;
&lt;li&gt;Fast as hell ⚡&lt;/li&gt;
&lt;li&gt;Easy to set up 🛠️&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;🌀 Galus = Golang Auto Live Update System&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  🔧 What Makes Galus Different?
&lt;/h2&gt;

&lt;p&gt;✅ No fuss setup — just run galus init and you're good to go.&lt;br&gt;
✅ Insanely fast builds — even on large, complex projects.&lt;br&gt;
✅ Automatic rebuild + restart — zero config watching.&lt;br&gt;
✅ Built with Go developers in mind — minimal overhead, no bloated features.&lt;/p&gt;

&lt;p&gt;The goal is simple:&lt;br&gt;
&lt;strong&gt;Make your dev loop feel instant, again.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 Getting Started
&lt;/h2&gt;

&lt;p&gt;Install Galus&lt;/p&gt;

&lt;p&gt;&lt;code&gt;go get github.com/aliftech/galus&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Install the binary to make galus available globally&lt;/p&gt;

&lt;p&gt;&lt;code&gt;go install github.com/aliftech/galus&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Initialize in your project:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;galus init&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Run:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;galus&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;That’s it. Galus will handle the rest.&lt;/p&gt;

&lt;h2&gt;
  
  
  🗺️ Roadmap
&lt;/h2&gt;

&lt;p&gt;Galus is still early-stage, but I’ve got a roadmap full of features I’m actively working on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;🧪 Custom build commands&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🌈 Color-coded logs&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🔀 Plugin support for advanced workflows&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🛡️ Better error handling &amp;amp; recovery&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Want to contribute?&lt;br&gt;
Jump in 👉 github.com/aliftech/galus&lt;/p&gt;

&lt;h2&gt;
  
  
  🧠 I Need Your Feedback!
&lt;/h2&gt;

&lt;p&gt;This is where you come in.&lt;/p&gt;

&lt;p&gt;If you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Have ever been frustrated with live reload tools...&lt;/li&gt;
&lt;li&gt;Want something faster, simpler, and more Go-centric...&lt;/li&gt;
&lt;li&gt;Like experimenting with new dev tools...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then please give &lt;strong&gt;Galus&lt;/strong&gt; a spin and let me know what you think.&lt;/p&gt;

&lt;h2&gt;
  
  
  💬 Let’s Chat
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;What live reload tool do you use today — and why?&lt;/li&gt;
&lt;li&gt;What feature is absolutely essential in your dev workflow?&lt;/li&gt;
&lt;li&gt;Have you tried Galus? How was it?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hit me up in the comments or on GitHub — I’d love to collaborate with fellow Gophers.&lt;/p&gt;

&lt;h2&gt;
  
  
  🌟 If You Like It, Star It!
&lt;/h2&gt;

&lt;p&gt;If Galus helps you, even just a little, consider giving it a ⭐ on GitHub. It helps a ton!&lt;/p&gt;

&lt;p&gt;👉 github.com/aliftech/galus&lt;/p&gt;

&lt;p&gt;Let’s make Go dev faster, together. 💪&lt;/p&gt;

</description>
      <category>go</category>
      <category>api</category>
      <category>devtool</category>
    </item>
    <item>
      <title>JIN: A Light-Weight Hacking Tool Project</title>
      <dc:creator>Wahyu K. A.</dc:creator>
      <pubDate>Sat, 22 Jun 2024 14:32:25 +0000</pubDate>
      <link>https://dev.to/aliftech/jin-a-light-weight-hacking-tool-project-3hkc</link>
      <guid>https://dev.to/aliftech/jin-a-light-weight-hacking-tool-project-3hkc</guid>
      <description>&lt;p&gt;Today, I want to share my own simple cli application used for mapping URL, mapping open port of targeted website, and launching a DDoS attack. Disclaimer on, this project is made just for educational purpose, so I do not recommend you to use this project for unethical purpose.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is CLI ?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;CLI&lt;/strong&gt; stands for Command Line Interface is a way we interact with computer programs through text commands in a console or terminal. Instead of using graphical elements like windows or buttons, users type commands to perform tasks. CLIs is prevalent in programming, system administration, and various tech field because they offer powerful and efficient way to manage tasks and automate workflows.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is JIN ?
&lt;/h2&gt;

&lt;p&gt;As I mention before, JIN is a simple CLI application designed for doing URL mapping, open port mapping, and launching a DDoS attack. This tool is made for education purpose and just to satisfy my curiosity. For further information, you can follow the link bellow.&lt;br&gt;
&lt;a href="https://github.com/aliftech/jin" rel="noopener noreferrer"&gt;JIN Repository&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  Installation and Setup
&lt;/h2&gt;

&lt;p&gt;clone the JIN project using the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/aliftech/jin.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After that, move to root project and create a virtual environment using the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;py &lt;span class="nt"&gt;-m&lt;/span&gt; venv &lt;span class="nb"&gt;env&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;.&lt;span class="se"&gt;\e&lt;/span&gt;nv&lt;span class="se"&gt;\S&lt;/span&gt;cripts&lt;span class="se"&gt;\a&lt;/span&gt;ctivate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After creating a virtual environment, the next step is installing all required dependencies using the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; requirements.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Well, the JIN application is now ready to use.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install and Setup JIN Using Docker
&lt;/h2&gt;

&lt;p&gt;Beside installing and setup JIN application using the previous way, there is one more simple installation method, that is running this application using docker. In order to do that, you only need to run the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker compose run jin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then you can use your project now.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>cli</category>
      <category>python</category>
      <category>programming</category>
    </item>
    <item>
      <title>Introducing EOSAV: A Free and Open-Source Antivirus for Everyone</title>
      <dc:creator>Wahyu K. A.</dc:creator>
      <pubDate>Thu, 01 Feb 2024 04:25:10 +0000</pubDate>
      <link>https://dev.to/aliftech/introducing-eosav-a-free-and-open-source-antivirus-for-everyone-bkg</link>
      <guid>https://dev.to/aliftech/introducing-eosav-a-free-and-open-source-antivirus-for-everyone-bkg</guid>
      <description>&lt;p&gt;In today's digital world, where cyber threats lurk around every corner, safeguarding your devices from malware is not just an option, it's a necessity. Did you know that a malware attack occurs every 39 seconds?** That's why you need a robust antivirus solution that protects you effectively without compromising your budget or privacy. Look no further than EOSAV, the free and open-source antivirus designed to keep your devices safe and secure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EOSAV: Simple, Powerful, and Open&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EOSAV&lt;/strong&gt; stands out from the crowd with its unique combination of simplicity, powerful protection, and open-source development.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Effortless User Experience:&lt;/strong&gt; Say goodbye to complicated interfaces and confusing configurations. EOSAV boasts a clean and intuitive design that makes it easy to navigate and understand, even for users with limited technical knowledge.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Comprehensive Protection:&lt;/strong&gt; Don't let the lightweight design fool you. EOSAV packs a punch, employing multiple detection methods like real-time scanning, on-demand scanning, and signature-based detection to shield you from viruses, trojans, ransomware, and other malicious threats.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open Source for Transparency and Trust:&lt;/strong&gt; As an open-source project, EOSAV's code is freely available for inspection and modification. This ensures transparency and security, knowing that your data is never collected or shared without your knowledge.
Why Choose EOSAV?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here's why EOSAV should be your go-to choice for antivirus protection:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;It's Free:&lt;/strong&gt; Protect your devices without breaking the bank. EOSAV is completely free to download and use, with no hidden costs or subscriptions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It's Lightweight:&lt;/strong&gt; Unlike resource-heavy antivirus programs, EOSAV runs smoothly in the background, minimizing impact on your system performance.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It's Customizable:&lt;/strong&gt; Modify the open-source code to tailor EOSAV to your specific needs, adding or removing features as desired.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It's a Collaborative Effort:&lt;/strong&gt; Join a vibrant community of developers and security enthusiasts, contributing to continuous improvement and innovation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Join the Fight Against Cybercrime!&lt;/p&gt;

&lt;p&gt;By choosing EOSAV, you're not just protecting your own devices, you're actively contributing to a safer digital environment for everyone. Become part of the open-source movement and help us build a future where everyone can enjoy the internet with peace of mind.&lt;/p&gt;

&lt;p&gt;Download EOSAV today and experience the power of free and open-source antivirus protection!&lt;/p&gt;

&lt;p&gt;Get Started:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Visit our website:&lt;/strong&gt; &lt;a href="http://eosav.site/" rel="noopener noreferrer"&gt;http://eosav.site/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Together, let's create a safer digital world!&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>python</category>
      <category>software</category>
    </item>
    <item>
      <title>Beyond Signatures: Exploring Modern Antivirus Techniques</title>
      <dc:creator>Wahyu K. A.</dc:creator>
      <pubDate>Wed, 17 Jan 2024 02:52:58 +0000</pubDate>
      <link>https://dev.to/aliftech/beyond-signatures-exploring-modern-antivirus-techniques-54m0</link>
      <guid>https://dev.to/aliftech/beyond-signatures-exploring-modern-antivirus-techniques-54m0</guid>
      <description>&lt;p&gt;Hello everyone, still with me. Today I want to write something different, because for last week, I have learned, explore, and researched about cyber security especially about how malicious code work. But, I am not gonna writing a content about how to hack something. I just want to share my mini research about antivirus. In my mini research, I tried to created my own antivirus, just a simple antivirus with GUI (Graphical User Interface).&lt;/p&gt;

&lt;p&gt;In this article I want to try to explain about the depth of antivirus technologies. And please take a note, in this article I am not going to make a tutorial about how to create antivirus, I just want to explain in the simple way about the technology beyond the antivirus. Ok, enough for pleasantries, lets go to our topic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
In the vast of digital realm, just like in medieval times, we face lurking threats that aim to harm our precious data and systems. But, instead of dragon or sorcerers, we encounter malicious software (malware), often in the form of viruses, worms, and trojan. Thankfully, we have our own digital knights – antivirus software – to defend us from these cyber threats. For more specific information about malware, you can visit this &lt;a href="https://wahyounote.wordpress.com/2024/01/16/demystifying-malware-a-comprehensive-guide/" rel="noopener noreferrer"&gt;article&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Antivirus&lt;/strong&gt;&lt;br&gt;
Antivirus software, as the name suggests, is designed to detect, prevent, and remove malware from your computer or device. Imagine it as a security system with multiple layers of protection, constantly scanning your digital terrain for suspicious activity and neutralizing any invaders before they can cause harm.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A journey through time: The history of antivirus&lt;/strong&gt;&lt;br&gt;
The story of antivirus begin in the early day of computing, around the 1970s, when the first computer viruses started appearing. These early threats were relatively simple, but they served as a wake-up call for the need for digital protection. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;1971:&lt;/strong&gt; The first known computer virus, &lt;strong&gt;Creeper&lt;/strong&gt; emerges on DEC PDP-10 mainframe computers. This playful virus displayed the message "I'm the creeper, catch me if you can!" while replicating itself across machines.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1984:&lt;/strong&gt; The Elk Cloner virus infects Apple II computers, displaying a poem before corrupting floppy disks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1989:&lt;/strong&gt; The Morris Worm becomes the first major internet worm, causing widespread disruption by infecting thousands of computers and crippling internet traffic.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These early encounters with malware led to the development of the first antivirus programs in the late of 1980s. These pioneers, like John McAfee and Eugene Kaspersky, laid the foundation for the sophisticated solution we have today.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Development and Evolution of Antivirus&lt;/strong&gt;&lt;br&gt;
Early antivirus software relied on &lt;strong&gt;signature-based&lt;/strong&gt; detection, identifying and blocking known malware based on specific digital patterns, like virus signatures. This approach was effective against familiar threats, but it struggled with new and never-before-seen malware.&lt;/p&gt;

&lt;p&gt;As malware creators became more sophisticated, antivirus developers had to adapt. This led to the development of several new technologies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Heuristic:&lt;/strong&gt; This technique analyzes programs for suspicious behavior, even if they don't match known virus signatures. Think of it as a detective looking for clues rather than just comparing mugshots.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Machine Learning:&lt;/strong&gt; Advanced algorithms analyze vast amounts of data to identify patterns and anomalies, allowing antivirus software to detect even zero-day attacks. It's like having a constantly learning and evolving detective on your side.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sandbox Technology:&lt;/strong&gt; This creates a virtual environment when suspicious files can be safely execute and monitored, revealing their true nature without harming your actual system. Imagine testing a suspicious potion in a controlled lab before drinking it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Behavioral Analysis:&lt;/strong&gt; By monitoring how programs interact with your system, antivirus software can identify malicious activities, even if they are hidden within seemingly harmless code. It's like watching someone's actions to see if they are up to something shady.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These advancements have made modern antivirus solutions much more effective and adaptable, offering multi-layered protection against an ever-evolving threat landscape.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The future of antivirus&lt;/strong&gt;&lt;br&gt;
The battle against malware is an ongoing one, and antivirus developers are constantly innovating to stay ahead of the curve. Emerging technologies like artificial intelligence and blockchain are expected to play a significant role in the future of antivirus, leading to even more intelligent and proactive protection.&lt;/p&gt;

&lt;p&gt;So, the next time you connect to the digital world, remember the tireless knights standing guard in the background – your antivirus software. They may not wear shining armor, but they wield powerful tools to keep your digital kingdom safe from harm.&lt;/p&gt;

</description>
      <category>community</category>
      <category>cybersecurity</category>
      <category>programming</category>
    </item>
    <item>
      <title>Convert JSON Data To YAML in Python</title>
      <dc:creator>Wahyu K. A.</dc:creator>
      <pubDate>Sat, 06 Jan 2024 08:48:10 +0000</pubDate>
      <link>https://dev.to/aliftech/convert-json-data-to-yaml-eec</link>
      <guid>https://dev.to/aliftech/convert-json-data-to-yaml-eec</guid>
      <description>&lt;p&gt;Hello everyone, in this session i would like to share a simple tutorial about &lt;strong&gt;how to convert json data into yaml&lt;/strong&gt;. In this tutorial i am gonna use python as programming language and a library called FormatFusion. FormatFusion is a powerful data converter library for python, you can check the detail in this &lt;a href="https://pypi.org/project/FormatFusion/" rel="noopener noreferrer"&gt;https://pypi.org/project/FormatFusion/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Before we start the tutorial, it is important to know what is json and yaml.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;JSON&lt;/strong&gt;&lt;br&gt;
JSON stands for Javascript Object Notation. It is a lightweight data-interchange format that's widely used for transmitting data between computers. Think for it as a language for computers to talk to each other in a way that's both easy to understand and efficient to transmit. For further information about json, you can visit &lt;a href="https://wahyounote.wordpress.com/2024/01/10/json-the-lightweight-data-interchange-format/" rel="noopener noreferrer"&gt;JSON: The Lightweight Data-Interchange Format&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Here is some keys to know about json:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;human-readable:&lt;/strong&gt; JSON is written in the plaintext, so it is easy for human to read and understand, even if they don't know how to program. This make it a great choice for things like configuration files and API responses.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;language independent:&lt;/strong&gt; even though it is based on javascript syntax, json can be used with any programming language. There are libraries and frameworks available for all major languages that can read and write json data.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;lightweight:&lt;/strong&gt; JSON files are very small and compact, which make them ideal for transmitting data over the internet. This is why json is often used for web APIs and web applications.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;structured:&lt;/strong&gt; JSON data is organized into key-value pairs and arrays. This make it easy to access and manipulate specifict place of data.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here are some common uses of JSON:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;web APIs:&lt;/strong&gt; Many web APIs use json to send and receive data. Example, when you use a weather API to get current temperature, the API will return data in json format.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;configuration files:&lt;/strong&gt; Many application use json files to store configuration setting. This make it easy to changes the setting without having to modify the code itself.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;data storage:&lt;/strong&gt; JSON can be used to store data in a file or database. This is a common way to store data for web applications.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here is the json example data:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"person"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"John Doe"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"address"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"street"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"123 Main St"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"city"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Anytown"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"state"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"CA"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;YAML&lt;/strong&gt;&lt;br&gt;
YAML ain't a markup language, though originally it meant Yet Another Markup Language. It is another data serialization language similar to json, often used for configuration files and data exchange. However, unlike json, it prioritize human readability with more intuitive and concise syntax. For further information about yaml, you can check it in my article &lt;a href="https://wahyounote.wordpress.com/2024/01/10/yaml-the-friendly-face-of-data-unveiling-the-depth-of-human-readable-code/" rel="noopener noreferrer"&gt;YAML: The Friendly Face of Data – Unveiling The Depth of Human-Readable Code&lt;/a&gt;. Here are some key points about yaml:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Human-readable&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Use indentation to define structure, similar to python code, make it easier to understand the hierarchy of data.&lt;/li&gt;
&lt;li&gt;No need for closing tags or square bracket like json, simplifying the visual layout.&lt;/li&gt;
&lt;li&gt;Support comments for annotation, further clarifying the meaning of the data.&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Powerful and Flexible&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;A superset of json, meaning any valid json file is also a valid yaml file.&lt;/li&gt;
&lt;li&gt;Support various data types including strings, numbers, booleans, lists, dictionaries, and often custom types.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Allows for anchors and aliases to reference data elsewhere in the document, reducing redundancy.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Common Uses&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Configuration files for applications and servers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Data exchange between programs and services.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Storing application state and settings.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Defining automation scripts and playbooks.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here is the yaml example data:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;My Application&lt;/span&gt;
&lt;span class="na"&gt;version&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;1.0.0&lt;/span&gt;
&lt;span class="na"&gt;settings&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;debug&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
  &lt;span class="na"&gt;port&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;8080&lt;/span&gt;
&lt;span class="na"&gt;data&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;users&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;John Doe&lt;/span&gt;
    &lt;span class="na"&gt;email&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;john.doe@example.com&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We have already talking about both json and yaml. Now, it is the time to go to our main topic. First of all, we need to install FormatFusion library using the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;FormatFusion
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After that we can use the library to convert our json data into yaml format. Here is the example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;FormatFusion.json_to_yaml&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;json_to_yaml&lt;/span&gt;

&lt;span class="n"&gt;json_data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;{
    &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;name&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;: &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;John Doe&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;,
    &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;age&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;: 30,
    &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;city&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;: &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;New York&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;
}&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;

&lt;span class="n"&gt;yaml_data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;json_to_yaml&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;json_data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;yaml_data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We can also convert yaml data into json format using &lt;code&gt;yaml_to_json&lt;/code&gt; function just like the example bellow.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;FormatFusion.yaml_to_json&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;yaml_to_json&lt;/span&gt;

&lt;span class="n"&gt;yaml_data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;
   name: John Doe
   age: 30
   city: New York
&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;

&lt;span class="n"&gt;json_data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;yaml_to_json&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;yaml_data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;json_data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And that's it. How was it? It was easy, right? Converting JSON to YAML with the FormatFusion library is a breeze. In addition to converting YAML and JSON data, FormatFusion can also be used to convert other data formats. For more information, please visit the FormatFusion documentation on the &lt;a href="https://github.com/aliftech/FormatFusion/blob/master/DOCUMENTATION.md" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt;. That's all for this tutorial. Thank you for reading and I hope it was helpful.&lt;/p&gt;

&lt;p&gt;Here is an image of the FormatFusion library documentation:&lt;/p&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%2Fi4z2cl8dkhjgs0jf0k8s.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%2Fi4z2cl8dkhjgs0jf0k8s.png" alt="Image description" width="800" height="422"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here are some additional tips for converting JSON to YAML:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If your JSON data is nested, you can use the indent property to control the indentation level of the YAML output.&lt;/li&gt;
&lt;li&gt;If your JSON data contains comments, you can use the comment property to specify how to handle them in the YAML output.&lt;/li&gt;
&lt;li&gt;If your JSON data contains special characters, you can use the escape property to specify how to escape them in the YAML output.
I hope this helps!&lt;/li&gt;
&lt;/ul&gt;

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