<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>&gt;ShellGems_</title>
    <link>https://www.evilurge.com/</link>
    <description>Recent content on &gt;ShellGems_</description>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>Gilad Maoz</copyright>
    <lastBuildDate>Fri, 30 Jan 2026 10:00:00 +0200</lastBuildDate>
    <atom:link href="https://www.evilurge.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Achieving Domain Knowledge in the Era of Vibe Coding</title>
      <link>https://www.evilurge.com/posts/achieving-domain-knowledge-vibe-coding/</link>
      <pubDate>Fri, 30 Jan 2026 10:00:00 +0200</pubDate>
      <guid>https://www.evilurge.com/posts/achieving-domain-knowledge-vibe-coding/</guid>
      <description>&lt;p&gt;Hey everyone! 👋&lt;/p&gt;&#xA;&lt;p&gt;We&amp;rsquo;re all &amp;ldquo;vibe coding&amp;rdquo; these days, right? You prompt, the AI generates, you iterate. It&amp;rsquo;s fast, it&amp;rsquo;s fun, and it gets you into that flow state where you feel like a wizard. 🧙‍♂️&lt;/p&gt;&#xA;&lt;p&gt;But there&amp;rsquo;s a catch.&lt;/p&gt;&#xA;&lt;p&gt;While your AI copilot knows everything about React patterns and Python algorithms, it knows &lt;strong&gt;zero&lt;/strong&gt; about your specific business. It doesn&amp;rsquo;t know that your brand&amp;rsquo;s primary color is &amp;ldquo;Warm Orange&amp;rdquo; (#FF8A33), not just &amp;ldquo;orange&amp;rdquo;. It doesn&amp;rsquo;t know you decided &lt;em&gt;against&lt;/em&gt; using Redux three months ago in favor of React Context. It doesn&amp;rsquo;t know your target persona is &amp;ldquo;Sarah the Solopreneur&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building a Smart WhatsApp Personal Assistant with Cloudflare AI</title>
      <link>https://www.evilurge.com/posts/whatsapp-llm-pa/</link>
      <pubDate>Fri, 25 Jul 2025 23:25:00 +0200</pubDate>
      <guid>https://www.evilurge.com/posts/whatsapp-llm-pa/</guid>
      <description>&lt;p&gt;Hey there! 👋&lt;/p&gt;&#xA;&lt;p&gt;So I had this crazy idea: what if I could build an AI assistant for WhatsApp that doesn&amp;rsquo;t just spam responses, but actually behaves like a smart secretary? You know, someone who understands context, knows when to speak up, and maintains professional boundaries.&lt;/p&gt;&#xA;&lt;p&gt;Turns out, it&amp;rsquo;s totally doable with Cloudflare Workers AI. Here&amp;rsquo;s how I did it.&lt;/p&gt;&#xA;&lt;h2 id=&#34;-the-problem-i-wanted-to-solve&#34;&gt;🎯 The Problem I Wanted to Solve&lt;/h2&gt;&#xA;&lt;p&gt;Most chatbots are&amp;hellip; well, annoying. They respond to everything immediately, have zero context awareness, and feel completely robotic. I wanted something different:&lt;/p&gt;</description>
    </item>
    <item>
      <title>HansCard: A Modern Approach to Language Learning</title>
      <link>https://www.evilurge.com/posts/hanscard/</link>
      <pubDate>Thu, 21 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://www.evilurge.com/posts/hanscard/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.evilurge.com/img/hanscard.png&#34; alt=&#34;HansCard Banner&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://card.evilurge.com&#34;&gt;HansCard&lt;/a&gt; is an innovative language learning application that combines spaced repetition with real-world sentences to help users learn languages naturally and effectively. The app focuses on vocabulary acquisition through context, using authentic sentences from native speakers via the &lt;a href=&#34;https://tatoeba.org/&#34;&gt;Tatoeba&lt;/a&gt; project.&lt;/p&gt;&#xA;&lt;h2 id=&#34;current-functionality&#34;&gt;Current Functionality&lt;/h2&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://www.evilurge.com/images/hanscard-dashboard.png&#34;&gt;&lt;figcaption&gt;&#xA;      &lt;h4&gt;HansCard Dashboard&lt;/h4&gt;&#xA;    &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Vocabulary Management&lt;/strong&gt;: Users can add words they want to learn in their target language&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Authentic Sentences&lt;/strong&gt;: Integration with &lt;a href=&#34;https://tatoeba.org/en/downloads&#34;&gt;Tatoeba API&lt;/a&gt; to fetch real-world example sentences&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Spaced Repetition&lt;/strong&gt;: Smart review system that adapts to user&amp;rsquo;s learning pace&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Multi-language Support&lt;/strong&gt;: Currently supporting English, Hebrew, and Dutch&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Dark/Light Mode&lt;/strong&gt;: Comfortable reading experience in any lighting condition&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Responsive Design&lt;/strong&gt;: Works seamlessly on desktop and mobile devices&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;upcoming-features&#34;&gt;Upcoming Features&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Social Learning&lt;/strong&gt;: Friend system for collaborative learning and motivation&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Progress Analytics&lt;/strong&gt;: Detailed insights into learning patterns and progress&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Custom Sentence Creation&lt;/strong&gt;: Ability to create and share your own example sentences&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Audio Support&lt;/strong&gt;: Text-to-speech for proper pronunciation practice&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Gamification&lt;/strong&gt;: Achievement system and daily streaks to maintain motivation&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;technical-stack&#34;&gt;Technical Stack&lt;/h2&gt;&#xA;&lt;p&gt;Our tech stack is built on modern, reliable technologies:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Coding with a Copilot</title>
      <link>https://www.evilurge.com/posts/coding-with-a-copilot/</link>
      <pubDate>Mon, 26 Jul 2021 12:01:13 +0000</pubDate>
      <guid>https://www.evilurge.com/posts/coding-with-a-copilot/</guid>
      <description>&lt;p&gt;Boy.. where do I start? GPT-3 has brought with it plenty of interesting developments in the coding world, and GitHub Copilot is one of the most promising ones. After using it for a month, I can share my thoughts on this AI pair programmer.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-github-copilot&#34;&gt;What is GitHub Copilot?&lt;/h2&gt;&#xA;&lt;p&gt;GitHub Copilot is an AI-powered code completion tool that helps you write code faster and more efficiently. It&amp;rsquo;s like having a pair programmer who&amp;rsquo;s always ready to help, but instead of a human, it&amp;rsquo;s an AI trained on billions of lines of code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>My first true build</title>
      <link>https://www.evilurge.com/posts/my-first-itx-build/</link>
      <pubDate>Mon, 26 Jul 2021 12:01:13 +0000</pubDate>
      <guid>https://www.evilurge.com/posts/my-first-itx-build/</guid>
      <description>&lt;p&gt;COVID kept a lot of us indoor, luckily cloud gaming service got stronger with time Especially here in the Netherlands.&#xA;It actually helped me survive the first lockdown; and kind of drugged me back to my childhood.&lt;/p&gt;&#xA;&lt;p&gt;Got myself a cheap single board computer and used it to stream GeForce now and Stadia and ease.&lt;/p&gt;&#xA;&lt;p&gt;Which got me thinking; what if I&amp;rsquo;ll build my own gaming PC just like when I was a kid?&#xA;The real motivation was because I really wanted to play Fallout New Vegas and mod it, so it would like a bit newer and modern graphics and gameplay wise.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Howto use Firebase RemoteConfig in your project as a vault</title>
      <link>https://www.evilurge.com/posts/use-firebase-remoteconfig-as-your-static-project-vault/</link>
      <pubDate>Thu, 31 Dec 2020 09:57:37 +0000</pubDate>
      <guid>https://www.evilurge.com/posts/use-firebase-remoteconfig-as-your-static-project-vault/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.evilurge.com/img/remoteconf.png&#34; alt=&#34;RemoteConf&#34;&gt;&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Disclaimer: Firebase remote config main purpose is to push new configuration for mobile apps!&#xA;As it gains popularity, and because it&amp;#39;s a free-to-use managed service that requires no real efforts to setup, I had the chance to experiment with it and utilize it within a project I worked on in the build level of a CI.&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;em&gt;It&amp;rsquo;s been a while&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Recently I solved a small repetitive challenge we&amp;rsquo;re all facing with new projects - allowing the change of configurations on the fly without having to change anything in the codebase.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Create a Hugo base blog and auto-deploy to Firebase host</title>
      <link>https://www.evilurge.com/posts/generate-hugo-and-auto-deploy-to-firebase/</link>
      <pubDate>Sat, 23 Nov 2019 12:45:19 +0000</pubDate>
      <guid>https://www.evilurge.com/posts/generate-hugo-and-auto-deploy-to-firebase/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.evilurge.com/img/circleci.png&#34; alt=&#34;CircleCI Deployment&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;When I started this blog, just like everyone else, I&amp;rsquo;ve chosen Wordpress; default in the blogging world (so it seems at least).&#xA;Wordpress is well established CMS, BUT IT&amp;rsquo;S AN OVERKILL.&lt;/p&gt;&#xA;&lt;p&gt;I had a dedicated VM running alpine with the PHP runtime and Nginx.&#xA;Waste of money and resources for a simple blog.&lt;/p&gt;&#xA;&lt;p&gt;Back then, when I researched for what CMS shall I used; I stumble upon &lt;a href=&#34;https://jekyllrb.com/&#34;&gt;jekyl&lt;/a&gt; - not a proper CMS but it looked good enough to generate me a nice site right?&lt;/p&gt;</description>
    </item>
    <item>
      <title>.dev tld</title>
      <link>https://www.evilurge.com/posts/dev-tld/</link>
      <pubDate>Mon, 25 Feb 2019 13:15:48 +0000</pubDate>
      <guid>https://www.evilurge.com/posts/dev-tld/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.evilurge.com/img/devtld.png&#34; alt=&#34;.dev TLD&#34;&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;From the 28 of February you can have your own .dev domain.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;I&amp;rsquo;ll keep it short. Google started with the &lt;a href=&#34;https://support.google.com/domains/answer/9232417?hl=en#invalid&#34;&gt;early access program&lt;/a&gt; for the .dev tld.&lt;/p&gt;&#xA;&lt;p&gt;&lt;b&gt;From the 28 of February(3 days) you could buy you own.dev domain for ~12$!&lt;/b&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;some-useful-links&#34;&gt;Some useful links&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tld-list.com/tld/dev&#34;&gt;tld-list&lt;/a&gt; - Compare prices of different registrars.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://porkbun.com/&#34;&gt;porkbun&lt;/a&gt; or &lt;a href=&#34;http://namecheap.com/&#34;&gt;namecheap&lt;/a&gt; - dev friendly registrar.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Oh and I almost forgot to write about this new blog; Hugo based static page blog that being served in Firebase 🎔&#xA;instead of a heavy Wordpress with a dedicated vm.&#xA;and continuously generate pages and deploy to firebase via CircleCI&#xA;I&amp;rsquo;ll share everything in the next post (pure 🛸).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Puppeteer &#43; Firebase = Test headless in the cloud</title>
      <link>https://www.evilurge.com/posts/puppeteer-test-in-the-cloud/</link>
      <pubDate>Tue, 11 Dec 2018 00:00:00 +0000</pubDate>
      <guid>https://www.evilurge.com/posts/puppeteer-test-in-the-cloud/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.evilurge.com/img/firepuppet.png&#34; alt=&#34;Firebase Puppeteer&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;A couple of months ago, I had the opportunity to experiment a bit with Google&amp;rsquo;s latest competitor for Cypress, Puppeteer.&lt;/p&gt;&#xA;&lt;p&gt;Just like Cypress, Puppeteer is a node module that includes a headless version of Chrome and a wrapper-controller (similar to Selenium&amp;rsquo;s webdriver).&lt;/p&gt;&#xA;&lt;p&gt;One of the key differences between the two is the fact that Puppeteer is purely opensource with no additional dashboards or nice fancy UI&amp;rsquo;s that costs the user extra. Therefore I&amp;rsquo;ve decided to experiment with it within one of my favourite edge services. Yes you guessed it =&amp;gt; as a Firebase function&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Deploy Firebase Functions App With Any CI</title>
      <link>https://www.evilurge.com/posts/how-to-deploy-firebase-functions-app-with-any-ci/</link>
      <pubDate>Sun, 19 Aug 2018 00:00:00 +0000</pubDate>
      <guid>https://www.evilurge.com/posts/how-to-deploy-firebase-functions-app-with-any-ci/</guid>
      <description>&lt;h1 id=&#34;update-1-081018--forgot-about-all-i-just-said-here-is-an-amazing-simple-way&#34;&gt;&lt;img src=&#34;https://www.evilurge.com/img/JenkinsFirebase.png&#34; alt=&#34;RemoteConf&#34;&gt;&#xA;Update #1 08.10.18 – Forgot about all I just said; here is an amazing simple way&lt;/h1&gt;&#xA;&lt;p&gt;When you’re working with Google product, you need to get used to Google paste.&lt;/p&gt;&#xA;&lt;p&gt;Recently google published a blog article explaining a little better of how to use their firebase deploy commend for CI purposes&lt;/p&gt;&#xA;&lt;p&gt;I took the liberty to create a deployment script based on that post: &lt;a href=&#34;https://github.com/evilUrge/ci-firebase-deploy-scipt&#34;&gt;ci-firebase-deploy-script&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;and included a dockerfile based on alpine slim image.&lt;/p&gt;</description>
    </item>
    <item>
      <title>➕.bashrc</title>
      <link>https://www.evilurge.com/bash/</link>
      <pubDate>Fri, 03 Aug 2018 00:00:00 +0000</pubDate>
      <guid>https://www.evilurge.com/bash/</guid>
      <description>&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;alias&lt;/th&gt;&#xA;          &lt;th&gt;description&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias c=&amp;quot;clear&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Clear terminal&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias h=&amp;quot;history&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Show command history&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias j=&amp;quot;jobs -l&amp;quot;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List jobs&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;`alias ports=&amp;ldquo;lsof -i -P -n&lt;/td&gt;&#xA;          &lt;td&gt;grep LISTEN&amp;rdquo;`&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias path=&#39;echo -e ${PATH//:/\\n}&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Show PATH in readable format&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias now=&#39;date +&amp;quot;%T&amp;quot;&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Show current time&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias nowdate=&#39;date +&amp;quot;%d-%m-%Y&amp;quot;&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Show current date&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias meminfo=&#39;free -m -l -t&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Show memory info&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias cpuinfo=&#39;lscpu&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Show CPU info&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias mkdir=&#39;mkdir -pv&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Create parent directories if needed&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias wget=&#39;wget -c&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Resume download if possible&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias top=&#39;htop&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Use htop instead of top&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias myip=&#39;curl ifconfig.co&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Show public IP&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias localip=&#39;ipconfig getifaddr en0&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Show local IP&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias weather=&#39;curl wttr.in&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Show weather&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias moon=&#39;curl wttr.in/Moon&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Show moon phase&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias starwars=&#39;telnet towel.blinkenlights.nl&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Watch Star Wars in terminal&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;`alias matrix=&amp;lsquo;echo -e &amp;ldquo;\e[1;40m&amp;rdquo; ; clear ; while :; do echo $LINES $COLUMNS $(( $RANDOM % $COLUMNS)) $(( $RANDOM % 72 )) ;sleep 0.05; done&lt;/td&gt;&#xA;          &lt;td&gt;awk &#39;{ letters=&amp;ldquo;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#$%^&amp;amp;*()&amp;rdquo;; c=$4; letter=substr(letters,c,1);a[$3]=0;for (x in a) {o=a[x];a[x]=a[x]+1; printf &amp;ldquo;\033[%s;%sH\033[2;32m%s&amp;rdquo;,o,x,letter; printf &amp;ldquo;\033[%s;%sH%s\033[0;0H&amp;rdquo;,a[x],x,letter;if (a[x] &amp;gt;= $1) { a[x]=0; } } }&#39;&amp;rsquo;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias docker-clean=&#39;docker system prune -af&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Clean up Docker system&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias docker-stop=&#39;docker stop $(docker ps -aq)&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Stop all Docker containers&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias docker-rm=&#39;docker rm $(docker ps -aq)&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Remove all Docker containers&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias docker-rmi=&#39;docker rmi $(docker images -q)&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Remove all Docker images&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias docker-compose=&#39;docker compose&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Use new Docker Compose syntax&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias git-status=&#39;git status -sb&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Show git status&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias git-log=&#39;git log --oneline --graph --decorate&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Show git log&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias git-branch=&#39;git branch -a&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;List all git branches&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias git-pull=&#39;git pull --rebase&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Pull with rebase&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias git-push=&#39;git push origin HEAD&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Push to current branch&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias git-commit=&#39;git commit -m&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Quick commit&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias git-stash=&#39;git stash save&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Quick stash&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias git-stash-pop=&#39;git stash pop&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Quick stash pop&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias git-clean=&#39;git clean -fd&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Clean untracked files&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias git-reset=&#39;git reset --hard HEAD&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Reset to last commit&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias npm-update=&#39;npm update -g&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Update global npm packages&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias npm-clean=&#39;rm -rf node_modules &amp;amp;&amp;amp; npm cache clean --force&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Clean npm&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias yarn-clean=&#39;rm -rf node_modules &amp;amp;&amp;amp; yarn cache clean&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Clean yarn&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias python=&#39;python3&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Use Python 3&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias pip=&#39;pip3&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Use pip3&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias venv=&#39;python -m venv&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Create virtual environment&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias activate=&#39;source venv/bin/activate&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Activate virtual environment&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias deactivate=&#39;deactivate&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Deactivate virtual environment&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias serve=&#39;python -m http.server&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Serve current directory&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;`alias ports=&amp;lsquo;lsof -i -P -n&lt;/td&gt;&#xA;          &lt;td&gt;grep LISTEN&amp;rsquo;`&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias mkdir=&#39;mkdir -pv&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Create parent directories if needed&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias wget=&#39;wget -c&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Resume download if possible&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias top=&#39;htop&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Use htop instead of top&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias myip=&#39;curl ifconfig.co&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Show public IP&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias localip=&#39;ipconfig getifaddr en0&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Show local IP&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias weather=&#39;curl wttr.in&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Show weather&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias moon=&#39;curl wttr.in/Moon&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Show moon phase&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;alias starwars=&#39;telnet towel.blinkenlights.nl&#39;&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Watch Star Wars in terminal&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;`alias matrix=&amp;lsquo;echo -e &amp;ldquo;\e[1;40m&amp;rdquo; ; clear ; while :; do echo $LINES $COLUMNS $(( $RANDOM % $COLUMNS)) $(( $RANDOM % 72 )) ;sleep 0.05; done&lt;/td&gt;&#xA;          &lt;td&gt;awk &#39;{ letters=&amp;ldquo;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#$%^&amp;amp;*()&amp;rdquo;; c=$4; letter=substr(letters,c,1);a[$3]=0;for (x in a) {o=a[x];a[x]=a[x]+1; printf &amp;ldquo;\033[%s;%sH\033[2;32m%s&amp;rdquo;,o,x,letter; printf &amp;ldquo;\033[%s;%sH%s\033[0;0H&amp;rdquo;,a[x],x,letter;if (a[x] &amp;gt;= $1) { a[x]=0; } } }&#39;&amp;rsquo;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>Cloudflare Workers for the Rescue</title>
      <link>https://www.evilurge.com/posts/cloudflare-workers-for-the-rescue/</link>
      <pubDate>Fri, 03 Aug 2018 00:00:00 +0000</pubDate>
      <guid>https://www.evilurge.com/posts/cloudflare-workers-for-the-rescue/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.evilurge.com/img/cloudflare.png&#34; alt=&#34;Cloudflare Workers&#34;&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;TLDR(אמ;לק) – Using Cloudflare Workers to solve a complex problem with minimal code.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;I recently had a problem that needed to be solved quickly and efficiently. The solution came in the form of Cloudflare Workers, a serverless platform that allows you to run JavaScript code at the edge of Cloudflare&amp;rsquo;s network.&lt;/p&gt;&#xA;&lt;p&gt;Here&amp;rsquo;s what I needed to do:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Create a simple API endpoint&lt;/li&gt;&#xA;&lt;li&gt;Handle requests and responses&lt;/li&gt;&#xA;&lt;li&gt;Process data in real-time&lt;/li&gt;&#xA;&lt;li&gt;Scale automatically&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Cloudflare Workers was the perfect solution because:&lt;/p&gt;</description>
    </item>
    <item>
      <title>ɕurls</title>
      <link>https://www.evilurge.com/curls/</link>
      <pubDate>Fri, 03 Aug 2018 00:00:00 +0000</pubDate>
      <guid>https://www.evilurge.com/curls/</guid>
      <description>&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;curl&lt;/th&gt;&#xA;          &lt;th&gt;why&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;curl -4 http://wttr.in/{city}&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Whats the weather&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;curl ifconfig.co&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;What is my ip&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;telnet towel.blinkenlights.nl&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;Star wars time!&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
    </item>
    <item>
      <title>Goodbye Freelance Life</title>
      <link>https://www.evilurge.com/posts/goodbye-freelance-life/</link>
      <pubDate>Fri, 03 Aug 2018 00:00:00 +0000</pubDate>
      <guid>https://www.evilurge.com/posts/goodbye-freelance-life/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.evilurge.com/img/goodbye.png&#34; alt=&#34;Goodbye Freelance&#34;&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;TLDR(אמ;לק) – After 5 years of freelancing, I&amp;rsquo;m moving to a full-time job.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been a freelance developer for the past 5 years. It&amp;rsquo;s been an amazing journey, filled with ups and downs, but ultimately very rewarding. I&amp;rsquo;ve worked with clients from all over the world, on projects ranging from small websites to large-scale applications.&lt;/p&gt;&#xA;&lt;p&gt;But now, I&amp;rsquo;m moving on to a full-time job. It&amp;rsquo;s a bittersweet moment, but I&amp;rsquo;m excited about the new chapter in my life.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Serverless Framework</title>
      <link>https://www.evilurge.com/posts/serverless-framework/</link>
      <pubDate>Fri, 03 Aug 2018 00:00:00 +0000</pubDate>
      <guid>https://www.evilurge.com/posts/serverless-framework/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.evilurge.com/img/serverless.png&#34; alt=&#34;Serverless Framework&#34;&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;TLDR(אמ;לק) – Great potential; deploy microservices and API&amp;rsquo;s to a great number of serverless services (lambda;google func etc), but far from perfect.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;Age of the serverless – stop configure and &amp;ldquo;autoscale&amp;rdquo; manually every little service.&lt;/p&gt;&#xA;&lt;p&gt;I like this mindset; as a devoted user of firebase with nodejsbased functions and an ex-Google app engine with Django rest.&lt;/p&gt;&#xA;&lt;p&gt;Using a platform SDK to deploy your own code could get addictive. There is something so satisfied deploying your own code to Firebase functions using &lt;a href=&#34;https://www.npmjs.com/package/firebase-tools&#34;&gt;firebase-cli&lt;/a&gt; or to Google functions with their &lt;a href=&#34;https://cloud.google.com/sdk/&#34;&gt;cloud SDK&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>SSH Key Provisioner</title>
      <link>https://www.evilurge.com/posts/ssh-key-provisioner/</link>
      <pubDate>Fri, 03 Aug 2018 00:00:00 +0000</pubDate>
      <guid>https://www.evilurge.com/posts/ssh-key-provisioner/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.evilurge.com/img/sshkey.png&#34; alt=&#34;SSH Key Provisioner&#34;&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;TLDR(אמ;לק) – A Python CLI tool to provision SSH keys to your servers&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been working on a new project lately, a Python CLI tool that helps you provision SSH keys to your servers. The idea came from a need to manage multiple SSH keys across different servers, and I wanted to make it easier to do so.&lt;/p&gt;&#xA;&lt;p&gt;The tool is called &lt;code&gt;ssh-key-provisioner&lt;/code&gt; and it&amp;rsquo;s available on GitHub. Here&amp;rsquo;s what it does:&lt;/p&gt;</description>
    </item>
    <item>
      <title>🧔 Who am I?</title>
      <link>https://www.evilurge.com/who-am-i/</link>
      <pubDate>Fri, 03 Aug 2018 00:00:00 +0000</pubDate>
      <guid>https://www.evilurge.com/who-am-i/</guid>
      <description>&lt;h1 id=&#34;gilad-maoz--גלעד-מעוז&#34;&gt;Gilad Maoz – גלעד מעוז&lt;/h1&gt;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://shell-gems.appspot.com.storage.googleapis.com/muziek/muziek.css&#34;&gt;&#xA;&lt;link rel=&#34;stylesheet&#34; href=&#34;https://use.fontawesome.com/releases/v5.0.13/css/all.css&#34; integrity=&#34;sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp&#34; crossorigin=&#34;anonymous&#34;&gt;&#xA;&lt;a href=&#34;https://www.last.fm/user/hyperman&#34;&gt;&lt;i class=&#34;fab fa-lastfm fa-2x&#34;&gt;&lt;/i&gt;&lt;/a&gt; &lt;a href=&#34;https://www.discogs.com/user/EvilUrge/collection&#34;&gt;&lt;i class=&#34;fas fa-compact-disc fa-2x&#34;&gt;&lt;/i&gt;&lt;/a&gt; &lt;a href=&#34;https://open.spotify.com/user/l7h03kr40j2rlfjr79d4wsal0&#34;&gt;&lt;i class=&#34;fab fa-spotify fa-2x&#34;&gt;&lt;/i&gt;&lt;/a&gt;&#xA;&lt;p&gt;True &lt;a href=&#34;https://www.last.fm/user/hyperman&#34;&gt;music nerd&lt;/a&gt; that &lt;a href=&#34;https://www.discogs.com/user/EvilUrge/collection&#34;&gt;hunt records&lt;/a&gt; and brag about it.&lt;/p&gt;&#xA;&lt;p&gt;Israeli born and raise, een Nederlander die maar niet kan stoppen met klagen.&#xA;Vegan who loves to cook and game.&lt;/p&gt;&#xA;&lt;p&gt;&lt;b&gt;First Linux distro:&lt;/b&gt; &lt;a href=&#34;https://en.wikipedia.org/wiki/Mandriva_Linux&#34;&gt;Mandrake&lt;/a&gt; 2001 with KDE(I know lame of me; but it was before the glory days of gnome).&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Inspiration:&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;hr&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Ayaan_Hirsi_Ali&#34;&gt;Ayaan Hirsi Ali&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Alan_Watts&#34;&gt;Allen Watts&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Sam_Harris&#34;&gt;Sam Harris&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Maajid_Nawaz&#34;&gt;Maajid Nawaz&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Bill_Maher&#34;&gt;Bill Maher&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Michael_Pollan&#34;&gt;Michael Pollan&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Paul_Stamets&#34;&gt;Paul Stamets&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/George_Carlin&#34;&gt;George Carlin&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Ricky_Gervais&#34;&gt;Ricky Gervais&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Neil_Young&#34;&gt;Neil Young&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Keith_Emerson&#34;&gt;Keith Emerson&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Lou_Reed&#34;&gt;Lou Reed&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Menashe_Kadishman&#34;&gt;Menashe Kadishman&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Firebase Functions and Python</title>
      <link>https://www.evilurge.com/posts/firebase-functions-and-python/</link>
      <pubDate>Sun, 04 Jun 2017 00:00:00 +0000</pubDate>
      <guid>https://www.evilurge.com/posts/firebase-functions-and-python/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.evilurge.com/img/pyFirebase.png&#34; alt=&#34;Python Firebase&#34;&gt;&lt;/p&gt;&#xA;&lt;h1 id=&#34;update-2-its-official--beta&#34;&gt;Update #2: It&amp;rsquo;s official – beta:&lt;/h1&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://firebasestorage.googleapis.com/v0/b/shell-gems.appspot.com/o/posts%2FScreenshot-from-2018-08-21-12-01-31.png?alt=media&#34; alt=&#34;screenshot&#34;&gt;&#xA;As part of Google Cloud Platform, you can now use Python 3.7 runtime for Django or Flask based webapps!&lt;/p&gt;&#xA;&lt;p&gt;Guess that it&amp;rsquo;s not yet implemented in Firebase, but as Firebase it&amp;rsquo;s just a nicer wrapper for an existing service, then it&amp;rsquo;s purely just a matter of time.&lt;/p&gt;&#xA;&lt;p&gt;Thanks Google 🙋&lt;/p&gt;&#xA;&lt;h1 id=&#34;update-1-ho-ly-shit-it-happened&#34;&gt;Update #1: Ho-ly shit; It happened.&lt;/h1&gt;&#xA;&lt;p&gt;A &amp;ldquo;compiler&amp;rdquo; for flask and Django based python apps.&#xA;&lt;a href=&#34;https://github.com/MartinSahlen/cloud-functions-python&#34;&gt;https://github.com/MartinSahlen/cloud-functions-python&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Getflix From a Deprecated Netflix Dns Service to an Amazing Personal VPN</title>
      <link>https://www.evilurge.com/posts/getflix-from-a-deprecated-netflix-dns-service-to-an-amazing-personal-vpn/</link>
      <pubDate>Mon, 17 Apr 2017 00:00:00 +0000</pubDate>
      <guid>https://www.evilurge.com/posts/getflix-from-a-deprecated-netflix-dns-service-to-an-amazing-personal-vpn/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.evilurge.com/img/getflix.jpg&#34; alt=&#34;Getflix VPN&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Almost a year ago, Netflix announced a worldwide support. As a movie junky that owned a US Netflix account, it was super exciting news! no more hiding behind DNS and VPN services to fake my IP.&lt;/p&gt;&#xA;&lt;p&gt;Well, soon enough the thrill ended when I realized that the content in my region is pretty much empty. Netflix rushed to release new regions without trying to first get licenses for new content.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Socks Proxy From Everywhere in the World</title>
      <link>https://www.evilurge.com/posts/socks-proxy-from-everywhere-in-the-world/</link>
      <pubDate>Sun, 16 Apr 2017 00:00:00 +0000</pubDate>
      <guid>https://www.evilurge.com/posts/socks-proxy-from-everywhere-in-the-world/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;https://www.evilurge.com/img/ff2.png&#34; alt=&#34;Firefox Proxy Settings&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ever wonder if you can use your raspberry pi/ec2/any kind of ssh instance as a proxy?&lt;/p&gt;&#xA;&lt;p&gt;I had the same kind of thought as part of my awesome times with my old raspberry, and I&amp;rsquo;ve found a simple method to make any ssh server into a sock proxy.&lt;/p&gt;&#xA;&lt;p&gt;We&amp;rsquo;ll start by running the following command:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ssh -D &lt;span style=&#34;color:#ae81ff&#34;&gt;3213&lt;/span&gt; -C -N user@host.com -p &lt;span style=&#34;color:#ae81ff&#34;&gt;22&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;em&gt;little argument explanation:&lt;/em&gt;&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;D – Port the sock proxy going to bind in the localhost&#xA;C – Compresses the data before sending it (pretty cool if you ask me)&#xA;N- Create a &#39;silent session&#39;, where nothing is being sent nor receive(great for this usage).&#xA;p – Port of the ssh host(default 22)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;As for now, we manage to open a sock connection tunnel to port 3123.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
