<?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: Abhishek</title>
    <description>The latest articles on DEV Community by Abhishek (@abhishekbhakat).</description>
    <link>https://dev.to/abhishekbhakat</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%2F455190%2F385182fe-da00-4400-aed2-a07300963469.png</url>
      <title>DEV Community: Abhishek</title>
      <link>https://dev.to/abhishekbhakat</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/abhishekbhakat"/>
    <language>en</language>
    <item>
      <title>Run Airflow on Windows without Virtualization</title>
      <dc:creator>Abhishek</dc:creator>
      <pubDate>Wed, 12 Feb 2025 12:31:07 +0000</pubDate>
      <link>https://dev.to/abhishekbhakat/run-airflow-on-windows-without-virtualization-5431</link>
      <guid>https://dev.to/abhishekbhakat/run-airflow-on-windows-without-virtualization-5431</guid>
      <description>&lt;h1&gt;
  
  
  Setting up Podman on Windows with MSYS2
&lt;/h1&gt;

&lt;p&gt;This guide walks through the process of setting up Podman on Windows using MSYS2, including the installation of required tools and configuration steps.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prerequisites
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Install MSYS2
&lt;/h3&gt;

&lt;p&gt;Download and install MSYS2 from the official website:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.msys2.org/wiki/MSYS2-installation" rel="noopener noreferrer"&gt;MSYS2 Installation Guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Update MSYS2
&lt;/h3&gt;

&lt;p&gt;Update the package database and base packages:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pacman &lt;span class="nt"&gt;-Syuu&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run this command multiple times until no updates are available.&lt;/p&gt;

&lt;h2&gt;
  
  
  Required Tools Installation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  3. Install SSH
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pacman &lt;span class="nt"&gt;-S&lt;/span&gt; openssh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Install Podman and Compose
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pacman &lt;span class="nt"&gt;-S&lt;/span&gt; mingw-w64-x86_64-podman
pacman &lt;span class="nt"&gt;-S&lt;/span&gt; mingw-w64-x86_64-podman-compose
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5. Install Astro CLI
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Download the Windows x64 binary from &lt;a href="https://github.com/astronomer/astro-cli/releases" rel="noopener noreferrer"&gt;Astro CLI Releases&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Place the binary in &lt;code&gt;C:\msys64\usr\bin&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Podman Configuration
&lt;/h2&gt;

&lt;h3&gt;
  
  
  6. Initialize Podman Machine
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;podman machine init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  7. Configure Rootful Mode (Optional)
&lt;/h3&gt;

&lt;p&gt;If you need rootful mode:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;podman machine &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nt"&gt;--rootful&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  8. Start Podman Machine
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;podman machine start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  9. Install Docker Credential Helper
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Download the Windows AMD64 binary from &lt;a href="https://github.com/docker/docker-credential-helpers/releases" rel="noopener noreferrer"&gt;Docker Credential Helpers Releases&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example: &lt;code&gt;docker-credential-wincred-v0.8.2.windows-amd64.exe&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Rename and copy the binary to &lt;code&gt;C:\msys64\usr\bin\docker-credential-wincred.exe&lt;/code&gt; and &lt;code&gt;C:\msys64\usr\bin\docker-credential-desktop.exe&lt;/code&gt;
(&lt;em&gt;this is purely because astro-cli is reverting back to dockerdesktop credential helper for starting local deployment&lt;/em&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  10. Configure Container Authentication
&lt;/h3&gt;

&lt;p&gt;Create the authentication configuration file:&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;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; ~/.config/containers
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;'{"credHelpers": {"docker.io": "wincred"}}'&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; ~/.config/containers/auth.json
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;REGISTRY_AUTH_FILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;~/.config/containers/auth.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Do Not Configure Docker Host
&lt;/h3&gt;

&lt;p&gt;⚠️ &lt;strong&gt;WARNING: DO NOT SET THIS ENVIRONMENT VARIABLE&lt;/strong&gt; ⚠️&lt;/p&gt;

&lt;p&gt;The following environment variable setting can cause conflicts with Podman's functionality:&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="c"&gt;# DO NOT USE - Left here for reference only&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;DOCKER_HOST&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;npipe:////./pipe/docker_engine
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Podman has its own socket configuration and doesn't require Docker's pipe configuration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ready to Use
&lt;/h2&gt;

&lt;p&gt;You can now use Astro CLI commands:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;astro dev init&lt;/code&gt; - Initialize a new project&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;astro dev start&lt;/code&gt; - Start development environment&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;astro dev parse&lt;/code&gt; - Parse configurations&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;astro dev kill&lt;/code&gt; - Stop development environment&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>podman</category>
      <category>windows</category>
      <category>airflow</category>
    </item>
    <item>
      <title>My Home Lab setup 💻</title>
      <dc:creator>Abhishek</dc:creator>
      <pubDate>Sun, 03 Sep 2023 18:53:23 +0000</pubDate>
      <link>https://dev.to/abhishekbhakat/my-home-lab-setup-6gh</link>
      <guid>https://dev.to/abhishekbhakat/my-home-lab-setup-6gh</guid>
      <description>&lt;p&gt;Here is my homelab setup that my brother and I created after so many horrific experiences.&lt;/p&gt;

&lt;p&gt;The list consists of mostly software requirements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Virtualization&lt;/strong&gt;: Hyper-V &lt;em&gt;(Because with &lt;a href="https://github.com/jamesstringerparsec/Easy-GPU-PV"&gt;Easy-GPU-PV&lt;/a&gt; I can split my GPU as much as possible.&lt;/em&gt;)&lt;/p&gt;

&lt;p&gt;For &lt;strong&gt;VMs&lt;/strong&gt; I use:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://atlasos.net/"&gt;AtlasOS&lt;/a&gt;(&lt;em&gt;It's a very trimmed down version of windows with almost 0 security&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linuxliteos.com/"&gt;Linux Lite&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Anti-Virus&lt;/strong&gt;: &lt;a href="https://www.kaspersky.co.in/internet-security"&gt;Kaspersky&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Printer&lt;/strong&gt;: &lt;a href="https://www.papercut.com/"&gt;PaperCut&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Remote Desktop&lt;/strong&gt;: &lt;a href="https://parsec.app/"&gt;Parsec&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Media Server&lt;/strong&gt;: &lt;a href="https://emby.media/"&gt;EMBY&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Media collection&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;TV Shows: &lt;a href="https://sonarr.tv/"&gt;Sonarr&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Movies: &lt;a href="https://radarr.video/"&gt;Radarr&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Seedbox: &lt;a href="https://www.seedr.cc"&gt;Seedr&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Torrent Client: Combination of deluge (&lt;em&gt;for python automations&lt;/em&gt;) and qbit.&lt;/li&gt;
&lt;li&gt;Indexer: &lt;a href="https://github.com/Jackett/Jackett"&gt;&lt;del&gt;Jackett&lt;/del&gt;&lt;/a&gt; switched to &lt;a href="https://prowlarr.com/"&gt;Prowlarr&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also do run an Airflow with few DAGs that take care of notifications to my telegram about Emby conversions and torrent downloads.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tunneling&lt;/strong&gt;: &lt;a href="https://www.twingate.com/"&gt;Twingate&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Software Load Balancer&lt;/strong&gt;: &lt;a href="https://nginxproxymanager.com/"&gt;NPM&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Static IP VPN&lt;/strong&gt;: &lt;a href="https://www.purevpn.com"&gt;PureVPN&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Proxy Server&lt;/strong&gt;: &lt;a href="https://www.youngzsoft.net/ccproxy/"&gt;&lt;del&gt;CCProxy&lt;/del&gt;&lt;/a&gt; switched to &lt;a href="https://www.squid-cache.org/"&gt;Squid&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For Local text sharing&lt;/strong&gt;: &lt;a href="https://www.ssavr.com/"&gt;Ssavr.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Daily Driver&lt;/strong&gt;: Windows 11 Pro, MacOS Sonoma, &lt;del&gt;Pop!OS&lt;/del&gt;  elementaryOS&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Internet Load Balancer&lt;/strong&gt;: &lt;a href="https://www.tp-link.com/us/business-networking/omada-sdn-router/er605/"&gt;Tplink ER605&lt;/a&gt;&lt;br&gt;
re-flashed with OpenWRT. [&lt;a href="https://github.com/chill1Penguin/er605v2_openwrt_install"&gt;credits&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Domain Service&lt;/strong&gt;: Google Domains&lt;/p&gt;

&lt;p&gt;========================================================&lt;/p&gt;

&lt;p&gt;Problems I faced:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I started with Proxmox, but migrations and handling storage were becoming a bit of a hassle. GPU passthrough was good but needed another Windows with Hyper-V to split even further. When I discovered AtlasOS, it had issues with Hyper-V. I started sponsoring to boost the development. Now there are no issues with the hypervisor, and I'm happily able to run as many GPU splits.&lt;/li&gt;
&lt;li&gt;I tried the many solutions for tunneling from this repo &lt;a href="https://github.com/anderspitman/awesome-tunneling"&gt;awesome-tunneling&lt;/a&gt;. But none of if it was enough and finally settled on Tailscale (&lt;em&gt;uses WireGuard&lt;/em&gt;) before Twingate. Twingate was a game changer, is miles better than any solution available.&lt;/li&gt;
&lt;li&gt;For Media server, I tried Plex, even took the Plex pass. But the support is not good. Sometimes subtitles won't render even if we tried to burn. Also, my biggest complaint was the exposing to internet. I don't have static IP because I use 2x1Gbps connection load balanced. So, it becomes difficult to manage. Plex doesn't work well under NAT networks. Then I tried Jellyfin which works like a breeze with routing through my static IP VPN. But Jellyfin is just not practical to pay for. Has so many playback related issues. So landed on Emby and it works nicely enough. Also took the premium.&lt;/li&gt;
&lt;li&gt;I do have a local torrent client which I can route through VPN, but it takes a heavy toll to performance. Have been using seedr for years now. Love the speed. The premium version for API support is a bit costly, so need a little extra work to download from Sonarr/Radarr to seedr. Still looking to improve this. Adding Airflow DAGs were a huge success.&lt;/li&gt;
&lt;li&gt;NgnixProxyManager works like a charm with Let's encrypt and GoogleDNS.&lt;/li&gt;
&lt;li&gt;TPlink's firmware is trash and was unable to handle the multi WAN setup. It was only able to fallback with a significant downtime. Flashing ER605 took a few minutes, but is a massive performance boost.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>homelab</category>
    </item>
    <item>
      <title>WSL change LocalState path</title>
      <dc:creator>Abhishek</dc:creator>
      <pubDate>Fri, 24 Mar 2023 06:05:21 +0000</pubDate>
      <link>https://dev.to/abhishekbhakat/wsl-change-localstate-path-370p</link>
      <guid>https://dev.to/abhishekbhakat/wsl-change-localstate-path-370p</guid>
      <description>&lt;ol&gt;
&lt;li&gt;List the ditros you have
&lt;code&gt;wsl -l -v&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Change the directory to a folder with space to export the distro and then use command:
&lt;code&gt;wsl --export &amp;lt;Distro-name&amp;gt; &amp;lt;filename.tar&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Unregister the old distro
&lt;code&gt;wsl --unregister &amp;lt;Distro-name&amp;gt;&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Import again with a different install path. The import command syntax is :
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    --import &amp;lt;Distro&amp;gt; &amp;lt;InstallLocation&amp;gt; &amp;lt;FileName&amp;gt; [Options]
        Imports the specified tar file as a new distribution.
        The filename can be - for standard input.

        Options:
            --version &amp;lt;Version&amp;gt;
                Specifies the version to use for the new distribution.

            --vhd
                Specifies that the provided file is a .vhdx file, not a tar file.
                This operation makes a copy of the .vhdx file at the specified install location.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Comand to import:&lt;br&gt;
&lt;code&gt;wsl --import &amp;lt;Distro-name&amp;gt; &amp;lt;InstallLocation&amp;gt; &amp;lt;filename.tar&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Additional&lt;br&gt;
Sample &lt;code&gt;.wslconfig&lt;/code&gt; to be placed in User home&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Settings apply across all Linux distros running on WSL 2
[wsl2]
# Limits VM memory to use no more than 4 GB, this can be set as whole numbers using GB or MB
# memory=4GB
# Sets the VM to use two virtual processors
# processors=2
# Specify a custom Linux kernel to use with your installed distros. The default kernel used can be found at https://github.com/microsoft/WSL2-Linux-Kernel
# kernel=C:\\temp\\myCustomKernel
# Sets additional kernel parameters, in this case enabling older Linux base images such as Centos 6
# kernelCommandLine = vsyscall=emulate
# Sets amount of swap storage space to 8GB, default is 25% of available RAM
swap=8GB
# Sets swapfile path location, default is %USERPROFILE%\AppData\Local\Temp\swap.vhdx
swapfile=D:\\WSL\\wsl-swap.vhdx
# Disable page reporting so WSL retains all allocated memory claimed from Windows and releases none back when free
# pageReporting=false
# Turn off default connection to bind WSL 2 localhost to Windows localhost
# localhostforwarding=true
# Disables nested virtualization
# nestedVirtualization=false
# Turns on output console showing contents of dmesg when opening a WSL 2 distro for debugging
debugConsole=false
kernelCommandLine = "sysctl.vm.swappiness=100"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>wsl</category>
      <category>windows</category>
    </item>
    <item>
      <title>Is python slow ?</title>
      <dc:creator>Abhishek</dc:creator>
      <pubDate>Thu, 16 Jun 2022 05:10:04 +0000</pubDate>
      <link>https://dev.to/abhishekbhakat/you-think-python-is-slow--46k9</link>
      <guid>https://dev.to/abhishekbhakat/you-think-python-is-slow--46k9</guid>
      <description>&lt;p&gt;Here are a few superchargers 🚀 for your python.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.pypy.org/index.html"&gt;PYPY&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;Plane simple easy to use but 🏎️&lt;em&gt;fast&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://numba.pydata.org/"&gt;Numba&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;Boost performance with JIT. Or better yet, have an NVIDIA GPU ? 😏💵&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.trypyjion.com/"&gt;Pyjion&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;Easy to use, small compiler. Increase performance of our 🐌 CPython.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's race now 😎&lt;/p&gt;

</description>
      <category>python</category>
      <category>compiler</category>
      <category>programming</category>
    </item>
    <item>
      <title>Mac OS Python build from source with optimizations and debugging</title>
      <dc:creator>Abhishek</dc:creator>
      <pubDate>Fri, 08 Apr 2022 16:56:15 +0000</pubDate>
      <link>https://dev.to/abhishekbhakat/mac-os-python-build-from-source-with-optimizations-and-debugging-44bl</link>
      <guid>https://dev.to/abhishekbhakat/mac-os-python-build-from-source-with-optimizations-and-debugging-44bl</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew install openssl xz gdbm zlib
export LDFLAGS="-L/opt/homebrew/opt/openssl@3/lib -L/opt/homebrew/lib -L/opt/homebrew/opt/sqlite3/lib -L/opt/homebrew/opt/zlib/lib"
export CPPFLAGS="-I/opt/homebrew/opt/openssl@3/include -I/opt/homebrew/include -I/opt/homebrew/opt/sqlite3/include -I/opt/homebrew/opt/zlib/include"
export PKG_CONFIG_PATH="/opt/homebrew/lib/pkgconfig:/opt/homebrew/opt/openssl@3/lib/pkgconfig:/opt/homebrew/opt/sqlite3/lib/pkgconfig"

#configure python source
./configure --enable-optimizations --with-pydebug --with-openssl=$(brew --prefix openssl)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>python</category>
      <category>osx</category>
      <category>programming</category>
    </item>
    <item>
      <title>Manage homebrew on M1 mac with rosetta 2</title>
      <dc:creator>Abhishek</dc:creator>
      <pubDate>Fri, 19 Nov 2021 16:23:09 +0000</pubDate>
      <link>https://dev.to/abhishekbhakat/manage-homebrew-on-m1-mac-with-rosetta-2-56be</link>
      <guid>https://dev.to/abhishekbhakat/manage-homebrew-on-m1-mac-with-rosetta-2-56be</guid>
      <description>&lt;p&gt;If you don't have rosetta installed:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;softwareupdate --install-rosetta
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install homebrew x86_64 :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Highly suggested to modify &lt;code&gt;.zshrc&lt;/code&gt; to include :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;alias ibrew='arch -x86_64 /usr/local/bin/brew'
alias mbrew='arch -arm64e /opt/homebrew/bin/brew'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Going forward if needed to install x86_64 based module, use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ibrew install pypy3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>Mac OS Big Sur CPPFLAGS and LDFLAGS</title>
      <dc:creator>Abhishek</dc:creator>
      <pubDate>Tue, 07 Sep 2021 08:48:58 +0000</pubDate>
      <link>https://dev.to/abhishekbhakat/mac-os-big-sur-cppflags-and-ldflags-h2p</link>
      <guid>https://dev.to/abhishekbhakat/mac-os-big-sur-cppflags-and-ldflags-h2p</guid>
      <description>&lt;p&gt;While building python packages, dependency development libraries are required. We can install the libraries from homebrew were not found by pip for some reason.&lt;br&gt;
Export the path used by homebrew for "include" and "lib".&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export CPPFLAGS=-I/opt/homebrew/include
export LDFLAGS=-L/opt/homebrew/lib
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>opensource</category>
      <category>python</category>
      <category>cpp</category>
      <category>osx</category>
    </item>
    <item>
      <title>Macbook Flapdown (Lid) settings</title>
      <dc:creator>Abhishek</dc:creator>
      <pubDate>Sun, 27 Jun 2021 13:45:35 +0000</pubDate>
      <link>https://dev.to/abhishekbhakat/macbook-flapdown-settings-change-31lj</link>
      <guid>https://dev.to/abhishekbhakat/macbook-flapdown-settings-change-31lj</guid>
      <description>&lt;p&gt;You can use the command line utility pmset to change the behavior of the lid closed/open state.&lt;/p&gt;

&lt;p&gt;To disable wake/sleep on lid state:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo pmset -a lidwake 0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To undo the last setting&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo pmset -a lidwake 1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;By default, closing the lid will put the Mac to sleep. Setting the lidwake 0 value will disable it meaning closing the lid will do nothing.&lt;/p&gt;

</description>
      <category>osx</category>
    </item>
    <item>
      <title>Expose docker api on Ubuntu</title>
      <dc:creator>Abhishek</dc:creator>
      <pubDate>Sun, 23 May 2021 17:48:24 +0000</pubDate>
      <link>https://dev.to/abhishekbhakat/expose-docker-api-on-ubuntu-4ia4</link>
      <guid>https://dev.to/abhishekbhakat/expose-docker-api-on-ubuntu-4ia4</guid>
      <description>&lt;p&gt;Change file /etc/default/docker&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="c"&gt;# Use DOCKER_OPTS to modify the daemon startup options.&lt;/span&gt;
&lt;span class="nv"&gt;DOCKER_OPTS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"--dns 8.8.8.8 --dns 8.8.4.4 -H tcp://127.0.0.1:2375 -H unix:///var/run/docker.sock"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Change file /lib/systemd/system/docker.service&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="nv"&gt;EnvironmentFile&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/etc/default/docker
&lt;span class="nv"&gt;ExecStart&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;/usr/bin/dockerd &lt;span class="nt"&gt;-H&lt;/span&gt; fd:// &lt;span class="nv"&gt;$DOCKER_OPTS&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run&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;sudo &lt;/span&gt;systemctl daemon-reload
&lt;span class="nb"&gt;sudo &lt;/span&gt;service docker restart
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run following to see open ports&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;lsof &lt;span class="nt"&gt;-i&lt;/span&gt; &lt;span class="nt"&gt;-P&lt;/span&gt; &lt;span class="nt"&gt;-n&lt;/span&gt; | &lt;span class="nb"&gt;grep &lt;/span&gt;LISTEN
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the port 2375 doesn't show up do a system reboot.&lt;/p&gt;

</description>
      <category>ubuntu</category>
      <category>docker</category>
      <category>api</category>
    </item>
    <item>
      <title>Citrix reciever for ubuntu add ssl certs</title>
      <dc:creator>Abhishek</dc:creator>
      <pubDate>Tue, 16 Feb 2021 13:38:35 +0000</pubDate>
      <link>https://dev.to/abhishekbhakat/citrix-reciever-for-ubuntu-add-ssl-certs-39e7</link>
      <guid>https://dev.to/abhishekbhakat/citrix-reciever-for-ubuntu-add-ssl-certs-39e7</guid>
      <description>&lt;p&gt;Just few commands:&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;sudo ln&lt;/span&gt; &lt;span class="nt"&gt;-s&lt;/span&gt; /usr/share/ca-certificates/mozilla/&lt;span class="k"&gt;*&lt;/span&gt; /opt/Citrix/ICAClient/keystore/cacerts/
&lt;span class="nb"&gt;sudo &lt;/span&gt;c_rehash /opt/Citrix/ICAClient/keystore/cacerts/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>Docker Desktop on Windows expose daemon to LAN</title>
      <dc:creator>Abhishek</dc:creator>
      <pubDate>Wed, 10 Feb 2021 18:49:37 +0000</pubDate>
      <link>https://dev.to/abhishekbhakat/docker-desktop-expose-daemon-to-lan-p17</link>
      <guid>https://dev.to/abhishekbhakat/docker-desktop-expose-daemon-to-lan-p17</guid>
      <description>&lt;h1&gt;
  
  
  Steps :
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Enable "Expose daemon on tcp://localhost:2375 without TLS" in settings.&lt;/li&gt;
&lt;li&gt;From admin Command Prompt
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;netsh interface portproxy add v4tov4 listenport=2375 listenaddress=192.168.0.2 connectaddress=127.0.0.1 connectport=2375
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;NOTE&lt;/em&gt; : replace listenaddress to your LAN ip&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;On Remote machine Set DOCKER_HOST to tcp://192.168.0.2:2375&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>docker</category>
      <category>windows10</category>
    </item>
  </channel>
</rss>
