<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on Costin Stefan</title>
    <link>https://costinstefan.ro/posts/</link>
    <description>Recent content in Posts on Costin Stefan</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sun, 15 Feb 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://costinstefan.ro/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>I joined 512kb.club</title>
      <link>https://costinstefan.ro/posts/2026-02-15-512kb/</link>
      <pubDate>Sun, 15 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2026-02-15-512kb/</guid>
      <description>&lt;p&gt;My website is now part of &lt;a href=&#34;https://512kb.club&#34;&gt;512kb.club&lt;/a&gt; - a curated list of sites whose total size is under 512KB.&#xA;That’s it. Half a megabyte. Even less, actually, because my blog was reported at 410K.&lt;/p&gt;&#xA;&lt;p&gt;In 2026, when even basic websites are rebuilt as React applications, that almost feels rebellious.&lt;/p&gt;</description>
    </item>
    <item>
      <title>BGP core memory</title>
      <link>https://costinstefan.ro/posts/2025-11-18-bgp/</link>
      <pubDate>Tue, 18 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2025-11-18-bgp/</guid>
      <description>&lt;p&gt;So recently I had to play with BGP after a very long time. I have a router that connects to external via an eBGP session. It gets default route from there and it advertises the originating prefixes. All worked great until I wanted to advertise a new /24 subnet.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to improve Wordpress performance</title>
      <link>https://costinstefan.ro/posts/2025-06-21-wordpress-performance-improvement/</link>
      <pubDate>Sat, 21 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2025-06-21-wordpress-performance-improvement/</guid>
      <description>&lt;p&gt;In this one I will show you how I improved the performance of a WordPress site using CloudFlare Caching and PHP FPM pool settings.&lt;/p&gt;&#xA;&lt;p&gt;But a bit of context. I have 2 WP websites running on the same VPS behind nginx, with 2 different conf file. Pretty standard deployment so far. On this VPS I have root access, so I&amp;rsquo;m able to play a bit more with other stuff, not just standard cPanel settings.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to empty a file in Microsoft Windows without deleting it</title>
      <link>https://costinstefan.ro/posts/2025-05-14-how-to-empty-a-file-in-windows/</link>
      <pubDate>Wed, 14 May 2025 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2025-05-14-how-to-empty-a-file-in-windows/</guid>
      <description>&lt;hr&gt;&#xA;&lt;p&gt;As part of my freelancing business, I recently had to fix a space issue on a Windows machine. And the issue was caused by a very large text file.&lt;/p&gt;&#xA;&lt;img src=&#34;https://costinstefan.ro/images/devops-freelancer-44gb.jpg&#34; alt=&#34;wow that’s a large text file&#34;&gt;&lt;p&gt;I know the Linux way of emptying a file, which is to redirect STDIN to the file.&lt;/p&gt;</description>
    </item>
    <item>
      <title>RedHat Openshift, container IDs and cgroups</title>
      <link>https://costinstefan.ro/posts/2025-05-08-openshift-containers-and-cgroups/</link>
      <pubDate>Thu, 08 May 2025 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2025-05-08-openshift-containers-and-cgroups/</guid>
      <description>&lt;hr&gt;&#xA;&lt;p&gt;So I had a really interesting issue recently where one of our app devs was complaining that he can&amp;rsquo;t get the container ID from within the container in a new environment.&lt;/p&gt;&#xA;&lt;p&gt;For context, there&amp;rsquo;s a setup with 3 identical environments on the customer side and a local lab that was recently replaced. I&amp;rsquo;ve deployed a new Openshift cluster (version 4.14. will become important later) to replace another lab environment in a different location.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Microsoft announced Think Deeper, free access to GPT o1 model</title>
      <link>https://costinstefan.ro/posts/2025-01-31-gpt4-o1-comparison-copilot/</link>
      <pubDate>Fri, 31 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2025-01-31-gpt4-o1-comparison-copilot/</guid>
      <description>&lt;p&gt;So recently Microsoft &lt;a href=&#34;https://www.theverge.com/news/603149/microsoft-openai-o1-model-copilot-think-deeper-free&#34;&gt;announced&lt;/a&gt; they&amp;rsquo;re offering ChatGPT o1 model free to their Copilot program. So I&amp;rsquo;ve decided to give it a go and see how it goes.&lt;/p&gt;&#xA;&lt;p&gt;First I&amp;rsquo;ve connected to &lt;a href=&#34;https://copilot.microsoft.com&#34;&gt;https://copilot.microsoft.com&lt;/a&gt; with both a personal account and a work account.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve tested the announcement of this by asking it directly:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to analyze and fix a pod scheduling issue due to Insufficient Memory on Kubernetes or Openshift.</title>
      <link>https://costinstefan.ro/posts/2025-01-09-how-to-analyze-insufficient-memory-k8s/</link>
      <pubDate>Thu, 09 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2025-01-09-how-to-analyze-insufficient-memory-k8s/</guid>
      <description>&lt;p&gt;So it may happen that you have a Kubernetes or Openshift deployment and a pod does not want to start and remains in Pending state.&lt;/p&gt;&#xA;&lt;p&gt;First, let&amp;rsquo;s check the events that are causing this:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[root@server ~]# k get events -n &amp;lt;namespace&amp;gt;&#xA;LAST SEEN   TYPE      REASON             OBJECT            MESSAGE&#xA;31m         Warning   FailedScheduling   &amp;lt;namespace&amp;gt;/&amp;lt;pod_name&amp;gt;   0/13 nodes are available: 10 Insufficient memory, 3 node(s) had taint {node-role.kubernetes.io/master: }, that the pod didn&amp;#39;t tolerate, 4 Insufficient cpu.&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;As we can see, the reason is FailedScheduling and the message complains about insufficient memory and insufficient cpu.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to get audio notification from CLI when server or service is reachable</title>
      <link>https://costinstefan.ro/posts/2024-12-31-how-to-get-audio-notification-from-cli/</link>
      <pubDate>Tue, 31 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2024-12-31-how-to-get-audio-notification-from-cli/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re working on fixing an issue on a server and want to be notified as soon as this is reachable, you can run an audio alert. Below I have a list of variations of the &lt;a href=&#34;https://en.wikipedia.org/wiki/Bell_character#Usage&#34;&gt; Bell Character&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Windows / PowerShell:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt; while ($true) {if (Test-Connection -quiet 1.1.1.1) { [console]::beep() }}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;Windows / cmd:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;for /L %n in () do @ping -n 1 1.1.1.1 &amp;amp;&amp;amp; echo ^G&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;WSL2 / Bash:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;while true; do sudo ping -q 1.1.1.1 -w1 &amp;gt;/dev/null &amp;amp;&amp;amp; tput bel; sleep 5; done&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;em&gt;on WSL ping needs eleventation so sudo is mandatory.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to configure Roundcubemail for iCloud custom domain email address</title>
      <link>https://costinstefan.ro/posts/2024-10-25-how-to-set-icloud-on-roundcube/</link>
      <pubDate>Fri, 25 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2024-10-25-how-to-set-icloud-on-roundcube/</guid>
      <description>&lt;p&gt;So I&amp;rsquo;ve tried to configure a self-hosted Roundcube container and set up an iCloud account with a custom domain address.&lt;/p&gt;&#xA;&lt;p&gt;Something like what &lt;a href=&#34;https://www.reddit.com/r/iCloud/comments/ucb38c/icloud_custom_domain_email_how_to_use_custom/&#34;&gt;this guy&lt;/a&gt; wanted to do a couple of years ago. Unfortunately, there was no tutorial available on the internet, so here I am creating one for you :)&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to automate testing webapps</title>
      <link>https://costinstefan.ro/posts/2024-06-04-how-to-automate-testing-webapps/</link>
      <pubDate>Tue, 04 Jun 2024 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2024-06-04-how-to-automate-testing-webapps/</guid>
      <description>&lt;p&gt;For today&amp;rsquo;s post I will walk you through the process of setting up a web-app testing environment automatically using ansible.&lt;/p&gt;&#xA;&lt;p&gt;I will split this into 2 parts.&#xA;First part will focus on creating the automation needed to deploy the containers on proxmox.&#xA;Second part is about creating the tester tool solution.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to get display monitor serial number from PowerShell</title>
      <link>https://costinstefan.ro/posts/2024-04-24-how-to-get-display-monitor-serial-number-cli/</link>
      <pubDate>Wed, 24 Apr 2024 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2024-04-24-how-to-get-display-monitor-serial-number-cli/</guid>
      <description>&lt;p&gt;This is a quick one, I had to get the SN of my external screens recently and I thought I should share the powershell command I used for this task. This works only on your local machine, for AD nodes there are &lt;a href=&#34;https://community.spiceworks.com/t/cmd-command-get-monitor-serial-number-help-me/333757&#34;&gt;other options out there on the internet&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>PostgreSQL performance test script</title>
      <link>https://costinstefan.ro/posts/2024-04-24-db-performance-script/</link>
      <pubDate>Wed, 24 Apr 2024 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2024-04-24-db-performance-script/</guid>
      <description>&lt;p&gt;In case you want to run a quick performance test (in simple terms of access to DB) on a PostgreSQL server, this can be done quickly through a python module called psycopg2.&lt;/p&gt;&#xA;&lt;p&gt;This is the python script I&amp;rsquo;ve used:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 1&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;ch&#34;&gt;#!/usr/bin/python3&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 2&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;psycopg2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 3&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;psycopg2&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Error&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 4&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;time&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 5&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 6&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;create_connection&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;():&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 7&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&amp;#34; create a database connection to a PostgreSQL database &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 8&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;try&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt; 9&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;conn&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;psycopg2&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;connect&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;database&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;postgres&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;11&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;user&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;postgres&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;12&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;password&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;postgres&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;13&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;host&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;1.2.3.4&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;14&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;port&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;5432&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;15&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;16&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Successfully Connected to PostgreSQL&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;17&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;conn&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;18&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;except&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Error&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;as&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;e&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;19&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;e&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;20&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;21&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;check_table_exists&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;conn&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;22&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&amp;#34; check if a table exists in the PostgreSQL database &amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;23&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;cur&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cursor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;24&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;cur&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;execute&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;SELECT 1;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;25&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;26&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;main&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;():&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;27&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#    table_name = &amp;#39;pg_auth_members&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;28&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;29&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# create a database connection&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;30&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;conn&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;create_connection&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;31&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;32&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# check if table exists&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;33&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;with&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;conn&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;34&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;start_time&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;35&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;checks&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;36&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;while&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;37&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;check_table_exists&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;conn&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;38&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;checks&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;39&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;elapsed_time&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;time&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;start_time&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;40&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;elapsed_time&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;41&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;n&#34;&gt;tps&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;checks&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;elapsed_time&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;42&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Current TPS: &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tps&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;43&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;sa&#34;&gt;f&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;Current checks: &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;checks&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;44&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;45&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;vm&#34;&gt;__name__&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;__main__&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;ln&#34;&gt;46&lt;/span&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;main&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In here you should update the database, user, password, host and port to something relevant to your environment.&#xA;Everything else can stay the same.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to fix &#34;Could not connect to one or more vCenter Server&#34;</title>
      <link>https://costinstefan.ro/posts/2023-09-28-how-to-fix-vcenter/</link>
      <pubDate>Thu, 28 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2023-09-28-how-to-fix-vcenter/</guid>
      <description>&lt;p&gt;Recently I had to fix a vCenter Server that was stopped working. The webpage displayed the following error, and the automated backup jobs stopped working.&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;Could not connect to one or more vCenter Server systems: https://$VCENTER_FQDN:443/sdk&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;The version is rather old and end of life (6.7), so VMware support was out of the question. Which means I had to do it all by myself. Great&amp;hellip;&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to move artefacts in a Jfrog repository</title>
      <link>https://costinstefan.ro/posts/2023-09-28-jfrog-move-artefacts/</link>
      <pubDate>Thu, 28 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2023-09-28-jfrog-move-artefacts/</guid>
      <description>&lt;p&gt;This one will be a quick one. Recently I had to move several hundred artefacts from a Jfrog repo folder up one level. Easy peasy, right? But the problem was that manual work from GUI would take forever and my work time is limited so I had to find a different way.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to automate your blog posts</title>
      <link>https://costinstefan.ro/posts/2023-02-17-how-to-automate-your-blog-posts/</link>
      <pubDate>Fri, 17 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2023-02-17-how-to-automate-your-blog-posts/</guid>
      <description>&lt;p&gt;Since I&amp;rsquo;ve transformed this website in a Blogging as a Service (BaaS) thing with the help of Github Actions and Github Pages my life was much easier.&lt;/p&gt;&#xA;&lt;p&gt;Let me help you do the same.&lt;/p&gt;&#xA;&lt;p&gt;First thing you&amp;rsquo;ll need is a domain. For this domain you will need a NS, and for this you can use CloudFlare for free. They offer a great service, btw.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to restore a Kubernetes cluster after IP change</title>
      <link>https://costinstefan.ro/posts/2023-01-18-how-to-restore-kubernetes-cluster-after-ip-change/</link>
      <pubDate>Wed, 18 Jan 2023 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2023-01-18-how-to-restore-kubernetes-cluster-after-ip-change/</guid>
      <description>&lt;p&gt;Recently I had to fix a kubernetes cluster which had its IP addresses changed. The team that changed the IP address on the machines also replaced the hostname in &lt;code&gt;/etc/hosts&lt;/code&gt;.&#xA;However, this is not enough. In order to restore the cluster, you also have to change the IP address in kubernetes cluster manifest files.&lt;/p&gt;</description>
    </item>
    <item>
      <title>New year, new changes</title>
      <link>https://costinstefan.ro/posts/2023-01-14-new-year-new-changes/</link>
      <pubDate>Sat, 14 Jan 2023 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2023-01-14-new-year-new-changes/</guid>
      <description>&lt;p&gt;After a period on which I focused more on work, I&amp;rsquo;ve decided I need to change a bit the blog. 9 months ago I&amp;rsquo;ve migrated my blog from DigitalOcean to Github Pages. DigitalOcean was great for me when I started my first droplet, but I wanted to experiment with other technologies. So I&amp;rsquo;ve migrated my blog to Github Pages and my email to Apple Mail.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to change NTP server on HP 3PAR 7200c</title>
      <link>https://costinstefan.ro/posts/2020-09-19-how-to-update-ntp-servers-on-hp-3par-7200c/</link>
      <pubDate>Sat, 19 Sep 2020 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2020-09-19-how-to-update-ntp-servers-on-hp-3par-7200c/</guid>
      <description>&lt;p&gt;Recently I had to add more NTP servers to a HP 3PAR 7200c storage. Here&amp;rsquo;s how I did it:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;3PAR_hostname cli% setnet ntp -add 10.90.221.13&#xA;NTP server successfully updated.&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Show current NTP server(s):&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;3PAR_hostname cli% shownet&#xA;IP Address  Netmask/PrefixLen Nodes Active Speed Duplex AutoNeg Status&#xA;10.23.155.8   255.255.255.192    01      1  1000 Full   Yes     Active&#xA;&#xA;Default route :                                     10.23.155.1&#xA;NTP server    :   {} 10.102.102.132 10.102.102.133 10.90.221.13&#xA;DNS server    :                                            None&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Remove one NTP server:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to bypass Chrome error &#34;Your connection is not private&#34;</title>
      <link>https://costinstefan.ro/posts/2020-06-30-how-to-bypass-chrome-error/</link>
      <pubDate>Tue, 30 Jun 2020 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2020-06-30-how-to-bypass-chrome-error/</guid>
      <description>&lt;p&gt;If you&amp;rsquo;re an IT professional that has to deal with old systems that have self-signed certificates you most probably had to add exceptions to your browser many times. Maybe even import those self-signed certificates locally.&lt;/p&gt;&#xA;&lt;p&gt;Unfortunately when you&amp;rsquo;re working on a customer&amp;rsquo;s jump host this is not an option. And starting with more recent version of Chrome this is not possible anymore, you don&amp;rsquo;t have the option to Add it as an exception.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to quickly enable a low-resource webserver</title>
      <link>https://costinstefan.ro/posts/2020-04-29-how-to-quickly-enable-a-low-resourced-webserver/</link>
      <pubDate>Wed, 29 Apr 2020 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2020-04-29-how-to-quickly-enable-a-low-resourced-webserver/</guid>
      <description>&lt;p&gt;Have you ever wanted to just start a Webserver in a second, for a quick and dirty task but didn&amp;rsquo;t want to install a full LAMP/LEMP stack?&#xA;This is possible with the help of a python module and here it is in action:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to create a SSL profile when you don&#39;t know the key passphrase</title>
      <link>https://costinstefan.ro/posts/2020-02-24-how-to-create-ssl-profile-with-no-passphrase-on-f5/</link>
      <pubDate>Mon, 24 Feb 2020 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2020-02-24-how-to-create-ssl-profile-with-no-passphrase-on-f5/</guid>
      <description>&lt;p&gt;On F5 BigIP LTM you can create a SSL profile even if you don&amp;rsquo;t know the private key passphrase&lt;/p&gt;&#xA;&lt;p&gt;This workaround can be applied only if you&amp;rsquo;ve used the private key on the same F5 BigIP node already. In my case, I had to reuse the same cert+key from a server-ssl profile on a client-ssl profile.&#xA;And because business was in a hurry and they didn&amp;rsquo;t have the private key anymore, I had to find alternative ways of making it work.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to fix do-agent exited with a return code 100</title>
      <link>https://costinstefan.ro/posts/2020-02-16-how-to-fix-do-agent-exited/</link>
      <pubDate>Sun, 16 Feb 2020 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2020-02-16-how-to-fix-do-agent-exited/</guid>
      <description>&lt;p&gt;So recently I&amp;rsquo;ve encountered the error in the subject. This came after 2 major changes (OS upgrade and PHP upgrade). So definitely it had to do with one of them. My money were on the first one.&#xA;I&amp;rsquo;ve looked around on the internet and the only thing I could see was this old article that had no solution: &lt;a href=&#34;https://www.digitalocean.com/community/questions/do-agent-exited-with-a-return-code-100&#34;&gt;https://www.digitalocean.com/community/questions/do-agent-exited-with-a-return-code-100&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to CTRL&#43;ALT&#43;DEL in RDP</title>
      <link>https://costinstefan.ro/posts/2018-05-22-how-to-ctr-alt-del-in-rdp/</link>
      <pubDate>Tue, 22 May 2018 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2018-05-22-how-to-ctr-alt-del-in-rdp/</guid>
      <description>&lt;p&gt;&lt;code&gt;ctrl+alt+end&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to fix Microsoft Lync/Outlook has stopped working</title>
      <link>https://costinstefan.ro/posts/2018-05-15-how-to-fix-outlook-has-stopped-working/</link>
      <pubDate>Tue, 15 May 2018 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2018-05-15-how-to-fix-outlook-has-stopped-working/</guid>
      <description>&lt;img src=&#34;https://costinstefan.ro/images/outlook-error.jpeg&#34; alt=&#34;lync-error&#34; title=&#34;Lync Error&#34;&gt;&lt;p&gt;Recently I had this issue that ate a big part of my day. Here&amp;rsquo;s how I fixed it.&lt;/p&gt;&#xA;&lt;h4 id=&#34;firstly-some-background-info&#34;&gt;Firstly, some background info&lt;/h4&gt;&#xA;&lt;p&gt;I&amp;rsquo;m using a Win 10 (Version 10.0.14393) OS with Office 2013 [15.0.4569.1503]. The previous day I&amp;rsquo;ve been prompted to restart my laptop to complete the new updates. I&amp;rsquo;ve left in a hurry and just closed the lid. The laptop didn&amp;rsquo;t close and I had to use the power button to stop it. I knew I was in trouble at this point, but had to attend a meeting and didn&amp;rsquo;t have time to wait for the updates.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Networking training materials</title>
      <link>https://costinstefan.ro/posts/2017-12-11-networking-training-materials/</link>
      <pubDate>Mon, 11 Dec 2017 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2017-12-11-networking-training-materials/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve stumbled upon this great list of materials you can use to get started on IT, and Networking in particular. I have to admit that some are new for me, even after being in this field for over 12 years.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Udemy offline</title>
      <link>https://costinstefan.ro/posts/2017-12-05-udemy-offline/</link>
      <pubDate>Tue, 05 Dec 2017 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2017-12-05-udemy-offline/</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s another cool and helpful thing I just discovered that might help you stranger of the internet.&lt;/p&gt;&#xA;&lt;p&gt;Recently I joined a class on Udemy.com, and because I have other tasks at the moment and can&amp;rsquo;t dedicate 100% to it, I wanted to download the videos so I started looking for ways how to do it.&#xA;The &lt;a href=&#34;https://support.udemy.com/hc/en-us/articles/229231167-Can-I-Download-a-Course-to-my-Computer-&#34;&gt;official answer&lt;/a&gt; is that they don&amp;rsquo;t have anything against it, but it depends on the instructors. In my case the option to download the video was not present, plus that I wanted to automate the process and not download the videos one by one.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quagga</title>
      <link>https://costinstefan.ro/posts/2017-12-01-quagga/</link>
      <pubDate>Fri, 01 Dec 2017 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2017-12-01-quagga/</guid>
      <description>&lt;p&gt;After having some interviews where I&amp;rsquo;ve been asked about routing on linux solutions, I&amp;rsquo;ve decided to playaround with Quagga.&#xA;As always, you can find all the info already on the internet. And in my case Brian Kletter had all the necessary info to setup the environment.&#xA;Here&amp;rsquo;s the &lt;a href=&#34;https://www.brianlinkletter.com/build-custom-linux-router-image-unetlab-eve-ng-network-emulators/&#34;&gt;link&lt;/a&gt; on how to setup a linux server with quagga software. And &lt;a href=&#34;https://www.brianlinkletter.com/how-to-build-a-network-of-linux-routers-using-quagga/&#34;&gt;here&lt;/a&gt; the initial setup for quagga.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to create text files on Cisco routers</title>
      <link>https://costinstefan.ro/posts/2017-08-07-cisco-text-files/</link>
      <pubDate>Mon, 07 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2017-08-07-cisco-text-files/</guid>
      <description>&lt;p&gt;In case you will need it, here&amp;rsquo;s a thing that helped me out once. In case you want to append some config lines that you have stored in a file and if you can&amp;rsquo;t copy it through SFTP, you can make it locally.&#xA;To do this you need to start tclsh and create the file &lt;code&gt;puts [open &amp;quot;flash:filename&amp;quot; w+] { &lt;/code&gt; now don&amp;rsquo;t press enter but just paste in your config lines and then &lt;code&gt;}&lt;/code&gt; and ENTER. &lt;code&gt;tclquit&lt;/code&gt; to exit tclsh.&#xA;Now you&amp;rsquo;ll have your config snippet in flash:filename and you can use it to append to your config. Would be a good idea to check it with &lt;code&gt;more flash:filename&lt;/code&gt; just to be sure that you have everything in place and no characters were left outside.&#xA;As always, more info on &lt;a href=&#34;https://www.cisco.com/c/en/us/support/docs/ip/telnet/116214-technote-technology-00.html&#34;&gt;Cisco&amp;rsquo;s webpage&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Password recovery procedure on Cisco Catalyst 3500-XL</title>
      <link>https://costinstefan.ro/posts/2017-08-07-password-recovery-3500xl/</link>
      <pubDate>Mon, 07 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2017-08-07-password-recovery-3500xl/</guid>
      <description>&lt;p&gt;Just got a used Catalyst 3500-XL switch and don&amp;rsquo;t have credentials? Did you forget your auth credentials or you just want to have fun?&lt;/p&gt;&#xA;&lt;h5 id=&#34;accessing-a-cisco-switch-when-you-dont-have-the-right-credentials-is-hard-but-not-impossible&#34;&gt;Accessing a Cisco switch when you don&amp;rsquo;t have the right credentials is hard but not impossible.&lt;/h5&gt;&#xA;&lt;p&gt;&lt;em&gt;If you have issues connecting the console cable, try to install the &lt;a href=&#34;https://software.cisco.com/portal/psn/download/login.html?login=true&amp;amp;referer=https://software.cisco.com/download/release.html?mdfid=282979369&amp;amp;softwareid=282855122&amp;amp;release=3.1&amp;amp;dwnld=true&amp;amp;dwldImageGuid=1BEFCB8F748762B8CC378ABA82D6E48B040A80BF&amp;amp;atcFlag=N&#34;&gt;drivers&lt;/a&gt; first.&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cisco guest shell</title>
      <link>https://costinstefan.ro/posts/2017-07-07-cisco-guest-shell/</link>
      <pubDate>Fri, 07 Jul 2017 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2017-07-07-cisco-guest-shell/</guid>
      <description>&lt;p&gt;So, it seems that finally Cisco decided to introduce a shell for their routers. I know this already exists for their FirePower plaform, but from my knowledge, they just made it available for routers.&lt;/p&gt;&#xA;&lt;h3 id=&#34;enabling-the-shell&#34;&gt;Enabling the shell&lt;/h3&gt;&#xA;&lt;p&gt;To enable the feature we simply have to enable &lt;code&gt;iox&lt;/code&gt; and then we can enter linux land with &lt;code&gt;guestshell&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Life tip</title>
      <link>https://costinstefan.ro/posts/2017-05-31-life-tip-1/</link>
      <pubDate>Wed, 31 May 2017 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2017-05-31-life-tip-1/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve recently stumbled upon a great course on &lt;a href=&#34;https://www.coursera.org/learn/learning-how-to-learn/&#34;&gt;coursera&lt;/a&gt; which can teach you how to learn in today&amp;rsquo;s world. With all the distractions that interrupts us everyday.&#xA;I wish I&amp;rsquo;d find it sooner.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to configure Cisco devices remotely</title>
      <link>https://costinstefan.ro/posts/2017-05-04-how-to-configure-cisco-devices-remotely/</link>
      <pubDate>Thu, 04 May 2017 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2017-05-04-how-to-configure-cisco-devices-remotely/</guid>
      <description>&lt;p&gt;So, let&amp;rsquo;s assume you are a network engineer that has to configure something on a new Cisco switch/router. You don&amp;rsquo;t have console access and just connect to the box via ssh. You either have a typo in your commands or don&amp;rsquo;t copy the whole line of your pre-tested commands and after you press enter BANG, you&amp;rsquo;ve lost connection and start sweating. You know the feeling, right? Me neither&amp;hellip;&lt;/p&gt;</description>
    </item>
    <item>
      <title>New website - powered by Jekyll</title>
      <link>https://costinstefan.ro/posts/2017-04-06-new-website-powered-by-jekyll/</link>
      <pubDate>Thu, 06 Apr 2017 00:00:00 +0000</pubDate>
      <guid>https://costinstefan.ro/posts/2017-04-06-new-website-powered-by-jekyll/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve recently moved my website from &lt;a href=&#34;http://anchorcms.com&#34;&gt;AnchorCMS&lt;/a&gt; to &lt;a href=&#34;http://jekyllrb.com&#34;&gt;Jekyll&lt;/a&gt;. I didn&amp;rsquo;t think it was necessary to have a WordPress solution only for a personal blog that has less than 10 visits/month so I went for a static website that is not tied to mysql and php. With this change I&amp;rsquo;ve also switched from Apache2 to Nginx. I hope that with this change my tiny VPS is not going to need much resources in the future.&#xA;I still have to tweak the CSS settings, so expect more changes soon enough.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
