<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Learn. Share. Improve</title>
    <link>https://learnings.desipenguin.com/</link>
    <description>Recent content on Learn. Share. Improve</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <copyright>Mandar Vaze</copyright>
    <lastBuildDate>Thu, 24 Nov 2022 09:35:27 +0530</lastBuildDate>
    
        <atom:link href="https://learnings.desipenguin.com/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Mindmaps in Emacs</title>
      <link>https://learnings.desipenguin.com/post/mindmaps-in-emacs/</link>
      <pubDate>Thu, 24 Nov 2022 09:35:27 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/mindmaps-in-emacs/</guid>
      
        <description>One of the thing I discovered this week is ability to create mindmaps  without leaving the comfort of Emacs 😄 This is made possible via PlantUML.</description>
      
    </item>
    
    <item>
      <title>Import data from Dockerized Postgres to Elasticsearch</title>
      <link>https://learnings.desipenguin.com/post/postgres-to-elastic/</link>
      <pubDate>Tue, 07 Jun 2022 06:29:31 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/postgres-to-elastic/</guid>
      
        <description>After setting up Elasticsearch &lt;a href=&#34;https://microblog.desipenguin.com/post/setup-elastic-search-docker/&#34;&gt;locally&lt;/a&gt; I needed to seed it with some dummy data. Since I use Dockerized Postgres, the steps did not work for me as-is.</description>
      
    </item>
    
    <item>
      <title>How to get VimR to use Lunarvim configuration</title>
      <link>https://learnings.desipenguin.com/post/vimr-lunarvim/</link>
      <pubDate>Sat, 26 Feb 2022 12:53:37 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/vimr-lunarvim/</guid>
      
        <description>Do you like VimR GUI ? Do you like sane default configuration of LunarVim ? Wanna use both these great tools together ?</description>
      
    </item>
    
    <item>
      <title>Firefox Reader mode in your Terminal</title>
      <link>https://learnings.desipenguin.com/post/readability/</link>
      <pubDate>Mon, 10 Jan 2022 06:41:01 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/readability/</guid>
      
        <description>Do you prefer reading long text in terminal without distracting ads ? Sometimes this helps bypass paywall too 😉</description>
      
    </item>
    
    <item>
      <title>How to blog entirely from within Emacs : Hugo and Markdown</title>
      <link>https://learnings.desipenguin.com/post/my-blogging-workflow/</link>
      <pubDate>Sun, 02 Jan 2022 13:45:14 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/my-blogging-workflow/</guid>
      
        <description>&lt;p&gt;Last couple of weeks, specifically since I started my &lt;a href=&#34;https://microblog.desipenguin.com&#34;&gt;microblog&lt;/a&gt; I am able to do all the operations from within emacs.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>How to use Emacs as an IDE with Integrated Terminal</title>
      <link>https://learnings.desipenguin.com/post/emacs-vterm/</link>
      <pubDate>Thu, 02 Dec 2021 05:48:17 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/emacs-vterm/</guid>
      
        <description>I spend my time in either Emacs and Terminal. I tried to use &lt;code&gt;shell-mode&lt;/code&gt; in emacs and got all sorts of wonky characters. Till I found &lt;code&gt;vterm&lt;/code&gt;.</description>
      
    </item>
    
    <item>
      <title>Doom Emacs: How to Delete a Branch using `magit`</title>
      <link>https://learnings.desipenguin.com/post/magit-delete-branch/</link>
      <pubDate>Thu, 07 Oct 2021 06:17:37 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/magit-delete-branch/</guid>
      
        <description>After working on a project for a long time there are lot of stale branches that you should remove periodically. Using some kind of user interface is better than series of git commands. Magit to the rescue!</description>
      
    </item>
    
    <item>
      <title>3 Valued Logic</title>
      <link>https://learnings.desipenguin.com/post/3-valued-logic/</link>
      <pubDate>Tue, 29 Dec 2020 21:32:33 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/3-valued-logic/</guid>
      
        <description>Most programming languages treat NULL as a known value, separate from True and False. SQL does not play by the same rules</description>
      
    </item>
    
    <item>
      <title>How to Create Header Images for Your Blog</title>
      <link>https://learnings.desipenguin.com/post/images-for-blog/</link>
      <pubDate>Sun, 27 Sep 2020 06:14:58 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/images-for-blog/</guid>
      
        <description>Do you want to be able to include header images for your blog without too much (OK, may be one time) effort ? Read on.</description>
      
    </item>
    
    <item>
      <title>How to Implement Role based Access Control With FastAPI</title>
      <link>https://learnings.desipenguin.com/post/rolechecker-with-fastapi/</link>
      <pubDate>Wed, 09 Sep 2020 06:29:05 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/rolechecker-with-fastapi/</guid>
      
        <description>Quick Summary of RBAC concept, working code snippets and how I reached there</description>
      
    </item>
    
    <item>
      <title>Why my tests fail only during pre-commit ?</title>
      <link>https://learnings.desipenguin.com/post/pytest-exit-code-5/</link>
      <pubDate>Thu, 04 Jun 2020 13:13:01 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/pytest-exit-code-5/</guid>
      
        <description>My unit tests ran successfully on their own, but unit test step would fail during the pre-commit. Confusing ? Yes. Till I found out why</description>
      
    </item>
    
    <item>
      <title>How to run Chrome from Docker in macOS</title>
      <link>https://learnings.desipenguin.com/post/chrome-on-docker/</link>
      <pubDate>Sat, 16 May 2020 07:20:23 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/chrome-on-docker/</guid>
      
        <description>Do you need access to Chrome only occasionally ? Would you prefer not installing it locally ? If yes, then read on.</description>
      
    </item>
    
    <item>
      <title>Elixir : module not available</title>
      <link>https://learnings.desipenguin.com/post/elixir-module-not-available-mock/</link>
      <pubDate>Wed, 15 Apr 2020 19:18:30 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/elixir-module-not-available-mock/</guid>
      
        <description>How I resolved &lt;em&gt;not-so-obvious&lt;/em&gt; error &lt;code&gt;(UndefinedFunctionError) function HTTPoison.request/5 is undefined (module HTTPoison is not available&lt;/code&gt;</description>
      
    </item>
    
    <item>
      <title>Links to Various Online Profiles</title>
      <link>https://learnings.desipenguin.com/freelance/profiles/</link>
      <pubDate>Tue, 14 Apr 2020 11:32:52 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/freelance/profiles/</guid>
      
        <description>I am available for remote freelance assignments.
Profile Links  Github Twitter Linkedin Stackoverflow Digital Moleskine  </description>
      
    </item>
    
    <item>
      <title>How to add Query Params to HTTPoison.request</title>
      <link>https://learnings.desipenguin.com/post/add-params-to-httpoison-request/</link>
      <pubDate>Fri, 10 Apr 2020 22:40:39 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/add-params-to-httpoison-request/</guid>
      
        <description>&lt;code&gt;params&lt;/code&gt; are required to append query params to the URL. But how to do that is unclear in the documentation</description>
      
    </item>
    
    <item>
      <title>Project : Image Analytics for Logistics Company</title>
      <link>https://learnings.desipenguin.com/freelance/cloud-vision/</link>
      <pubDate>Thu, 05 Mar 2020 18:37:11 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/freelance/cloud-vision/</guid>
      
        <description>&lt;p&gt;Simplify processing Proof of Delivery for Logistics Company&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Why Keep a Lab Notebook ?</title>
      <link>https://learnings.desipenguin.com/post/why-lab-notebook/</link>
      <pubDate>Fri, 28 Feb 2020 18:50:08 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/why-lab-notebook/</guid>
      
        <description>How my habit of keeping a developer notebook, (or work diary) helped an ex-colleague after 6 months ?</description>
      
    </item>
    
    <item>
      <title>How to Process Headers using FastAPI</title>
      <link>https://learnings.desipenguin.com/post/headers-fastapi/</link>
      <pubDate>Thu, 27 Feb 2020 07:16:02 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/headers-fastapi/</guid>
      
        <description>&lt;p&gt;FastAPI makes processing Headers very easy, just like everything else. There are
two ways to process headers with FastAPI.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>How to Write Middleware using FastAPI</title>
      <link>https://learnings.desipenguin.com/post/middleware-fastapi/</link>
      <pubDate>Thu, 20 Feb 2020 12:40:38 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/middleware-fastapi/</guid>
      
        <description>&lt;p&gt;For one of my project, I needed to host an API service on the RapidAPI platform.
In order to make sure that all the requests to the application are routed via
RapidAPI I needed to check special header sent by RapidAPI.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Invalid Interview Questions: Linked List in python</title>
      <link>https://learnings.desipenguin.com/post/python-linked-list/</link>
      <pubDate>Wed, 19 Feb 2020 23:40:51 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/python-linked-list/</guid>
      
        <description>&lt;p&gt;Since I am not able to sleep, I started thinking about &amp;ldquo;incorrect&amp;rdquo; interview
questions.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Three ways to list all users in Postgres</title>
      <link>https://learnings.desipenguin.com/post/postgres-list-users/</link>
      <pubDate>Thu, 13 Feb 2020 12:14:16 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/postgres-list-users/</guid>
      
        <description>&lt;p&gt;I was trying to setup local postgres via docker, and wanted to see if my default
user was created. I found out that there is more than one way to skin the cat.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Setup Doom Emacs to work with Vue.js and nvm</title>
      <link>https://learnings.desipenguin.com/post/vuejs-with-doom-emacs-nvm/</link>
      <pubDate>Tue, 04 Feb 2020 19:40:37 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/vuejs-with-doom-emacs-nvm/</guid>
      
        <description>&lt;p&gt;&lt;img src=&#34;https://learnings.desipenguin.com/images/blog/vue-lsp.png&#34; alt=&#34;Auto Completion&#34;&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>How to Safely use Google Application Credentials on Heroku</title>
      <link>https://learnings.desipenguin.com/post/goog-cred-heroku/</link>
      <pubDate>Fri, 13 Dec 2019 23:01:48 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/goog-cred-heroku/</guid>
      
        <description>Google expects credentials in a json file. Any file to be deployed to heroku must be in git. But credentials are sensitive info that should &lt;strong&gt;never&lt;/strong&gt; be in git. So what do we do ?</description>
      
    </item>
    
    <item>
      <title>Elixir : Module is not loaded and could not be found</title>
      <link>https://learnings.desipenguin.com/post/elixir-module-not-found/</link>
      <pubDate>Mon, 08 Jul 2019 11:43:37 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/elixir-module-not-found/</guid>
      
        <description>How to troubleshoot this error?</description>
      
    </item>
    
    <item>
      <title>Open Source Contribution: pre-commit</title>
      <link>https://learnings.desipenguin.com/post/oss-contri-pre-commit/</link>
      <pubDate>Wed, 12 Jun 2019 12:49:43 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/oss-contri-pre-commit/</guid>
      
        <description>&lt;p&gt;Recently I did a couple of open source contributions. I decided to document my
learning here.&lt;/p&gt;
&lt;p&gt;In this pull request I fixed a
&lt;a href=&#34;https://github.com/pre-commit/pre-commit/issues/1007&#34;&gt;bug&lt;/a&gt; for
&lt;code&gt;pre-commit&lt;/code&gt; project.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Open Source Contribution: flake8 documentation</title>
      <link>https://learnings.desipenguin.com/post/oss-contri-flake8-doc-update/</link>
      <pubDate>Fri, 07 Jun 2019 17:09:08 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/oss-contri-flake8-doc-update/</guid>
      
        <description>&lt;p&gt;Recently I did a couple of open source contributions. I decided to document my
learning here.&lt;/p&gt;
&lt;p&gt;In this pull request I updated the contributor documentation  for &lt;code&gt;flake8&lt;/code&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Open Source Contribution: pyramid_heroku</title>
      <link>https://learnings.desipenguin.com/post/oss-contri-type-coverage/</link>
      <pubDate>Thu, 06 Jun 2019 15:41:21 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/oss-contri-type-coverage/</guid>
      
        <description>&lt;p&gt;Recently I did a couple of open source contributions. I decided to document my
learning here.&lt;/p&gt;
&lt;p&gt;In this pull request I added Check for type coverage to travis CI for
&lt;code&gt;pyramid_heroku&lt;/code&gt; project.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Elixir: Alias, Import, Use and Require</title>
      <link>https://learnings.desipenguin.com/post/alias-import-require-use/</link>
      <pubDate>Mon, 27 May 2019 15:09:12 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/alias-import-require-use/</guid>
      
        <description>&lt;p&gt;Elixir has four ways to access functionality from other modules&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Render Options in Phoenix</title>
      <link>https://learnings.desipenguin.com/post/render-options-phoenix/</link>
      <pubDate>Mon, 20 May 2019 20:46:28 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/render-options-phoenix/</guid>
      
        <description>You don&#39;t have to always use render</description>
      
    </item>
    
    <item>
      <title>How a &#39;request&#39; moves thru various phoenix layers</title>
      <link>https://learnings.desipenguin.com/post/prog-phoenix-1/</link>
      <pubDate>Wed, 15 May 2019 19:47:45 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/prog-phoenix-1/</guid>
      
        <description>&lt;p&gt;How a &amp;ldquo;request&amp;rdquo; moves thru various phoenix layers&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>7 Opportunities to bring your best self forward</title>
      <link>https://learnings.desipenguin.com/post/7-opportunities/</link>
      <pubDate>Sat, 20 Apr 2019 18:47:09 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/7-opportunities/</guid>
      
        <description>&lt;p&gt;Found this via Insight Timer App.
Listen to the full audio &lt;a href=&#34;https://insighttimer.com/anabarreto/guided-meditations/7-opportunities-a-day-to-bring-your-best-self-forward&#34;&gt;here&lt;/a&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Practical advise to select Slightly Better Passwords</title>
      <link>https://learnings.desipenguin.com/post/better_passwords/</link>
      <pubDate>Thu, 24 Jan 2019 07:10:50 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/better_passwords/</guid>
      
        <description>&lt;p&gt;&lt;strong&gt;This is not really something I learnt this week. Just something I felt
compelled to share&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;The following advise does not assume that your security will greatly improve.
But making these minor changes will have disproportionate improvement to the
security.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Project: Corporate Taxi Hiring platform</title>
      <link>https://learnings.desipenguin.com/freelance/ace-cabs/</link>
      <pubDate>Mon, 24 Dec 2018 18:36:39 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/freelance/ace-cabs/</guid>
      
        <description>&lt;p&gt;Corporate Taxi Hiring platform.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Quorum: Permissioned Ethereum Blockchain</title>
      <link>https://learnings.desipenguin.com/post/what-is-quorum/</link>
      <pubDate>Tue, 30 Oct 2018 16:17:21 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/what-is-quorum/</guid>
      
        <description>&lt;p&gt;Quorum is an Ethereum-based distributed ledger protocol that has been developed
for a permissioned implementation of Ethereum to support transaction and
contract privacy.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Ethereum Transaction Details for Humans</title>
      <link>https://learnings.desipenguin.com/post/view-eth-txn-details/</link>
      <pubDate>Mon, 24 Sep 2018 22:38:43 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/view-eth-txn-details/</guid>
      
        <description>When working on one of my projects, it was asked &amp;ldquo;How do we ensure that transaction was indeed recorded on the blockchain&amp;rdquo;
While we can (and did) store the transaction hash returned by the function call in the database, txn_hash alone does no good.
e.g. &amp;ldquo;Official&amp;rdquo; method to get the details of the transaction (from the txn_hash) returns something like the following:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16  web3.</description>
      
    </item>
    
    <item>
      <title>nvm, emacs and zsh walk into a (macOS) bar</title>
      <link>https://learnings.desipenguin.com/post/nvm-zsh-and-emacs/</link>
      <pubDate>Thu, 23 Aug 2018 19:28:04 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/nvm-zsh-and-emacs/</guid>
      
        <description>Feel free to jump directly to the solution
Background I recently started working on node based project. I&#39;d been using nvm for quite some time now, since I liked the idea of having languages their own version managers, rather than having OS manage it ,which I doubt can do a good job. OS package managers were designed to have single version (and upgrade when needed)
So I&#39;ve been using pyenv and nvm for quite some time.</description>
      
    </item>
    
    <item>
      <title>truffle test : TypeError: Cannot read property &#39;filter&#39; of undefined</title>
      <link>https://learnings.desipenguin.com/post/truffle-test-error/</link>
      <pubDate>Tue, 22 May 2018 21:30:50 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/truffle-test-error/</guid>
      
        <description>Recently ran across this unintuitive error :
1 2 3 4 5 6 7 8  $ truffle test /usr/local/lib/node_modules/truffle/build/cli.bundled.js:128717 var Module;if(!Module)Module=(typeof Module!==&amp;#34;undefined&amp;#34;?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module[&amp;#34;ENVIRONMENT&amp;#34;]){if(Module[&amp;#34;ENVIRONMENT&amp;#34;]===&amp;#34;WEB&amp;#34;){ENVIRONMENT_IS_WEB=true}else if(Module[&amp;#34;ENVIRONMENT&amp;#34;]===&amp;#34;WORKER&amp;#34;){ENVIRONMENT_IS_WORKER=true}else if(Module[&amp;#34;ENVIRONMENT&amp;#34;]===&amp;#34;NODE&amp;#34;){ENVIRONMENT_IS_NODE=true}else if(Module[&amp;#34;ENVIRONMENT&amp;#34;]===&amp;#34;SHELL&amp;#34;){ENVIRONMENT_IS_SHELL=true}else{throw new Error(&amp;#34;The provided Module[&amp;#39;ENVIRONMENT&amp;#39;] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.&amp;#34;)}}else{ENVIRONMENT_IS_WEB=typeof window===&amp;#34;object&amp;#34;;ENVIRONMENT_IS_WORKER=typeof importScripts===&amp;#34;function&amp;#34;;ENVIRONMENT_IS_NODE=typeof process===&amp;#34;object&amp;#34;&amp;amp;&amp;amp;&amp;#34;function&amp;#34;===&amp;#34;function&amp;#34;&amp;amp;&amp;amp;!ENVIRONMENT_IS_WEB&amp;amp;&amp;amp;!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=! TypeError: Cannot read property &amp;#39;filter&amp;#39; of undefined at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:318499:21 at /usr/local/lib/node_modules/truffle/build/cli.bundled.js:267618:25 at FSReqWrap.oncomplete (fs.js:166:21)   It took a bit of googling to figure out that error is far more innocent than it appears from the error and the stack trace.</description>
      
    </item>
    
    <item>
      <title>How to install Vyper using pyenv and Virtualenv on macOS</title>
      <link>https://learnings.desipenguin.com/post/vyper-on-pyenv-virtualenv/</link>
      <pubDate>Thu, 17 May 2018 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/vyper-on-pyenv-virtualenv/</guid>
      
        <description>Initially, setting up Vyper (an experimental language, with python-like syntax, for writing smart contracts on ethereum) seemed as simple as following the instructions.
it wasn&#39;t.
If you like to skip the details/troubleshooting, head over to TL;DR
 pyenv I&#39;ve written about why I prefer pyenv earlier
I&#39;m not sure whether my &amp;ldquo;misfortune&amp;rdquo; was due to pyenv, but it could be.
To top it off, I also used virtualenv as suggested in the official docs.</description>
      
    </item>
    
    <item>
      <title>Diagrams in Orgmode</title>
      <link>https://learnings.desipenguin.com/post/diagrams-in-orgmode/</link>
      <pubDate>Tue, 24 Apr 2018 19:55:54 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/diagrams-in-orgmode/</guid>
      
        <description>Recently, I had to create a technical document for a project, and I started with org-mode since that was easiest.
Basic markup is easy in org, and was enough for me to get started.
In order to share with external parties, I exported to HTML. In past I had tried docx but that did not work well, I wanted to export to PDF, but it requires pdflatex which seemed a lot of hassle.</description>
      
    </item>
    
    <item>
      <title>How to Sync Github Fork with the original</title>
      <link>https://learnings.desipenguin.com/post/sync-github-fork/</link>
      <pubDate>Fri, 20 Apr 2018 19:50:54 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/sync-github-fork/</guid>
      
        <description>First add the original repo as upstream remote using :
1  git remote add upstream https://github.com/ORIGINAL_OWNER   You need to do this only once.
Now each time you want to get the changes from the original, do the following :
1 2 3  git fetch upstream git checkout master git merge upstream/master   See the github documentation for details.</description>
      
    </item>
    
    <item>
      <title>How to use python to test your Ethereum Smart Contracts</title>
      <link>https://learnings.desipenguin.com/post/populus-ethereum-dev-env/</link>
      <pubDate>Tue, 20 Mar 2018 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/populus-ethereum-dev-env/</guid>
      
        <description>Background I recently started working on Ethereum Blockchain development. Most of the tools, including the solidity language are biased towards javascript.
While I managed to get started using truffle when it came to testing, I found that javascript tests were (IMO) unnecessarily too long.
But that is the nature of the language.
I have always been more comfortable with python than JS. I liked and have used py.test in my previous projects.</description>
      
    </item>
    
    <item>
      <title>Pay Gap on the Gender-Blind Platform (Uber)</title>
      <link>https://learnings.desipenguin.com/post/gender-pay-gap-uber-study/</link>
      <pubDate>Wed, 07 Mar 2018 22:00:19 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/gender-pay-gap-uber-study/</guid>
      
        <description>Freakonomics podcast did an episode understanding the gender pay gap, that exists between the male and female driver even if the platform does not treat them differently based on the gender.
Uber has a lot of data about the rides, drivers and earnings.
Let&#39;s see what they found out.
How much ? Male drivers earn 7% more than their female counterpart.
 And seven percent is not very different than the overall average we see across all firms, even in the traditional labor market.</description>
      
    </item>
    
    <item>
      <title>Moving from Nikola to Hugo</title>
      <link>https://learnings.desipenguin.com/post/migrating-to-hugo/</link>
      <pubDate>Sat, 03 Mar 2018 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/migrating-to-hugo/</guid>
      
        <description>Background When I started my second blog, instead of pelican, I tried awesome Nikola SSG. It is truly awesome. What I (initially) liked about it was it had support for org-mode i.e. I could write my blog in org-mode and Nikola would generate the post out of it.
I spent looking for &amp;ldquo;decent&amp;rdquo; theme, but couldn&#39;t find one. I tried material theme for a while, but realized it could not do syntax highlighting.</description>
      
    </item>
    
    <item>
      <title>Please check your gas amount</title>
      <link>https://learnings.desipenguin.com/post/please-check-your-gas-amount-maybe-misleading/</link>
      <pubDate>Fri, 09 Feb 2018 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/please-check-your-gas-amount-maybe-misleading/</guid>
      
        <description>I just started learning solidity development, and when I started writing my own Smart Contract - I came across this error.
1 2  Error encountered, bailing. Network state unknown. Review successful transactions manually. Error: The contract code couldn&amp;#39;t be stored, please check your gas amount.   truffle compile worked OK, but truffle migrate gave this error.
Usually, it is said that is there is a loop (infinite loop, due to logic error) one usually &amp;ldquo;runs out of gas&amp;rdquo;</description>
      
    </item>
    
    <item>
      <title>What are Uncles in Ethereum ?</title>
      <link>https://learnings.desipenguin.com/post/uncles-in-ethereum/</link>
      <pubDate>Thu, 11 Jan 2018 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/uncles-in-ethereum/</guid>
      
        <description>Recently I started learning blockchain and related technologies.
There is SO MUCH to learn.
I started with blockchain basics (and it inevitably uses bitcoin as an example)
If you are new to blockchain (not ZERO knowledge) I recommend you checkout the blockchain demo
It is one thing to say you can not modify &amp;ldquo;old&amp;rdquo; blocks, but visualizing it really makes the difference. (It is important to understand it for the topic under discussion)</description>
      
    </item>
    
    <item>
      <title>Blog Sketches</title>
      <link>https://learnings.desipenguin.com/galleries/blog/</link>
      <pubDate>Wed, 13 Dec 2017 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/galleries/blog/</guid>
      
        <description>&lt;p&gt;These are the sketches used in my blog posts.&lt;/p&gt;
&lt;p&gt;I am grateful to
&lt;a href=&#34;http://http://dariusforoux.com&#34;&gt;Darius Foroux&lt;/a&gt; for the inspiration&lt;/p&gt;
&lt;p&gt;These sketches are meant to be referenced in the various blog posts, and not
meant to be viewed as a gallery.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Prize Linked Savings Account</title>
      <link>https://learnings.desipenguin.com/post/prize-linked-savings/</link>
      <pubDate>Wed, 13 Dec 2017 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/prize-linked-savings/</guid>
      
        <description>&lt;p&gt;&lt;img src=&#34;https://learnings.desipenguin.com/images/blog/prize-linked-savings.png&#34; alt=&#34;Prize Linked Savings&#34;&gt;&lt;/p&gt;
&lt;p&gt;Recently I heard an episode on Freakonomics podcast called &amp;ldquo;No-lose
Lottery&amp;rdquo;. You can listen to the episode
&lt;a href=&#34;http://freakonomics.com/podcast/say-no-no-lose-lottery-rebroadcast/&#34;&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Apparently, this is a rebroadcast. Original episode was in 2010.&lt;/p&gt;
&lt;p&gt;But those details aside, this post is to quickly summarize the concept
of &amp;ldquo;Prize Linked Savings Account&amp;rdquo;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Sketch Notes</title>
      <link>https://learnings.desipenguin.com/galleries/sketchnotes/</link>
      <pubDate>Wed, 13 Dec 2017 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/galleries/sketchnotes/</guid>
      
        <description>&lt;p&gt;These are the sketch notes.&lt;/p&gt;
&lt;p&gt;Digital ones were created on Samsung Galaxy 8, using Autodesk Sketch Express (and Autodesk Sketchbook)
Exported using Airdroid, and did minor post-processing on OSX (preview app)&lt;/p&gt;
&lt;p&gt;Later, I have drawn several using good old pen-and-paper (and were scanned)&lt;/p&gt;
&lt;p&gt;I am grateful to
&lt;a href=&#34;http://sachachua.com/blog/tag/sketchnote-lessons/&#34;&gt;Sacha Chua&lt;/a&gt;
for the inspiration.&lt;/p&gt;
&lt;p&gt;Thanks &lt;a href=&#34;http://sunnibrown.com/doodlerevolution/bootcamps/visual-notetaking-101/&#34;&gt;Sunni
Brown&lt;/a&gt;
for the Visual Notetaking 101 course.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Click on the following sketch, to see others&lt;/strong&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Sketches</title>
      <link>https://learnings.desipenguin.com/galleries/sketches/</link>
      <pubDate>Thu, 02 Nov 2017 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/galleries/sketches/</guid>
      
        <description>&lt;p&gt;Initially &amp;hellip;&lt;/p&gt;
&lt;p&gt;These are the sketches I did from time to time, mostly for my son.
These are sketches of the images found in his books.&lt;/p&gt;
&lt;p&gt;As you can see, these were drawn any almost any empty piece of paper (hence no
consistency in the background, size etc.) using a pencil.&lt;/p&gt;
&lt;p&gt;Update :&lt;/p&gt;
&lt;p&gt;Since I started drawing relatively consistently, I started drawing more
deliberately.&lt;/p&gt;
&lt;p&gt;I got a re-writable notebook, and I have since drawn several
sketches in that, rather than &amp;ldquo;some piece of paper found at that moment&amp;rdquo; (I
occasionally still do that, but less so.)&lt;/p&gt;
&lt;p&gt;I also started scanning these, rather than using mobile phone&#39;s camera to
capture these, for better quality. It helped a little.&lt;/p&gt;
&lt;p&gt;I also started drawing digitally on a tablet. This created better images, no
grey &amp;ldquo;shadows&amp;rdquo; on the sides, for example.&lt;/p&gt;
&lt;p&gt;But some how it does not feel the same as using &amp;ldquo;pen and paper&amp;rdquo;. But I&#39;m getting
better.&lt;/p&gt;
&lt;p&gt;and off course I get &amp;ldquo;undo&amp;rdquo;, which I can&#39;t on &amp;ldquo;pen and paper&amp;rdquo; (I wonder if that
is a good thing)&lt;/p&gt;
&lt;p&gt;The drawings are still from children&#39;s books and magazines. But I started
drawing from local newspaper as well.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Click on the following sketch, to see others&lt;/strong&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>What is mix.lock file</title>
      <link>https://learnings.desipenguin.com/post/what-is-mixlock-file/</link>
      <pubDate>Mon, 09 Oct 2017 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/what-is-mixlock-file/</guid>
      
        <description>In past, I have seen several processes create .lock files, to usually write pid of the process.
e.g. Emacs desktop package creates .emacs.desktop.lock file to save the PID of the emacs instance that created this file. Eventually, it will use this to ensure that no other instance overwrites it, and also gives a warning as such.
There have been other instances we well.
So when I started working on elixir, I always ignored mix.</description>
      
    </item>
    
    <item>
      <title>Change the default Screen shot location for macOS</title>
      <link>https://learnings.desipenguin.com/post/change-the-default-screen-shot-location-for-macos/</link>
      <pubDate>Sat, 16 Sep 2017 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/change-the-default-screen-shot-location-for-macos/</guid>
      
        <description>By default, macOS saves all screenshots to the ~/Desktop.
If you&#39;d like screen shots to be saved somewhere else, you have to configure it manually from the terminal.
For instance, if you&#39;d like your screenshots to be saved in the ~/screenshots directory, then enter the following commands:
1 2 3  $ mkdir ~/screenshots $ defaults write com.apple.screencapture location ~/screenshots $ killall SystemUIServer   source</description>
      
    </item>
    
    <item>
      <title>SMTPAuthenticationError : 534</title>
      <link>https://learnings.desipenguin.com/post/smtpauthenticationerror-534/</link>
      <pubDate>Sat, 12 Aug 2017 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/smtpauthenticationerror-534/</guid>
      
        <description>One of the website suddenly stopped sending emails from the &amp;ldquo;Contact Us&amp;rdquo; form
My fellow engineer tried to debug the problem, but could not.
so I stepped in.
The first thing I tried was to verify that the username/password was correct, by logging into the gmail account via the browser.
It was.
So then I considered changing to TLS from SSL, but before I did that on production setup, I decided to do all the trials locally.</description>
      
    </item>
    
    <item>
      <title>Create and update timestamp in DB</title>
      <link>https://learnings.desipenguin.com/post/create-and-update-timestamp-in-db/</link>
      <pubDate>Fri, 21 Jul 2017 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/create-and-update-timestamp-in-db/</guid>
      
        <description>I have following defined in my sqlalchemy models file.
1 2 3 4  class CommonColumns(Base): __abstract__ = True _created = Column(DateTime, default=func.now()) _updated = Column(DateTime, default=func.now(), onupdate=func.now())   I then derive most of my classes from CommonColumns This automatically inserts the creation and updation timestamps for the each row.
But this works for the records created via the python/sqlalchemy script using db.session.add(...)
Recently I needed to quickly insert records directly from psql prompt.</description>
      
    </item>
    
    <item>
      <title>Sense of completion in org-mode</title>
      <link>https://learnings.desipenguin.com/post/sense-of-completion-in-org-mode/</link>
      <pubDate>Tue, 11 Jul 2017 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/sense-of-completion-in-org-mode/</guid>
      
        <description>If you use org-mode to keep track of your TODO lists, then this might be useful.
Assuming you have tasks in an hierarchical manner, you should Put [/] and/or [%] in the header
Use TODO keywords in the child node, as you normally would.
When an entry is marked DONE, values are updated automatically.
In case you need to update the values manually, do C-c C-c
I needed this when I refiled the entries.</description>
      
    </item>
    
    <item>
      <title>Cost of buying eve.com</title>
      <link>https://learnings.desipenguin.com/post/cost-of-buying-evecom/</link>
      <pubDate>Thu, 06 Jul 2017 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/cost-of-buying-evecom/</guid>
      
        <description>In the &amp;ldquo;Tim Feriss show&amp;rdquo; podcast, Episode #248 : Ten commandments of Startup Success, there is a story about &amp;ldquo;Buying eve.com domain&amp;rdquo;
Turns out this domain was owned by 5 year old girl named Eve Rogers. How does one negotiate with a 5 year old ?
Luckily (?) the negotiations were with her mom, and the price of the deal was :
 Equity in the company (exact details not shared) (Observer) seat on the board of directors for the daughter (Eve Rogers) Multiple trips to Disney Land per year $50000  A funny little story worth sharing .</description>
      
    </item>
    
    <item>
      <title>Sending Rich Text emails with mu4e</title>
      <link>https://learnings.desipenguin.com/post/sending-rich-text-emails-with-mu4e/</link>
      <pubDate>Mon, 03 Jul 2017 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/sending-rich-text-emails-with-mu4e/</guid>
      
        <description>I recently started using mu4e exclusively for emails. I haven&#39;t opened the browser based email client in more than a week.
I almost never use &amp;ldquo;rich text&amp;rdquo; emails, so I didn&#39;t miss sending &amp;ldquo;rich&amp;rdquo; emails much.
But sometimes it is nice (useful?) to make certain word(s) bold for the impact.
and if one is using &amp;ldquo;rich text&amp;rdquo;, marking code/commands in fixed width font is always nice. I always used to manually change the font in such cases, when using browser based email client.</description>
      
    </item>
    
    <item>
      <title>Beethoven&#39;s fifth</title>
      <link>https://learnings.desipenguin.com/post/beethovens-fifth/</link>
      <pubDate>Sun, 25 Jun 2017 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/beethovens-fifth/</guid>
      
        <description>Beethoven&#39;s music has three distinct phases - early, mid and late. This is very uncommon, since most musicians have a &amp;ldquo;set&amp;rdquo; style through out their career. Fifth symphony was written during the &amp;ldquo;mid&amp;rdquo; part of his career.
Beethoven was working on the fifth for four years.
Beethoven had started going deaf around this time, that may be the reason parts of the symphony are &amp;ldquo;loud&amp;rdquo;
Four letter motif of the Beethoven&#39;s Fifth symphony was used by BBC during the second world war because :</description>
      
    </item>
    
    <item>
      <title>Writing Pelican blog post using Nikola new_post</title>
      <link>https://learnings.desipenguin.com/post/writing-pelican-blog-post-using-nikola-new_post/</link>
      <pubDate>Fri, 16 Jun 2017 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/writing-pelican-blog-post-using-nikola-new_post/</guid>
      
        <description>&lt;p&gt;&lt;em&gt;This post is ported over from my other blog, which was once in &lt;code&gt;pelican&lt;/code&gt;&lt;/em&gt;&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>Using local password manager</title>
      <link>https://learnings.desipenguin.com/post/using-local-password-manager/</link>
      <pubDate>Thu, 15 Jun 2017 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/using-local-password-manager/</guid>
      
        <description>Bit of history Long time ago I was using LastPass. and it worked well for me for a long time, till it was acquired. I heard some &amp;ldquo;bad&amp;rdquo; things, which honestly I do not remember, but it was probably like the &amp;ldquo;free&amp;rdquo; option will go away.
I started looking for options, and chanced upon Dashlane.
Honestly it worked really well, but there is this inkling that I can&#39;t explain, that I need to move out.</description>
      
    </item>
    
    <item>
      <title>Support for pelican style metadata format in nikola</title>
      <link>https://learnings.desipenguin.com/post/support-for-pelican-style-metadata-format-in-nikola/</link>
      <pubDate>Sun, 11 Jun 2017 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/support-for-pelican-style-metadata-format-in-nikola/</guid>
      
        <description>&lt;p&gt;&lt;em&gt;This post was originally on my old/other blog which was build using &lt;code&gt;pelican&lt;/code&gt;, so some of the references here may not make sense&lt;/em&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Few years ago, python.__init__ podcast had invited creators of two
most popular static site generators written in python i.e.
&lt;a href=&#34;http://getpelican.com/&#34;&gt;pelican&lt;/a&gt; and &lt;a href=&#34;http://getnikola.com/&#34;&gt;nikola&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In that episode, they were asked why do these two SSGs have different
meta data format (aka front matter). While I don&#39;t remember &amp;ldquo;why&amp;rdquo; but
Roberto Alsina of Nikola had suggested that he would support other
metadata formats for better compatibility.&lt;/p&gt;
&lt;p&gt;This was back in 2015.&lt;/p&gt;
&lt;p&gt;Fast forward to 2017.&lt;/p&gt;
&lt;p&gt;Nikola has delivered on that promise.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>How to use multiple versions of python at the same time</title>
      <link>https://learnings.desipenguin.com/post/pynev-and-virtualenv/</link>
      <pubDate>Sat, 10 Jun 2017 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/pynev-and-virtualenv/</guid>
      
        <description>If you install python via the package manager for your OS (brew, apt-get, yum) you can have only one version of python at the same time.
At best one python2 and one python3
But if you want to have (and want ability to easily switch between) say 3.5.2 and 3.6.0 (and 2.7.2) then you should definitely consider using pyenv
pyenv is not platform specific. It installs all the versions in your home directory under ~/.</description>
      
    </item>
    
    <item>
      <title>Micro-TILs</title>
      <link>https://learnings.desipenguin.com/post/micro-tils/</link>
      <pubDate>Sat, 10 Jun 2017 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/micro-tils/</guid>
      
        <description>Recently I started learning elixir. During this process I came across two TIL blogs.
First one is TIL app created by Hashrocket.
At first they created it in Rails .
Recently they created (ported ?) it to Elixir. Source
The other is more interesting to me. One of the (ex?) HashRocket engineer Josh Branchaud has his own til repo Although he hasn&#39;t published these anywhere (Other than this public repo) it contains a lot of gems.</description>
      
    </item>
    
    <item>
      <title>Sidney Sheldon</title>
      <link>https://learnings.desipenguin.com/post/sidney-sheldon/</link>
      <pubDate>Sun, 12 Feb 2017 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/sidney-sheldon/</guid>
      
        <description>I had known Sydney Sheldon as an author of several best-selling novels like &amp;ldquo;The Other Side of Midnight&amp;rdquo;, &amp;ldquo;Rage of Angels&amp;rdquo;, &amp;ldquo;Master of the Game&amp;rdquo; etc. I grew up reading his novels (mostly marathi translations)
Later, during my few years in US, I used to watch &amp;ldquo;I Dream of Jeanie&amp;rdquo; and came to know him as the producer and writer of this show.
Little did I know, that I had all this backwards.</description>
      
    </item>
    
    <item>
      <title>Growing up in South Africa during the Apartheid</title>
      <link>https://learnings.desipenguin.com/post/growing-up-during-the-apartheid/</link>
      <pubDate>Wed, 25 Jan 2017 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/growing-up-during-the-apartheid/</guid>
      
        <description>Note: These are not MY experiences
This week I listened to two podcasts that happen to talk about growing up in South Africa during the Apartheid. It is one thing to read about it online, and quite another to hear experiences from someone who was part of it growing up.
 The first story is that of Susan David, the Author of the book Emotional Agility She recently appeared on the James Altucher Show (Episode 203) which is where I heard this story.</description>
      
    </item>
    
    <item>
      <title>Sketches : Hands</title>
      <link>https://learnings.desipenguin.com/post/sketches-hands/</link>
      <pubDate>Mon, 09 Jan 2017 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/sketches-hands/</guid>
      
        <description>This post comes from a podcast episode called &amp;ldquo;Fool me once&amp;rdquo;. So the title of this post is apt. The post does not contain a drawing of a hand. ;)
 I recently started listening to a new podcast called &amp;ldquo;Tell me something I don&#39;t know&amp;rdquo;. TMSIDK for short.
In this episode one of the contestant, A.E. Kieren , tells us that &amp;ldquo;hands&amp;rdquo; are conspicuously missing from the Art of the renaissance period.</description>
      
    </item>
    
    <item>
      <title>Writing golang code with spacemacs</title>
      <link>https://learnings.desipenguin.com/post/writing-golang-code-with-spacemacs/</link>
      <pubDate>Fri, 30 Dec 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/writing-golang-code-with-spacemacs/</guid>
      
        <description>Since I use spacemacs, everything is easy.
As soon as I started editing a .go file, spacemacs offered to enable the go layer. (I could have easily done it myself, but it is always awesome when your editor &amp;ldquo;knows&amp;rdquo; and offers to help.)
After saving the .spacemacs and SPC f e R later (and I think I had to reopen the buffer, I don&#39;t remember) I had working syntax highlighting and &amp;ldquo;coding time error checking&amp;rdquo; (Thanks flycheck)</description>
      
    </item>
    
    <item>
      <title>Create and save files from a Heroku bash session</title>
      <link>https://learnings.desipenguin.com/post/files-on-heroku-bash/</link>
      <pubDate>Mon, 19 Dec 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/files-on-heroku-bash/</guid>
      
        <description>I started using Heroku for one of the projects recently. In past, I have used Openshift, Webfaction (and AWS long time ago). Each of these gave some kind of ssh access. By ssh access, I mean access to the running system.
Heroku is different.
Heroku gives you bash access. At first, it may seem similar to the ssh access, but it is not. Each time you run heroku run bash --app my_app Heroku creates a new instance of the shell.</description>
      
    </item>
    
    <item>
      <title>Tools for removing &#34;errors&#34; from your writing</title>
      <link>https://learnings.desipenguin.com/post/tools-for-removing-errors-from-your-writing/</link>
      <pubDate>Tue, 13 Dec 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/tools-for-removing-errors-from-your-writing/</guid>
      
        <description>Initially, I was going to title this either &amp;ldquo;How to improve your writing&amp;rdquo;, or &amp;ldquo;How to write better&amp;rdquo;. But both those are subjective. The current title is apter1 , I think. In technical terms, these are errors/warnings in the prose. Errors you must fix. Warnings you should fix, but can choose to ignore.
Since the &amp;ldquo;prose&amp;rdquo; isn&#39;t compiled, there is no compiler. This is similar to various interpreted (programming) languages, where there are no compilers, hence there is no easy way to catch the errors/warnings before hand.</description>
      
    </item>
    
    <item>
      <title>GitLab: The project you were looking for could not be found</title>
      <link>https://learnings.desipenguin.com/post/gitlab-project-not-found/</link>
      <pubDate>Mon, 05 Dec 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/gitlab-project-not-found/</guid>
      
        <description>Every now and then I used to keep getting this error. (The project existed.) This error showed up once in a while. My go to solution was to reboot the machine (cause it used to work) But for once, that too did not work, and it led me to finding the real cause /solution. I&#39;m glad I did.
I had noticed that I get this error when SourceTree asks for passphrase for some other publickey.</description>
      
    </item>
    
    <item>
      <title>Mindfulness Course : Week 1</title>
      <link>https://learnings.desipenguin.com/post/mindfulness-week-1/</link>
      <pubDate>Mon, 17 Oct 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/mindfulness-week-1/</guid>
      
        <description>I started an online course called &amp;ldquo;Mindfullness for Wellbeing and Peak Performance&amp;rdquo; at Monash University on FutureLearn. (Name of the course is a mouthful, hence I decided to shorten the name as referenced in this post) These are my notes from Week 1
 Mindfulness means being engaged and present in the moment. We are usually mindful during the activities that we enjoy. When we are not happy is when our mind wanders off (to worry, thinking about the past or the future) and so that is when we need to be mindful.</description>
      
    </item>
    
    <item>
      <title>Ulysses Pact</title>
      <link>https://learnings.desipenguin.com/post/ulysses-pact/</link>
      <pubDate>Mon, 10 Oct 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/ulysses-pact/</guid>
      
        <description>While listening to the Changelog Episode 221, where they interview Dr. Cory Doctorow. In the Interview, Doctorow mentioned Ulysses Pact.
In the Greek mythology, it is said that whenever ship passes near the Siren&#39;s island, the men would hear Siren&#39;s Song. upon which they would lose their rational thought and jump the ship to swim towards the Siren&#39;s island. (Sirens would kill the men)
Ulysses wanted to hear the Siren&#39;s Song, but he also knew the risks.</description>
      
    </item>
    
    <item>
      <title>Prevent *scratch* buffer from getting killed</title>
      <link>https://learnings.desipenguin.com/post/prevent-scratch-buffer-from-getting-killed/</link>
      <pubDate>Fri, 02 Sep 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/prevent-scratch-buffer-from-getting-killed/</guid>
      
        <description>I started using persistent *scratch* buffer few months ago. You can read about it here
It worked well for some time, and then at least couple of times, I noticed that when I restart emacs (does not happen very often) my *scratch* buffer is empty.
So I started doing M-x persistent-scratch-save every time I was done writing to *scratch*, even though persistent-scratch-autosave-mode was ON
Just recently I realized that I had &amp;ldquo;lost&amp;rdquo; my *scratch* buffer while still within my emacs session (It did not show up in the buffer list) So then I realized why I might be losing the contents.</description>
      
    </item>
    
    <item>
      <title>xonsh : python-ish BASHward looking shell</title>
      <link>https://learnings.desipenguin.com/post/xonsh-python-shell/</link>
      <pubDate>Mon, 29 Aug 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/xonsh-python-shell/</guid>
      
        <description>Getting started Easiest way to get started on Mac is :
brew install xonsh
This installed older version than one released. It was good to try xonsh for the first time. But the documentation was newer than the software (imagine that) So I removed it.
But in the process it installed python 3.5.1 (as a dependency) I still have python 3.4.2 from earlier brew installation, but now it was &amp;ldquo;orphan&amp;rdquo;</description>
      
    </item>
    
    <item>
      <title>Product: Complius - Legal Compliance Management</title>
      <link>https://learnings.desipenguin.com/freelance/complius/</link>
      <pubDate>Wed, 27 Jul 2016 08:20:54 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/freelance/complius/</guid>
      
        <description>&lt;p&gt;Legal Compliance Management.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>QOD : Deliberate Practice</title>
      <link>https://learnings.desipenguin.com/post/qod-deliberate-practice/</link>
      <pubDate>Sun, 26 Jun 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/qod-deliberate-practice/</guid>
      
        <description>I am a regular &amp;ldquo;listener&amp;rdquo; (?) of Freakonomics and &amp;ldquo;James Altucher Show&amp;rdquo; podcasts among others. So when Steve Dubner and James Altucher started a podcast together there was no reason to not subscribe. Needless to say, their new show &amp;ldquo;QOD : Question of the Day&amp;rdquo; is both entertaining and full of information.
This post is related to their episode no. 118 about deliberate practice. You can listen to the episode here.</description>
      
    </item>
    
    <item>
      <title>Habit Loop</title>
      <link>https://learnings.desipenguin.com/post/habit-loop/</link>
      <pubDate>Wed, 15 Jun 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/habit-loop/</guid>
      
        <description>I&#39;m reading a book The Power of Habit by Charles Duhigg
So far I am fascinated by the information. Writing style is quite engaging.
In first few chapters he talks about &amp;ldquo;Habit loop&amp;rdquo;
 Cue -&amp;gt; Routine -&amp;gt; Reward
 &amp;hellip;. and suddenly I started seeing &amp;ldquo;habits&amp;rdquo; everywhere
Two habits I want to mention here are of my children
 A younger one, just about an year old, throws tantrums when we are changing his nappy or putting on a diaper.</description>
      
    </item>
    
    <item>
      <title>Rubber Duck Problem Solving</title>
      <link>https://learnings.desipenguin.com/post/rubber-duck/</link>
      <pubDate>Tue, 07 Jun 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/rubber-duck/</guid>
      
        <description>Background In case you are not familiar with Rubber Duck approach to solving a problem, it goes something like this :
 Sometimes, if one spends enough time analyzing the problem, one can find the solution on their own. But most of the times, we don&#39;t. We get stuck and &amp;ldquo;ask&amp;rdquo; someone. Off course, that &amp;ldquo;someone&amp;rdquo; is not as familiar with the problem as you are. So in order to help you, they ask you questions (so they can understand the problem first, before they can help you) But it is often seen that when answering &amp;ldquo;them&amp;rdquo;, you come up with the solution your self.</description>
      
    </item>
    
    <item>
      <title>Unlocking the secrets of meditation</title>
      <link>https://learnings.desipenguin.com/post/secrets-of-meditation/</link>
      <pubDate>Sun, 08 May 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/secrets-of-meditation/</guid>
      
        <description>This is a summary of the following youtube video by Dandapani
  Unlocking the secrets of Meditation
 Understanding Meditation  Meditation is not a sweet sauce you add to your life to make it taste good.  Having a carrot in the morning, and the hamburgers, and beers through out the day is not a &amp;ldquo;Healthy&amp;rdquo; diet. Similarly, meditation in the morning is not enough (?)   First fix your lifestyle that supports meditation What is meditation :  Prolonged state of concentration Meditation is working with the energy inside of you   We can&#39;t clear your mind, but we could focus the mind.</description>
      
    </item>
    
    <item>
      <title>Unwavering Focus</title>
      <link>https://learnings.desipenguin.com/post/unwavering-focus/</link>
      <pubDate>Sun, 08 May 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/unwavering-focus/</guid>
      
        <description>I came across Dandapani when tim ferriss mentioned him in one of his podcasts. Then I looked up his website (very easy to remember URL, from tim&#39;s podcast, at least for someone like myself of Indian origin)
On his blog, there is a youtube video of his TED Talk from TEDxReno called &amp;ldquo;Unwavering Focus&amp;rdquo;.
  I try to summarize the points here.
 We are told to concentrate (from childhood) yet no one teaches us how.</description>
      
    </item>
    
    <item>
      <title>Getting started with go</title>
      <link>https://learnings.desipenguin.com/post/getting-started-with-go/</link>
      <pubDate>Sat, 07 May 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/getting-started-with-go/</guid>
      
        <description>[This post was originally written in March 2016, but published only later]
 This is not a &amp;ldquo;How&amp;rdquo; to get started with Go post. This post chronicles my attempts, and reasons to get started with go.
Why I am fascinated with the hugo static site generator tool. I am in a process to migrate one of my blogs to hugo (But it is too soon.)
While reading thru the hugo documentation, I came across hugo-gallery.</description>
      
    </item>
    
    <item>
      <title>Retain the contents of emacs *scratch* buffer across restarts</title>
      <link>https://learnings.desipenguin.com/post/persistent-scratch/</link>
      <pubDate>Wed, 06 Apr 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/persistent-scratch/</guid>
      
        <description>I have used many editors (chiefly vim) and IDEs (pycharm) My colleagues use sublime text so I gave it a try, but always switched back to either pycharm for python coding, and vim for everything else (until I came across spacemacs, and now that is my main editor for last few months. I still use vim occasionally, on remote server etc.)
Back to sublime text ..
One of the thing I liked about sublime text was that I could just open a new window, start typing and even after I quit/restart sublime, my contents would be there.</description>
      
    </item>
    
    <item>
      <title>Sending email via emacs</title>
      <link>https://learnings.desipenguin.com/post/send-email-from-emacs/</link>
      <pubDate>Sun, 20 Mar 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/send-email-from-emacs/</guid>
      
        <description>Note : This post was originally written in org-mode. When I moved to hugo I &amp;ldquo;translated&amp;rdquo; in to markdown (via pandoc). That is why you see some TODO/DONE statuses below
 I have been meaning to setup emacs for email in general, but due to the size of my existing mailbox, setting up offlineimap (or mbsync for that matter) is a daunting task. I am sure I&#39;ll do that one day.</description>
      
    </item>
    
    <item>
      <title>(ya)snippet for header in org-mode blog post</title>
      <link>https://learnings.desipenguin.com/post/snippet-org-blog-header/</link>
      <pubDate>Fri, 11 Mar 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/snippet-org-blog-header/</guid>
      
        <description>I don&#39;t know how much sense does the title make. But I didn&#39;t know how else to express, plus (I) didn&#39;t want to wait to figure out the title
 As mentioned earlier, I am using nikola for this blog, and posts are in org-mode as much as possible.
For every post in nikola, I need to add meta data information like title, slug, date etc.
Initially I created first one by hand, and copy pasted from older posts.</description>
      
    </item>
    
    <item>
      <title>Inline Code block in ReST</title>
      <link>https://learnings.desipenguin.com/post/inline-code-block-in-rst/</link>
      <pubDate>Thu, 10 Mar 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/inline-code-block-in-rst/</guid>
      
        <description>TL;DR: use something like this: :code:`some text`
 I have been using org-mode for my blog posts lately. It provides all the mark-up I need. Some days ago, I needed to cross-link to one of my posts. nikola (the python based static site generator used to power this blog) has a option just for that. (Refer to this)
I tried to be smart, and used equivalent org notation, but it didn&#39;t work.</description>
      
    </item>
    
    <item>
      <title>writegood mode for emacs</title>
      <link>https://learnings.desipenguin.com/post/writegood-mode-for-emacs/</link>
      <pubDate>Thu, 10 Mar 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/writegood-mode-for-emacs/</guid>
      
        <description>Today I came across writegood-mode for emacs, on one of the reddit thread. I am not a writer, at least not in &amp;ldquo;writer of the prose&amp;rdquo; sense, nor is English my native language, so I thought it would help me improve my English/writing skills.
Installing it in spacemacs was as easy as adding writegood-mode in dotspacemacs-additional-packages and running SPC f e R
In order to test it, I used it on one of my older prose blog post.</description>
      
    </item>
    
    <item>
      <title>Mutation Tracking in SQLAlchemy</title>
      <link>https://learnings.desipenguin.com/post/mutation-tracking/</link>
      <pubDate>Thu, 03 Mar 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/mutation-tracking/</guid>
      
        <description>Mutation means change.
Mutation Tracking means ability to detect the change.
The term seemed very complex (to me) at first. But it isn&#39;t.
SQLAlchemy ORM depends on the ability to detect the change in the object so that it can commit it to the DB on session.commit()
It is important to understand that if the change is not detected, calling session.commit() won&#39;t help. (I think) It internally checks to see if anything is changed.</description>
      
    </item>
    
    <item>
      <title>Emacs for Writers : Part 2</title>
      <link>https://learnings.desipenguin.com/post/emacs-for-writers-2/</link>
      <pubDate>Tue, 09 Feb 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/emacs-for-writers-2/</guid>
      
        <description>Refer to Part 1 here
 Here are various other tricks Jay talks about, in his presentation.
org-bullets Makes pretty bullets in org-mode. spacemacs already comes with this package. No additional work needed. Off course, you can customize the bullets to your liking, but I am pretty happy with the defaults.
notmuch for emails Jay doesn&#39;t show notmuch but makes a comment about it. I looked at it, but I think my use case is bit different.</description>
      
    </item>
    
    <item>
      <title>Why did you speak ?</title>
      <link>https://learnings.desipenguin.com/post/why-did-you-speak/</link>
      <pubDate>Mon, 01 Feb 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/why-did-you-speak/</guid>
      
        <description>I came across this parable in the book, I am currently reading. It is a Marathi translation of Biography of J. P. Vaswani &amp;ldquo;Guru of None, Disciple of All&amp;rdquo;
Parable In one of the incarnation, Buddha was a prince, who did not speak. Everyone assumed he &amp;ldquo;could&amp;rdquo; not speak.
Years passed.
Once the prince was traveling thru the forest. He heard two birds &amp;ldquo;talk&amp;rdquo;. A hunter heard the sound, and immediately killed one of the birds.</description>
      
    </item>
    
    <item>
      <title>Emacs for Writers : Part 1</title>
      <link>https://learnings.desipenguin.com/post/emacs-for-writers-1/</link>
      <pubDate>Sun, 31 Jan 2016 03:02:05 +0530</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/emacs-for-writers-1/</guid>
      
        <description></description>
      
    </item>
    
    <item>
      <title>About</title>
      <link>https://learnings.desipenguin.com/about/</link>
      <pubDate>Wed, 20 Jan 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/about/</guid>
      
        <description>This blog started as a way to document (mainly for myself) things I learned. I listen to podcasts during my commute. It is a great way to make the (long?) commute enjoyable.
But the problem was that I could not take quick notes while driving. So I made a point to jot down whatever I could as soon as I reach the destination. At first I noted it down into evernote, and then formatted it for this blog.</description>
      
    </item>
    
    <item>
      <title>Using ForeignKey in Abstract Base Class (SQLAlchemy)</title>
      <link>https://learnings.desipenguin.com/post/fk_abstract_class_sqlalchemy/</link>
      <pubDate>Wed, 20 Jan 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/fk_abstract_class_sqlalchemy/</guid>
      
        <description>I was creating an abstract base class containing FK, like this :
1 2 3  class MyBase(Base): name = Column(String(30)) fk1 = Column(Integer, ForeignKey(&amp;#39;table1.id&amp;#39;))   but kept getting the error :
1 2  sqlalchemy.exc.InvalidRequestError: Columns with foreign keys to other columns must be declared as @declared_attr callables on declarative mixin classes.   Reading thru the docs was not helpful because the example used for @declared_attr is somewhat different</description>
      
    </item>
    
    <item>
      <title>KeePass on the Web (KeeWeb)</title>
      <link>https://learnings.desipenguin.com/post/keeweb/</link>
      <pubDate>Tue, 19 Jan 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/keeweb/</guid>
      
        <description>Why is this interesting to me ? Since LastPass was acquired. I switched to Dashlane, which seems good, but there is this nagging feeling that Dashlane might stop the free version, or something.
I had used KeePass long time ago. But the Problem is &amp;ldquo;syncing&amp;rdquo; KeePass Web solves (in theory) this problem by supporting Dropbox syncing &amp;ldquo;out of the box&amp;rdquo;. All I really need is backup.
If you are interested, you can download KeeWeb here</description>
      
    </item>
    
    <item>
      <title>How to define Primary Composite Key in SQLAlchemy</title>
      <link>https://learnings.desipenguin.com/post/composite-primary_key-in-sqlalchemy/</link>
      <pubDate>Mon, 18 Jan 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/composite-primary_key-in-sqlalchemy/</guid>
      
        <description>When using fully declared table metadata,use the primary_key=True flag on those columns:
1 2 3 4 5  class Dummy(Base): __tablename__ = &amp;#34;dummy&amp;#34; pk1 = Column(Integer, primary_key=True) pk2 = Column(String, primary_key=True)   This will create the following table (in postgres) :
testdb=&amp;gt; \d dummy; Table &amp;quot;public.dummy&amp;quot; Column | Type | Modifiers -------+-------------------+----------------------------------------------------- pk1 | integer | not null default nextval(&#39;dummy_pk1_seq&#39;::regclass) pk2 | character varying | not null Indexes: &amp;quot;dummy_pkey&amp;quot; PRIMARY KEY, btree (pk1, pk2)  See SQLAlchemy documentation</description>
      
    </item>
    
    <item>
      <title>Be Unreasonable</title>
      <link>https://learnings.desipenguin.com/post/be-unreasonable/</link>
      <pubDate>Thu, 14 Jan 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/be-unreasonable/</guid>
      
        <description>I came across this video by Robin Sharma (The author of great books like &amp;ldquo;The Monk who sold his Ferrari&amp;rdquo; and &amp;ldquo;The leader without title&amp;rdquo;)
It starts with the following quote :
 The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man.
George Bernard Shaw
 Robin goes on to suggest that you install 3 habits during the next 90 days, that set the tone for the next 12 months, so that 2016 can be your greatest year (Rather than a repeat of the last year)</description>
      
    </item>
    
    <item>
      <title>How did I &#34;recover&#34; from broken spacemacs ?</title>
      <link>https://learnings.desipenguin.com/post/recover-from-broken-spacemacs/</link>
      <pubDate>Fri, 01 Jan 2016 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/recover-from-broken-spacemacs/</guid>
      
        <description>OK, it wasn&#39;t really that bad, I could have easily &amp;ldquo;lived&amp;rdquo; with it.
Background While thinking of creating API documentation for my project, I first considered Markdown syntax (Later I selected ReST, since sphinx supports it better.)
I also wanted to keep the documentation in .org files. I was planning to export these .org files to .md , which I can commit to git. .md other users can edit, .org is very emacs specific.</description>
      
    </item>
    
    <item>
      <title>Maze Vs Labyrinth</title>
      <link>https://learnings.desipenguin.com/post/maze-vs-labyrinth/</link>
      <pubDate>Sat, 13 Jun 2015 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/maze-vs-labyrinth/</guid>
      
        <description>I had always considered them to be same (like many people do) but realized that they are different in important ways.
In the Book &amp;ldquo;A Whole New Mind&amp;rdquo;, Daniel Pink explains the difference between the two.
 Maze engage the left brain (Logical) as a puzzle to solve, while Labyrinth is a &amp;ldquo;moving Meditation&amp;rdquo; and thus &amp;ldquo;frees&amp;rdquo; the right brain. Objective of the maze is to escape, while Labyrinth are spiral walking course There are about 4000 public and private labyrinths in the United States labyrinths are showing up in hospitals and medical facilities  If you are interested to know more, this page has quite detailed explanation of the differences.</description>
      
    </item>
    
    <item>
      <title>Rust, Python Requests Library and Freakonomics</title>
      <link>https://learnings.desipenguin.com/post/rust-requests-freakonomics/</link>
      <pubDate>Mon, 25 May 2015 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/rust-requests-freakonomics/</guid>
      
        <description>May 21, 2015  Rust Language (The changelog)  safety without garbage collector single ownership model (so cleanup is easy) Transfer of ownership (permanent) or lending (temp) Owner is supposed to cleanup Better C++ C++ hackers can already do this stuff, but rust enables new/web programmers to systems programming cargo (package management) - all (ex) C++ programmers (who now use rust) now like this cargo - learn from other package managers like ruby, npm etc.</description>
      
    </item>
    
    <item>
      <title>Freakonomics, Curl and Tim Ferris</title>
      <link>https://learnings.desipenguin.com/post/freakonomics-curl-and-tim-ferris/</link>
      <pubDate>Sun, 17 May 2015 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/freakonomics-curl-and-tim-ferris/</guid>
      
        <description>May 14, 2015  James Altucher Show (Tim Ferriss experiment)  When division is shutdown, new management/owner will not take any decisions. If the decision results into &amp;ldquo;loss&amp;rdquo;, new management will be blamed for shutting down the project/division. If the decision results into &amp;ldquo;profit&amp;rdquo;, old management gets the credit So leave it in a limbo :(     May 15, 2015   How think like a Child (Freakonomics Radio)</description>
      
    </item>
    
    <item>
      <title>Go on Mobile, Pencil Pushups and Flask Sentinel</title>
      <link>https://learnings.desipenguin.com/post/go-on-mobile-pencil-pushups-and-flask-sentinel/</link>
      <pubDate>Sat, 25 Apr 2015 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/go-on-mobile-pencil-pushups-and-flask-sentinel/</guid>
      
        <description>April 22, 2015  The changelog podcast episode 148 : The state of Go in 2015  Go on Mobile - Seems like cool stuff  Andrew talks about move from Google code to Github(He isn&#39;t too happy)  Google code was going away (Internal projects had to move first) He explains why Gerrit is better than github &amp;ldquo;pull request&amp;rdquo; workflow Github doesn&#39;t support CLA When I worked on OpenStack for a short amount of time, I had signed CLA and used Gerrit.</description>
      
    </item>
    
    <item>
      <title>How to convert posterous blog to Markdown</title>
      <link>https://learnings.desipenguin.com/post/posterous-to-markdown/</link>
      <pubDate>Tue, 23 Apr 2013 00:00:00 +0000</pubDate>
      
      <guid>https://learnings.desipenguin.com/post/posterous-to-markdown/</guid>
      
        <description>&lt;p&gt;This post is here for archival purpose, it is about how I moved my posterous blogs.&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss>
