<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Kaan Yagci</title>
    <description>The latest articles on Forem by Kaan Yagci (@kaanyagci).</description>
    <link>https://forem.com/kaanyagci</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%2F538751%2Fcdf5fa64-438c-48a5-95ce-14055f144eee.jpg</url>
      <title>Forem: Kaan Yagci</title>
      <link>https://forem.com/kaanyagci</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/kaanyagci"/>
    <language>en</language>
    <item>
      <title>Reverting Slack's New UI: A Guide for Developers Who Love Control</title>
      <dc:creator>Kaan Yagci</dc:creator>
      <pubDate>Tue, 17 Oct 2023 22:02:38 +0000</pubDate>
      <link>https://forem.com/makepad/reverting-slacks-new-ui-a-guide-for-developers-who-love-control-5gj6</link>
      <guid>https://forem.com/makepad/reverting-slacks-new-ui-a-guide-for-developers-who-love-control-5gj6</guid>
      <description>&lt;p&gt;Hello fellow developers!&lt;/p&gt;

&lt;p&gt;Being a software engineer for the past 10 years, I've had my fair share of software updates, upgrades, and UI revamps. Some of them are warmly welcomed, while others make us question, "Why? Just... why?"&lt;/p&gt;

&lt;p&gt;Recently, Slack decided to roll out a new UI, and let's say it wasn't my cup of coffee. The new change can be a bit frustrating for many of us juggling between multiple Slack servers (and I'm talking about working with two different companies simultaneously). But fret not, for the developer community is resourceful and never backs down from a challenge.&lt;/p&gt;

&lt;p&gt;Thanks to the good folks over at Reddit, I stumbled upon a nifty little trick that helped me revert to the old UI, and I wanted to share this knowledge with all of you, especially if you're in the same boat as me.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let's dive in!
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Enable Slack's Developer Menu
&lt;/h3&gt;

&lt;p&gt;Before we begin, ensure that Slack is closed. To enable the developer menu, we need to set an environment variable. Open your terminal and type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;SLACK_DEVELOPER_MENU&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 2: Launch Slack
&lt;/h3&gt;

&lt;p&gt;Once you've set the environment variable, navigate to your applications and open Slack:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;open /Applications/Slack.app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 3: Access Developer Console
&lt;/h3&gt;

&lt;p&gt;Here comes the fun part! Once Slack is up and running, you need to open the developer console. For this, simply press:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cmd + option + I
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 4: The Magic Spell (JavaScript)
&lt;/h3&gt;

&lt;p&gt;With the developer console in front of you, copy and paste the following JavaScript code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;localStorage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;setItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;localConfig_v2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;localStorage&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;localConfig_v2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="sr"&gt;is_unified_user_client_enabled&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="sr"&gt;:true/g&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;"is_unified_user_client_enabled": false&lt;/span&gt;&lt;span class="dl"&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Hit 'Enter', and voila! The old, familiar Slack UI should be back.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;The beauty of the developer community is how quick we are at finding workarounds when things don't go as per our liking. And while I'm sure Slack had its reasons for the UI change, it's great to know that we aren't entirely helpless in such situations.&lt;/p&gt;

&lt;p&gt;So, next time you're met with an unappreciated software change, remember this - there's probably a workaround out there. All you need is a little digging and some faith in the community.&lt;/p&gt;

&lt;p&gt;Happy coding!&lt;/p&gt;




&lt;p&gt;By the way, if you found this useful, drop a comment, share it with your peers, and let's continue making our software lives a bit more comfortable.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;br&gt;
Kaan&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: This method is based on community findings and might not work with future Slack updates. Always back up your important data before making any changes.&lt;/p&gt;

</description>
      <category>tips</category>
      <category>programming</category>
      <category>tutorial</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Reverting Slack's New UI: A Guide for Developers Who Love Control</title>
      <dc:creator>Kaan Yagci</dc:creator>
      <pubDate>Tue, 17 Oct 2023 22:02:38 +0000</pubDate>
      <link>https://forem.com/makepad/reverting-slacks-new-ui-a-guide-for-developers-who-love-control-35m9</link>
      <guid>https://forem.com/makepad/reverting-slacks-new-ui-a-guide-for-developers-who-love-control-35m9</guid>
      <description>&lt;p&gt;Hello fellow developers!&lt;/p&gt;

&lt;p&gt;Being a software engineer for the past 10 years, I've had my fair share of software updates, upgrades, and UI revamps. Some of them are warmly welcomed, while others make us question, "Why? Just... why?"&lt;/p&gt;

&lt;p&gt;Recently, Slack decided to roll out a new UI, and let's say it wasn't my cup of coffee. The new change can be a bit frustrating for many of us juggling between multiple Slack servers (and I'm talking about working with two different companies simultaneously). But fret not, for the developer community is resourceful and never backs down from a challenge.&lt;/p&gt;

&lt;p&gt;Thanks to the good folks over at Reddit, I stumbled upon a nifty little trick that helped me revert to the old UI, and I wanted to share this knowledge with all of you, especially if you're in the same boat as me.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let's dive in!
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Enable Slack's Developer Menu
&lt;/h3&gt;

&lt;p&gt;Before we begin, ensure that Slack is closed. To enable the developer menu, we need to set an environment variable. Open your terminal and type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;SLACK_DEVELOPER_MENU&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 2: Launch Slack
&lt;/h3&gt;

&lt;p&gt;Once you've set the environment variable, navigate to your applications and open Slack:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;open /Applications/Slack.app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 3: Access Developer Console
&lt;/h3&gt;

&lt;p&gt;Here comes the fun part! Once Slack is up and running, you need to open the developer console. For this, simply press:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cmd + option + I
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 4: The Magic Spell (JavaScript)
&lt;/h3&gt;

&lt;p&gt;With the developer console in front of you, copy and paste the following JavaScript code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;localStorage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;setItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;localConfig_v2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;localStorage&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;localConfig_v2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="sr"&gt;is_unified_user_client_enabled&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="sr"&gt;:true/g&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;"is_unified_user_client_enabled": false&lt;/span&gt;&lt;span class="dl"&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Hit 'Enter', and voila! The old, familiar Slack UI should be back.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;The beauty of the developer community is how quick we are at finding workarounds when things don't go as per our liking. And while I'm sure Slack had its reasons for the UI change, it's great to know that we aren't entirely helpless in such situations.&lt;/p&gt;

&lt;p&gt;So, next time you're met with an unappreciated software change, remember this - there's probably a workaround out there. All you need is a little digging and some faith in the community.&lt;/p&gt;

&lt;p&gt;Happy coding!&lt;/p&gt;




&lt;p&gt;By the way, if you found this useful, drop a comment, share it with your peers, and let's continue making our software lives a bit more comfortable.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;br&gt;
Kaan&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: This method is based on community findings and might not work with future Slack updates. Always back up your important data before making any changes.&lt;/p&gt;

</description>
      <category>tips</category>
      <category>programming</category>
      <category>tutorial</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Reverting Slack's New UI: A Guide for Developers Who Love Control</title>
      <dc:creator>Kaan Yagci</dc:creator>
      <pubDate>Tue, 17 Oct 2023 22:02:38 +0000</pubDate>
      <link>https://forem.com/makepad/reverting-slacks-new-ui-a-guide-for-developers-who-love-control-2dii</link>
      <guid>https://forem.com/makepad/reverting-slacks-new-ui-a-guide-for-developers-who-love-control-2dii</guid>
      <description>&lt;p&gt;Hello fellow developers!&lt;/p&gt;

&lt;p&gt;Being a software engineer for the past 10 years, I've had my fair share of software updates, upgrades, and UI revamps. Some of them are warmly welcomed, while others make us question, "Why? Just... why?"&lt;/p&gt;

&lt;p&gt;Recently, Slack decided to roll out a new UI, and let's say it wasn't my cup of coffee. The new change can be a bit frustrating for many of us juggling between multiple Slack servers (and I'm talking about working with two different companies simultaneously). But fret not, for the developer community is resourceful and never backs down from a challenge.&lt;/p&gt;

&lt;p&gt;Thanks to the good folks over at Reddit, I stumbled upon a nifty little trick that helped me revert to the old UI, and I wanted to share this knowledge with all of you, especially if you're in the same boat as me.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let's dive in!
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Enable Slack's Developer Menu
&lt;/h3&gt;

&lt;p&gt;Before we begin, ensure that Slack is closed. To enable the developer menu, we need to set an environment variable. Open your terminal and type:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;SLACK_DEVELOPER_MENU&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nb"&gt;true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 2: Launch Slack
&lt;/h3&gt;

&lt;p&gt;Once you've set the environment variable, navigate to your applications and open Slack:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;open /Applications/Slack.app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 3: Access Developer Console
&lt;/h3&gt;

&lt;p&gt;Here comes the fun part! Once Slack is up and running, you need to open the developer console. For this, simply press:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cmd + option + I
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 4: The Magic Spell (JavaScript)
&lt;/h3&gt;

&lt;p&gt;With the developer console in front of you, copy and paste the following JavaScript code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;localStorage&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;setItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;localConfig_v2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;localStorage&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getItem&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;localConfig_v2&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
      &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="sr"&gt;is_unified_user_client_enabled&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="sr"&gt;:true/g&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;"is_unified_user_client_enabled": false&lt;/span&gt;&lt;span class="dl"&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;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Hit 'Enter', and voila! The old, familiar Slack UI should be back.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrapping up
&lt;/h2&gt;

&lt;p&gt;The beauty of the developer community is how quick we are at finding workarounds when things don't go as per our liking. And while I'm sure Slack had its reasons for the UI change, it's great to know that we aren't entirely helpless in such situations.&lt;/p&gt;

&lt;p&gt;So, next time you're met with an unappreciated software change, remember this - there's probably a workaround out there. All you need is a little digging and some faith in the community.&lt;/p&gt;

&lt;p&gt;Happy coding!&lt;/p&gt;




&lt;p&gt;By the way, if you found this useful, drop a comment, share it with your peers, and let's continue making our software lives a bit more comfortable.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;br&gt;
Kaan&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: This method is based on community findings and might not work with future Slack updates. Always back up your important data before making any changes.&lt;/p&gt;

</description>
      <category>tips</category>
      <category>programming</category>
      <category>tutorial</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Different Modelizations of Computer Networks</title>
      <dc:creator>Kaan Yagci</dc:creator>
      <pubDate>Thu, 29 Dec 2022 14:14:13 +0000</pubDate>
      <link>https://forem.com/makepad/different-modelizations-of-computer-networks-mdo</link>
      <guid>https://forem.com/makepad/different-modelizations-of-computer-networks-mdo</guid>
      <description>&lt;p&gt;In the previous article, we walked through some basics of computer networking. In this article, we'll walk through two widely used representations of computer networking. We'll not go into the implementation or semantic details for each representation. We'll get a general visualization of each model with some examples.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Internet Protocol Suite (TCP/IP Model)
&lt;/h2&gt;

&lt;p&gt;The Internet Protocol Suite, or the TCP/IP model, is a framework for organizing the communication protocols used in the Internet and similar computer networks according to functional criteria. This representation provides a four-layered network stack.&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%2F2kh1esoomy21vlav97mo.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%2F2kh1esoomy21vlav97mo.png" alt="Modelization of layers in Internet Protocol Suite" width="800" height="504"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's take a closer look at each layer, starting from the bottom.&lt;/p&gt;

&lt;h3&gt;
  
  
  Link Layer
&lt;/h3&gt;

&lt;p&gt;The link layer includes all hosts accessible without traversing a router. The size of the link is therefore determined by the networking hardware design. In principle, TCP/IP is designed to be hardware independent and may be implemented on virtually any link-layer technology. This includes hardware implementations and virtual link layers such as virtual private networks and networking tunnels.&lt;/p&gt;

&lt;h3&gt;
  
  
  Internet Layer
&lt;/h3&gt;

&lt;p&gt;This is the layer where two devices on different networks communicate. This is the layer you use when printing something from the fifth-floor printer while sitting on the first floor. You can achieve this even though your office network has no internet connection.&lt;/p&gt;

&lt;h3&gt;
  
  
  Transport Layer
&lt;/h3&gt;

&lt;p&gt;The transport layer provides the functional and procedural means of transferring variable-length data sequences from a source host to a destination host from one application to another across a network while maintaining the quality-of-service functions. This is the layer between your router and the application. It transports packages from your router to the application and vice-versa. This is the network layer you're using when printing something on your office printer while sitting on your couch at your home.&lt;/p&gt;

&lt;h3&gt;
  
  
  Application Layer
&lt;/h3&gt;

&lt;p&gt;Generally speaking, the application layer is an abstraction layer that specifies the shared communications protocols and interface methods used by hosts in a communications network. For the Internet Protocol Suite, the application network contains the communications protocols and interface methods used in process-to-process communications across an Internet Protocol (IP) computer network. This is the highest layer of computer networking, which most people are familiar with. Every time you use your Web browser or every time you use a mobile application on your phone, this is the layer that you're using.&lt;/p&gt;

&lt;h2&gt;
  
  
  The OSI Model
&lt;/h2&gt;

&lt;p&gt;The Open Systems Interconnection model (OSI) is a conceptual model that provides an everyday basis for coordinating ISO standards development for systems interconnection. Compared to the Internet Protocol Suite, the OSI model provides a network stack for more generic networking than Internet Protocol. This representation enumerates layers from bottom to top, starting from 1. Therefore in this representation, layers are often called by their number instead of their names. &lt;br&gt;
The OSI representation provides a 7 layered network stack in which two communicating devices exchange protocol data units (PDUs) using a network protocol. &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%2Fvx7h3vxxsna0j1bt0z7j.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%2Fvx7h3vxxsna0j1bt0z7j.png" alt="OSI Representation of computer network" width="800" height="748"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Layer 1: Physical Layer
&lt;/h3&gt;

&lt;p&gt;The Physical Layer is responsible for the transmission and reception of unstructured raw data between a device, such as a network interface controller. This is the first layer that a device passes through. You can see this when you connect to a network for whatever reason. You must have a network interface to communicate with your router.&lt;/p&gt;
&lt;h3&gt;
  
  
  Layer 2: Data Link Layer
&lt;/h3&gt;

&lt;p&gt;The Link Layer is the layer where two directly connected nodes communicate. You can see this as the layer you're using when printing something on your printer, which is on the same Network as you. To print, you don't send anything to the Internet. You just communicate with your printer through your router. &lt;/p&gt;
&lt;h3&gt;
  
  
  Layer 3: Network Layer
&lt;/h3&gt;

&lt;p&gt;This layer is the same as the Internet Layer of the IP Suite. The naming is different because the IP Suite conceptualizes a network stack for internet communications, and OSI conceptualizes a network stack more generically. So, generally speaking, the Internet becomes Network.&lt;/p&gt;
&lt;h3&gt;
  
  
  Layer 4: Transport Layer
&lt;/h3&gt;

&lt;p&gt;This layer has the same purpose as in the IP Suite model. The main difference in IP Suite is that it handles and controls the transport between Network Layer and the Session Layer.&lt;/p&gt;
&lt;h3&gt;
  
  
  Layer 5: Session Layer
&lt;/h3&gt;

&lt;p&gt;The Session layer establishes, manages, and terminates the local and remote application connections. The Session Layer creates the setup, controls the connections, and ends the teardown between two or more computers, called a session. We'll get into more detail when we look into the HTTP in this tutorial series.&lt;/p&gt;
&lt;h3&gt;
  
  
  Layer 6: Presentation Layer
&lt;/h3&gt;

&lt;p&gt;The Presentation Layer establishes data formatting and translation into a format specified by the application layer during the encapsulation of outgoing messages while being passed down the protocol stack and possibly reversed during the de-encapsulation of incoming messages when being passed up the protocol stack. The Presentation Layer handles protocol conversion, data encryption, data decryption, data compression, data decompression, incompatibility of data representation between OSs, and graphic commands. The presentation layer transforms data into the form that the application layer accepts to be sent across a network.&lt;/p&gt;
&lt;h3&gt;
  
  
  Layer 7: Application Layer
&lt;/h3&gt;

&lt;p&gt;Finally, the Application Layer is the layer that is closest to the end user. You can think of it as it's in the Internet Protocol Suite.&lt;/p&gt;
&lt;h2&gt;
  
  
  Protocol Data Unit
&lt;/h2&gt;

&lt;p&gt;A protocol data unit (PDU) is a single unit of information transmitted among peer entities of a computer network. It is composed of protocol-specific control information and user data. In the layered architectures of communication protocol stacks, each layer implements protocols tailored to the specific type or mode of data exchange.&lt;/p&gt;

&lt;p&gt;For example, the Transmission Control Protocol (TCP) implements a connection-oriented transfer mode, and the PDU of this protocol is called a segment, while the User Datagram Protocol (UDP) uses datagrams as protocol data units for connectionless communication. A layer lower in the Internet protocol suite, at the Internet layer, the PDU is called a packet, irrespective of its payload type.&lt;/p&gt;
&lt;h3&gt;
  
  
  OSI Model
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The layer 4&lt;/strong&gt; (Transport layer) PDU is the segment or the datagram, depending on the used protocol.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Layer 3&lt;/strong&gt; (Network layer) PDU is the packet&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The layer 2&lt;/strong&gt; (Data Link layer) PDU is frame&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Layer 1&lt;/strong&gt; (Physical layer) PDU is the bit, or more generally, symbol.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Internet Protocol Suite:
&lt;/h3&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%2Fanfhwyxbzglt3ybfz20b.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%2Fanfhwyxbzglt3ybfz20b.png" alt="Internet Protocol Suite Protocol Data Units" width="800" height="522"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Transport layer&lt;/strong&gt; PDU is the TCP segment for TCP and the datagram for UDP&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Internet layer&lt;/strong&gt; PDU is the packet&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Link layer&lt;/strong&gt; PDU is the frame&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On TCP/IP over Ethernet, &lt;strong&gt;the data on the physical layer&lt;/strong&gt; is carried in Ethernet frames.&lt;/p&gt;
&lt;h2&gt;
  
  
  Internet Protocol Suite vs. OSI
&lt;/h2&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%2F5erxljqttu9pykl6tuol.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%2F5erxljqttu9pykl6tuol.png" alt="Diagrams comparing IP Suite and OSI models" width="800" height="381"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are a lot of differences between these two conceptualizations from a semantic and implementation point of view. But from a more generic point of view, there are more generic differences between these two conceptualizations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;number of layers:&lt;/strong&gt; OSI is based on 7 layers, and Internet Protocol Suite is based on 4.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Do not confuse TCP/IP and Internet Protocol Suite:&lt;/strong&gt;  The Internet Protocol Suite is also called TCP/IP Model. But the conceptualization is separate from the TCP/IP protocol.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enumerating Layers:&lt;/strong&gt; The layer enumeration only exists in the OSI Model. In the Internet Protocol Suite, conceptualization layers are not enumerated by numbers as in the OSI Model.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;In this tutorial, we walked through the two widely used modelizations of computer networks. In the next episode, we'll take a closer look to Layer 3 and will see how IP works in more details&lt;/p&gt;
&lt;h2&gt;
  
  
  More about &lt;a href="https://Makepad.io" rel="noopener noreferrer"&gt;Makepad&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;We're a tech consulting company based in France and share computer science related content on our socials.&lt;br&gt;
If you want to see more this kind of content follow us on our   socials: &lt;a href="https://linkedin.com/company/Makepad" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://twitter.com/MakepadDev" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; and &lt;a href="https://instagram.com/Makepad.dev" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt;.&lt;/p&gt;


&lt;div class="ltag__user ltag__user__id__3422"&gt;
  &lt;a href="/makepad" class="ltag__user__link profile-image-link"&gt;
    &lt;div class="ltag__user__pic"&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%2Forganization%2Fprofile_image%2F3422%2F931dcb72-c454-42d7-b2e1-cb0ed776249e.png" alt="makepad image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
      &lt;a href="/makepad" class="ltag__user__link"&gt;Makepad&lt;/a&gt;
      Follow
    &lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a href="/makepad" class="ltag__user__link"&gt;
        Makepad is a French tech consulting company that provides on-site and off-site services for open-source and proprietary projects. 
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Follow us on GitHub to stay tuned with our open-source projects: &lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://github.com/Makepad-fr" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F32249609%3Fs%3D280%26v%3D4" height="146" class="m-0" width="146"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://github.com/Makepad-fr" rel="noopener noreferrer" class="c-link"&gt;
          Makepad · GitHub
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          Makepad is a French tech consulting company that provides consulting services on open-source and closed source development. - Makepad
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.githubassets.com%2Ffavicons%2Ffavicon.svg" width="32" height="32"&gt;
        github.com
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;To join to a community of tech enthusiasts where we talk about tech and other tech-related stuff 👇&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://discord.com/invite/NhvYEmyXN2" rel="noopener noreferrer" class="c-link"&gt;
          WorkHouse
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          Check out the WorkHouse community on Discord - hang out with 14 other members and enjoy free voice and text chat.
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdiscord.com%2Fassets%2Ffavicon.ico" width="800" height="400"&gt;
        discord.com
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>computerscience</category>
      <category>webdev</category>
      <category>tutorial</category>
      <category>programming</category>
    </item>
    <item>
      <title>Introduction to Computer Networking</title>
      <dc:creator>Kaan Yagci</dc:creator>
      <pubDate>Mon, 26 Dec 2022 07:22:58 +0000</pubDate>
      <link>https://forem.com/makepad/introduction-to-computer-networking-1pfj</link>
      <guid>https://forem.com/makepad/introduction-to-computer-networking-1pfj</guid>
      <description>&lt;p&gt;In this tutorial series, I'll walk you through the basics of computer networking to familiarize you with some basic concepts that may help you understand the tools you're already using or may use in the future. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt; This article series is not written to prepare you for a certification such as CCNA. The only reason for this tutorial series is to give you general knowledge about how things work under the hood.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reasons to learn computer networking.
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Less complication
&lt;/h3&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%2F38rby6zgdnhpmrsxshqw.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%2F38rby6zgdnhpmrsxshqw.jpg" alt="Struggling developer" width="800" height="534"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nowadays, almost everybody uses technologies like Docker and Kubernetes or REST APIs. Every developer uses it, but only some know how these things work. And if you don't see how these things work, when you need to debug your code, you may spend considerable time before making it work again.&lt;br&gt;
Understanding generic concepts like cloud computing, REST, cyber security,  or IoT becomes a nightmare if you don't have an existing knowledge of computer networking. For example, REST endpoints will feel like a black box without prior knowledge of HTTP.&lt;/p&gt;
&lt;h3&gt;
  
  
  Stand out in the competition.
&lt;/h3&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%2F1jz4bbt2ifnp5zt8i7mf.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%2F1jz4bbt2ifnp5zt8i7mf.jpg" alt="Job interview" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nowadays, more people become software engineers through boot camps or a CS degree. So the competition becomes more challenging every day as the number of developers also increases. Understanding how things work under the hood can help you stand out your profile in this competition.&lt;/p&gt;
&lt;h3&gt;
  
  
  Being a better team player
&lt;/h3&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%2F1cnyfdtkuo2a0xli51qn.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%2F1cnyfdtkuo2a0xli51qn.jpg" alt="Team work" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You have already heard that soft skills are essential to land your dream job. And being a good team player is one of the soft skills you'll see in a random list of "n soft skills that every developer should have." kinds of articles or podcasts. It's not only having good relations with your co-workers. You should maintain reasonable social concerns with everyone in your social life. If you understand what your network engineer, your DevOps, or your DevSecOps colleague is doing in their day-to-day job and the kind of challenges they are facing, you can help them as a developer you can make their life easier. And this will make you a better team player.&lt;/p&gt;
&lt;h3&gt;
  
  
  Path to becoming an expert.
&lt;/h3&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%2Fx2isczhmhgtv6e29e980.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%2Fx2isczhmhgtv6e29e980.jpg" alt="Complex working environment" width="800" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Learning one or multiple programming languages inside out or using your favorite IDE may make you productive in your daily workflow. Having dozens of years of professional experience in your area may help you quickly understand more complicated scenarios, depending on your experience. But you will need more than these to make you an expert. To become an expert in your field, you must understand how things work under the hood. This is not only for computer science or engineering. For example, if you want to become an expert Formula 1 driver, you must understand aerodynamics or car mechanics. &lt;/p&gt;
&lt;h2&gt;
  
  
  Starting point: Vocabulary
&lt;/h2&gt;

&lt;p&gt;As in most fields, the starting point of computer networking is also knowing some base vocabulary. I know this is boring, but there are not hundreds of them; most of these are things you've already heard.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Internet:&lt;/strong&gt; a global computer network providing various information and communication facilities, consisting of interconnected networks using a standardized communication protocol, IP (Internet Protocol). We can imagine this as a massive network with billions of connected devices.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web:&lt;/strong&gt; the set of hyperlinks that connect the web pages between them. &lt;strong&gt;It's crucial to distinguish the Web and the Internet&lt;/strong&gt;. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web server:&lt;/strong&gt;  a computer accessible on the Internet and contains the Web's resources such as pages, images, etc.
Web browser: a software program lets you consult the Web's resources.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HTML:&lt;/strong&gt;  or HyperText Markup Language, is a markup language that enables you to represent a web page. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Protocol:&lt;/strong&gt; a system of rules that explain the correct conduct and procedures to be followed in formal situations. It can be either between two machines or multiple machines.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Speed:&lt;/strong&gt; the number of bits per second that your Network can transfer (upload or download)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latency:&lt;/strong&gt; the number of seconds for the first transferred bit to arrive at its destination from the source.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  What's next?
&lt;/h2&gt;

&lt;p&gt;I hope you enjoyed this tutorial. If you like this article please like and share. In the following article, we'll walk through two widely used representation model of computer networking. &lt;/p&gt;
&lt;h2&gt;
  
  
  More about &lt;a href="https://Makepad.io" rel="noopener noreferrer"&gt;Makepad&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;We're a tech consulting company based in France and share computer science related content on our socials.&lt;br&gt;
If you want to see more this kind of content follow us on our   socials: &lt;a href="https://linkedin.com/company/Makepad" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;, &lt;a href="https://twitter.com/MakepadDev" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; and &lt;a href="https://instagram.com/Makepad.dev" rel="noopener noreferrer"&gt;Instagram&lt;/a&gt;.&lt;/p&gt;


&lt;div class="ltag__user ltag__user__id__3422"&gt;
  &lt;a href="/makepad" class="ltag__user__link profile-image-link"&gt;
    &lt;div class="ltag__user__pic"&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%2Forganization%2Fprofile_image%2F3422%2F931dcb72-c454-42d7-b2e1-cb0ed776249e.png" alt="makepad image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;div class="ltag__user__content"&gt;
    &lt;h2&gt;
      &lt;a href="/makepad" class="ltag__user__link"&gt;Makepad&lt;/a&gt;
      Follow
    &lt;/h2&gt;
    &lt;div class="ltag__user__summary"&gt;
      &lt;a href="/makepad" class="ltag__user__link"&gt;
        Makepad is a French tech consulting company that provides on-site and off-site services for open-source and proprietary projects. 
      &lt;/a&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Follow us on GitHub to stay tuned with our open-source projects:&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://github.com/Makepad-fr" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F32249609%3Fs%3D280%26v%3D4" height="146" class="m-0" width="146"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://github.com/Makepad-fr" rel="noopener noreferrer" class="c-link"&gt;
          Makepad · GitHub
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          Makepad is a French tech consulting company that provides consulting services on open-source and closed source development. - Makepad
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.githubassets.com%2Ffavicons%2Ffavicon.svg" width="32" height="32"&gt;
        github.com
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;To join to a community of tech enthusiasts where we talk about tech and other tech-related stuff 👇&lt;/p&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://discord.com/invite/NhvYEmyXN2" rel="noopener noreferrer" class="c-link"&gt;
          WorkHouse
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          Check out the WorkHouse community on Discord - hang out with 13 other members and enjoy free voice and text chat.
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdiscord.com%2Fassets%2Ffavicon.ico" width="800" height="400"&gt;
        discord.com
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>extensions</category>
      <category>react</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
