<?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: Peter Klapcsik</title>
    <description>The latest articles on DEV Community by Peter Klapcsik (@peterklapcsik).</description>
    <link>https://dev.to/peterklapcsik</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%2F1265596%2Fd36a8ab6-625a-4ca2-97c8-2501fdb2c0b9.png</url>
      <title>DEV Community: Peter Klapcsik</title>
      <link>https://dev.to/peterklapcsik</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/peterklapcsik"/>
    <language>en</language>
    <item>
      <title>Setting up a MikroTik SXT LTE6 kit</title>
      <dc:creator>Peter Klapcsik</dc:creator>
      <pubDate>Sun, 28 Sep 2025 17:57:33 +0000</pubDate>
      <link>https://dev.to/peterklapcsik/setting-up-a-mikrotik-sxt-lte6-kit-44kk</link>
      <guid>https://dev.to/peterklapcsik/setting-up-a-mikrotik-sxt-lte6-kit-44kk</guid>
      <description>&lt;h1&gt;
  
  
  Steps
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Install the SIM
&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%2Fj3heslzpicvcks0sy0j0.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%2Fj3heslzpicvcks0sy0j0.png" alt="SIM location" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  POE cable install
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Plug the ethernet cable to the gray POE cable where it says Data+ Power&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Plug the ethernet cable other end to the MikroTik SXT LTE6 eth1 POE in&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Wait till it boots and try to open 192.168.88.1
&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%2Fjy7nkx9qf08lfgumg6xm.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%2Fjy7nkx9qf08lfgumg6xm.png" alt="Initial page" width="800" height="468"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Set the admin password
&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%2Ft7xcq4pqeiix0nl68mk5.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%2Ft7xcq4pqeiix0nl68mk5.png" alt="Set the admin password" width="306" height="151"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Relogin using the new password
&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%2Fqcxlcbg7aw245875twju.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%2Fqcxlcbg7aw245875twju.png" alt="Login page" width="673" height="232"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Configure the pin for the sim
&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%2Fz36jijtrbr6j5dalf34o.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%2Fz36jijtrbr6j5dalf34o.png" alt="Configure pin code for the sim" width="195" height="69"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Enjoy, start using it&lt;br&gt;
Check if the signal graph appears&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fajggskvws309lk7i3rm5.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%2Fajggskvws309lk7i3rm5.png" alt="Signal strength" width="800" height="675"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a href="https://en.wikipedia.org/wiki/Signal-to-interference-plus-noise_ratio" rel="noopener noreferrer"&gt;SINR&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;SINR, or Signal-to-Interference-plus-Noise Ratio, is a key metric in wireless communication that measures the quality of a wireless signal by comparing its power to the combined power of all other interfering signals and background noise. A higher SINR indicates a stronger, clearer connection with less interference, which leads to better data rates and fewer dropped calls. &lt;/p&gt;

&lt;h3&gt;
  
  
  What it measures:
&lt;/h3&gt;

&lt;p&gt;Signal (S): The power of the desired signal you are trying to receive.&lt;br&gt;
Interference (I): The power of unwanted signals from other devices, cell towers, or other sources.&lt;br&gt;
Noise (N): The intrinsic background electronic noise present in any communication system.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why it's important:
&lt;/h3&gt;

&lt;p&gt;Channel Quality: SINR is a fundamental indicator of how good the wireless channel is for communication. &lt;br&gt;
Data Capacity: Higher SINR allows for more complex modulation schemes, which increases data capacity and throughput. &lt;br&gt;
Reliability: A better SINR results in more reliable connections and fewer dropped calls. &lt;br&gt;
Network Performance: It helps in optimizing network performance and maximizing the efficiency of wireless systems like cellular networks.&lt;/p&gt;

&lt;h3&gt;
  
  
  How it compares to SNR:
&lt;/h3&gt;

&lt;p&gt;Signal-to-Noise Ratio (SNR): is similar to SINR but only considers the signal power versus the background noise. &lt;br&gt;
In wireless environments, interference is a significant factor, making SINR a more comprehensive and practical metric than SNR for evaluating cellular networks. &lt;/p&gt;

&lt;h3&gt;
  
  
  In simple terms:
&lt;/h3&gt;

&lt;p&gt;Think of SINR as the loudness of your friend's voice in a crowded room compared to all the other chatter and ambient noise. A higher SINR means you can hear your friend much better because their voice is significantly louder than the combined background noise and other conversations. &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%2Fttywpn46zvfpf957ypu5.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%2Fttywpn46zvfpf957ypu5.png" alt="SINR table" width="800" height="150"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Reset button
&lt;/h2&gt;

&lt;p&gt;The reset button has three functions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Hold this button during boot time until the LED light starts flashing, release the button to reset RouterOS configuration (total 5 seconds);&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Keep holding for 5 more seconds, LED turns solid, release now to turn on CAP mode. The device will now look for a CAPsMAN server (total of 10 seconds);&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Or Keep holding the button for 5 more seconds until LED turns off, then release it to make the RouterBOARD look for Netinstall servers (total of 15 seconds);&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Regardless of the above option used, the system will load the backup RouterBOOT loader if the button is pressed before power is applied to the device. Useful for RouterBOOT debugging and recovery.&lt;/p&gt;

</description>
      <category>mikrotik</category>
      <category>networking</category>
    </item>
    <item>
      <title>Self-hosted GitHub Actions runners using AWS CodeBuild</title>
      <dc:creator>Peter Klapcsik</dc:creator>
      <pubDate>Sun, 28 Apr 2024 16:14:59 +0000</pubDate>
      <link>https://dev.to/peterklapcsik/self-hosted-github-actions-runners-using-codebuild-3c3a</link>
      <guid>https://dev.to/peterklapcsik/self-hosted-github-actions-runners-using-codebuild-3c3a</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;I have always wanted to have the most efficient setup for the self-hosted GitHub Actions runners.&lt;br&gt;
I think &lt;a href="https://aws.amazon.com/about-aws/whats-new/2024/04/aws-codebuild-managed-github-action-runners/"&gt;AWS recent announcement&lt;/a&gt; helps to approach this goal.&lt;/p&gt;

&lt;p&gt;So I was keen to test it myself.&lt;/p&gt;
&lt;h2&gt;
  
  
  Instructions
&lt;/h2&gt;

&lt;p&gt;Open the CodeBuild console and create a new project with the name &lt;code&gt;aws-codebuild-github-action-self-hosted-runner&lt;/code&gt;. This name will be also used in the GitHub actions workflow at the &lt;code&gt;runs-on&lt;/code&gt; parameter. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpbygo8gcduedy2w85s5x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpbygo8gcduedy2w85s5x.png" alt="Open the CodeBuild console and create a new project" width="800" height="102"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select GitHub from the available Sources and select the default connect option &lt;code&gt;Connect using OAuth&lt;/code&gt;.&lt;br&gt;
You can find more details on GitHub OAuth &lt;a href="https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/authorizing-oauth-apps"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4jtt9ta7v0hk5a39tfd1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4jtt9ta7v0hk5a39tfd1.png" alt="Select GitHub from the available Sources" width="800" height="410"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj0yaifsxladv2618knx0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fj0yaifsxladv2618knx0.png" alt="Select the default connect option  raw `Connect using OAuth` endraw " width="800" height="863"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Select the GitHub repository from the drop-down list.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxioua5zrzs764tpfv0ey.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxioua5zrzs764tpfv0ey.png" alt="Select the GitHub repository" width="800" height="651"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check the &lt;code&gt;Rebuild every time a code change is pushed to this repository&lt;/code&gt; checkbox at the Primary source webhook events section.&lt;/p&gt;

&lt;p&gt;Select &lt;code&gt;WORKFLOW_JOB_QUEUED&lt;/code&gt; from the Event types.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F40vg1jdzmem629m4g671.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F40vg1jdzmem629m4g671.png" alt="Select  raw `WORKFLOW_JOB_QUEUED` endraw  from the Event types" width="800" height="753"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Leave the default values in the Environment section.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd3owbfb1m40yqtxvrbhj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd3owbfb1m40yqtxvrbhj.png" alt="Leave the default values in the Environment section" width="800" height="1061"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Choose &lt;code&gt;Use a buildspec file&lt;/code&gt; in the Buildspec section.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftis945aw4tewe295537o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftis945aw4tewe295537o.png" alt="Choose  raw `Use a buildspec file` endraw  in the Buildspec section" width="800" height="303"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And at the last step click on &lt;code&gt;Create build project&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flnsnfuzkb8shnr0hhuiu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flnsnfuzkb8shnr0hhuiu.png" alt="Click on Create build project" width="800" height="1025"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After the project is created you can check if the required webhook exists in your repo. &lt;br&gt;
Please use the following URL after you replace the words written in capital letters with your repo's related values:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;https://github.com/USER-NAME/REPOSITORY-NAME/settings/hooks&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjyc3nolrv055mcp2zpnb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjyc3nolrv055mcp2zpnb.png" alt="Check if the required webhook exists in your repo" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The last step is to create a workflow in your repo and then you can start using CodeBuild as your self-hosted GitHub action runner as a just-in-time runner.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;name: Hello World

on: [push]

jobs:
  codebuild-job:
    runs-on: codebuild-aws-codebuild-github-action-self-hosted-runner-${{ github.run_id }}-${{ github.run_attempt }}
    steps:
      - run: |
          echo "Hello World!"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You just need to add this GitHub Actions workflow yaml file to the following place in your repo and name the file as you like it. In my case it's codebuild.yaml:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;.github/workflows/codebuild.yml&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;And when you commit and push this change the CodeBuild job just kicks off.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjub8c3x1bvx4qoha5i1u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjub8c3x1bvx4qoha5i1u.png" alt="CodeBuild job just kicks off" width="800" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>githubactions</category>
      <category>github</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
