<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5658025786358089849</id><updated>2021-01-21T14:20:50.446+05:30</updated><category term="Thoughts"/><category term="Self Leadership"/><category term="Thinking"/><category term="Leadership"/><category term="Personal Effectiveness"/><category term="Aspiration"/><category term="Software"/><category term="Critical Thinking"/><category term="Technical"/><category term="Leadership 101"/><category term="Experience"/><category term="General"/><category term="Tiny Thoughts"/><category term="Programming"/><category term="OpenGyan"/><category term="Technology"/><category term="Workshop"/><category term="Java"/><category term="Business"/><category term="Python"/><category term="Life"/><category term="Python Super Star"/><category term="How-To-Tag-It"/><category term="Puzzle"/><category term="Design Pattern"/><category term="Running - The Passion"/><category term="Transformation"/><category term="Book Review"/><category term="Design Principles"/><category term="Design for Fun"/><category term="Linux"/><category term="Social Responsibility"/><category term="Change"/><category term="Learning"/><category term="OOPS"/><category term="Review"/><category term="Books"/><category term="Gung Ho"/><category term="Update"/><category term="Objectville"/><category term="Tools"/><category term="Asking Questions"/><category term="Inspiration"/><category term="Psychology"/><category term="System Thinking"/><category term="News"/><category term="Common Sense"/><category term="Conference"/><category term="Featured Post"/><category term="Open Source"/><category term="Switch"/><category term="FOSS"/><category term="Python Crash Course"/><category term="Software Puzzle"/><category term="Creativity"/><category term="Decision Making"/><category term="Finance"/><category term="Learning_Python"/><category term="Life Lessons"/><category term="Management"/><category term="Reading Journal"/><category term="Security"/><category term="Self"/><category term="Signals"/><category term="System Programming"/><category term="Algorithm"/><category term="Architecture"/><category term="DS-Algo-Math"/><category term="Emotional Intelligence"/><category term="Entrepreneurship"/><category term="Programming Languages"/><category term="Projects"/><category term="Questions?"/><category term="Students Corner"/><category term="Brain"/><category term="DIY"/><category term="Get-Set-Go"/><category term="Innovation"/><category term="Labels: Aspiration"/><category term="Open Gyan"/><category term="Process Management"/><category term="Stock Market"/><category term="Strategy"/><category term="Unix"/><category term="Cloud Computing"/><category term="Decision"/><category term="Emma"/><category term="Fitness"/><category term="Investing"/><category term="Portal"/><category term="Software Development"/><category term="Talks"/><category term="Universe"/><category term="Work"/><category term="Communication"/><category term="Discrete Mathematics"/><category term="Environment"/><category term="Functional Programming"/><category term="India"/><category term="Irritation"/><category term="Learn_Everyday"/><category term="Linux Programming Tutorial"/><category term="NP-Unix"/><category term="Networking"/><category term="Organizational Effectiveness"/><category term="Passion"/><category term="Role Model"/><category term="Servant Leadership"/><category term="Tutorial"/><category term="Video"/><category term="Abstraction"/><category term="Automated Tests"/><category term="Blogging"/><category term="Coding"/><category term="Community"/><category term="Computer Science"/><category term="Economy"/><category term="Engineering Management"/><category term="Events"/><category term="Feedback"/><category term="Feelings"/><category term="Freedom"/><category term="Giving Back"/><category term="God At Earth"/><category term="Guava"/><category term="Guest Post"/><category term="Haskell"/><category term="Hotswap"/><category term="IT"/><category term="Immersion"/><category term="Javascript"/><category term="Just Like That"/><category term="Lifestyle"/><category term="Mentoring"/><category term="NQ"/><category term="Nerd-Post"/><category term="Object Thinking"/><category term="Outsourcing"/><category term="PLP"/><category term="PLP_CYU"/><category term="PLP_Chapter1"/><category term="Perception Profiling"/><category term="Presentation"/><category term="Problem Solving"/><category term="Project Management"/><category term="Random Thoughts"/><category term="Realization"/><category term="Software Testing"/><category term="Solid Code"/><category term="Stars"/><category term="Systems"/><category term="Tutorials"/><category term="Virtualization"/><category term="Well Being"/><category term="Widget"/><category term="About Me"/><category term="Alien"/><category term="Astronomy"/><category term="Awesome"/><category term="Bias"/><category term="Blackboard"/><category term="Bliss"/><category term="Boiler Plate"/><category term="Book"/><category term="Bytecode"/><category term="CSS"/><category term="CT-Scenario"/><category term="Career"/><category term="CfF"/><category term="Charisma"/><category term="Chennai Flood"/><category term="Choices"/><category term="Classical"/><category term="Cloud"/><category term="Cloud Native"/><category term="Compilers"/><category term="Components"/><category term="Cool Stuff"/><category term="Coursera"/><category term="Current Affairs"/><category term="Data"/><category term="Data Structure"/><category term="Disclaimer"/><category term="Donation"/><category term="Earth-like"/><category term="Email"/><category term="Email Subscription"/><category term="Email Subscription Pop-up"/><category term="Excellence"/><category term="Fallacy"/><category term="Follower"/><category term="Future"/><category term="GIT"/><category term="Generalization"/><category term="Get PMP"/><category term="Gliese 581"/><category term="Go"/><category term="Go Super Star"/><category term="Go in Action"/><category term="Goal"/><category term="Google"/><category term="Grid Computing"/><category term="Gyan"/><category term="HTML"/><category term="Health"/><category term="Hiring"/><category term="Infosec"/><category term="Interactive-Tutorials"/><category term="Internet"/><category term="Internship"/><category term="Interview"/><category term="Interviewer"/><category term="Lectures"/><category term="Logic"/><category term="Mindset"/><category term="Music"/><category term="Mutual Fund"/><category term="Non-Sense"/><category term="Not a Rocket Science"/><category term="Object Oriented Programming"/><category term="Peace"/><category term="Pen Test"/><category term="Perceptions"/><category term="Personal"/><category term="Philosophy"/><category term="Physics"/><category term="Post"/><category term="Power of 10 Percent"/><category term="Practice"/><category term="Preventing Cancer"/><category term="Process Monitoring"/><category term="Quality"/><category term="Rants"/><category term="Reading"/><category term="Reboot"/><category term="Recruitment"/><category term="Relief"/><category term="Religion"/><category term="Rights"/><category term="Sacrifice"/><category term="Scala"/><category term="Scenario Planning"/><category term="Science"/><category term="Short-Term Trading"/><category term="Skillset"/><category term="Solutions"/><category term="Spread-a-word"/><category term="Sunshine"/><category term="TED"/><category term="Teaching"/><category term="Technical Interview"/><category term="Thank You"/><category term="Tourism"/><category term="Trading"/><category term="Truth"/><category term="Ubuntu"/><category term="Unit"/><category term="Unit Testing"/><category term="Unstuck Board"/><category term="Upskill"/><category term="User Experience"/><category term="Version Control"/><category term="Visualization"/><category term="WOW"/><category term="Web Application"/><category term="WebAppSec"/><category term="Who Am I"/><category term="Zen"/><category term="jQuery"/><title type='text'>Unstuck</title><subtitle type='html'>&amp;lt; Freedom to Think, Act and Elevate /&amp;gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>514</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-6123501094890291424</id><published>2019-06-18T07:17:00.001+05:30</published><updated>2019-06-18T10:36:36.865+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Coding"/><category scheme="http://www.blogger.com/atom/ns#" term="Data Structure"/><category scheme="http://www.blogger.com/atom/ns#" term="Learn_Everyday"/><category scheme="http://www.blogger.com/atom/ns#" term="Learning"/><category scheme="http://www.blogger.com/atom/ns#" term="Learning_Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Technical"/><title type='text'>Hashmaps - Python</title><content type='html'>It has been a while that I wrote some code. Been learning Python using Udemy for some time. Python is truly expressive and batteries included language. I read about Hashmaps and thought I should give it a try. Within a very short duration (say 1 hour), I was kind of able to complete full hashmap implementation along with basic tests using PyTest. My coding screenshots. You can also check out my &lt;a href=&quot;https://github.com/lnarasim/geekshub_python_bootcamp/blob/gh-pages/class_exercises/hashmap.ipynb&quot; target=&quot;_blank&quot;&gt;GitHub (that has Jupyter notebook file)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-g_DoNSQqdJA/XQhBVyJtghI/AAAAAAAAF4M/v9Ra0vTtp34uaUvztYODS1m1dgcsj1i9ACLcBGAs/s1600/hashmap_1.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;777&quot; data-original-width=&quot;1217&quot; height=&quot;204&quot; src=&quot;https://1.bp.blogspot.com/-g_DoNSQqdJA/XQhBVyJtghI/AAAAAAAAF4M/v9Ra0vTtp34uaUvztYODS1m1dgcsj1i9ACLcBGAs/s320/hashmap_1.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-kJZfVFlxJrk/XQhBWVeEB-I/AAAAAAAAF4Q/XQtBNNnzyMojQDa2M8XocCcFFBxF__y8wCLcBGAs/s1600/hashmap_2.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;868&quot; data-original-width=&quot;1209&quot; height=&quot;229&quot; src=&quot;https://1.bp.blogspot.com/-kJZfVFlxJrk/XQhBWVeEB-I/AAAAAAAAF4Q/XQtBNNnzyMojQDa2M8XocCcFFBxF__y8wCLcBGAs/s320/hashmap_2.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-spEAY_6rVfE/XQhBV9_VRkI/AAAAAAAAF4I/DxwC_TvCp8gyolh7Z05UFAW9KZjS4m5TACLcBGAs/s1600/hashmap_3.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;788&quot; data-original-width=&quot;1213&quot; height=&quot;207&quot; src=&quot;https://1.bp.blogspot.com/-spEAY_6rVfE/XQhBV9_VRkI/AAAAAAAAF4I/DxwC_TvCp8gyolh7Z05UFAW9KZjS4m5TACLcBGAs/s320/hashmap_3.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-o9BQyxjgCCo/XQhBWosGXuI/AAAAAAAAF4U/IU44Oq_OaYEX6C4xX62bysTG0D04CroMgCLcBGAs/s1600/hashmap_4.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;524&quot; data-original-width=&quot;1219&quot; height=&quot;137&quot; src=&quot;https://1.bp.blogspot.com/-o9BQyxjgCCo/XQhBWosGXuI/AAAAAAAAF4U/IU44Oq_OaYEX6C4xX62bysTG0D04CroMgCLcBGAs/s320/hashmap_4.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-2vDFMPcuI70/XQhBWwoUr7I/AAAAAAAAF4Y/kfmuXSOtqSg2ErcEy3Nw-UiDfdaWLNrvwCLcBGAs/s1600/hashmap_5.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;470&quot; data-original-width=&quot;1216&quot; height=&quot;123&quot; src=&quot;https://1.bp.blogspot.com/-2vDFMPcuI70/XQhBWwoUr7I/AAAAAAAAF4Y/kfmuXSOtqSg2ErcEy3Nw-UiDfdaWLNrvwCLcBGAs/s320/hashmap_5.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-sAUUqCvbdDg/XQhBXGx1c6I/AAAAAAAAF4c/3EKsy_T0uzgo3sUUkAfLUIhloNq4mIXMgCLcBGAs/s1600/hashmap_6.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;458&quot; data-original-width=&quot;1217&quot; height=&quot;120&quot; src=&quot;https://1.bp.blogspot.com/-sAUUqCvbdDg/XQhBXGx1c6I/AAAAAAAAF4c/3EKsy_T0uzgo3sUUkAfLUIhloNq4mIXMgCLcBGAs/s320/hashmap_6.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-Z6pSCb0T5dQ/XQhBXodgkvI/AAAAAAAAF4g/IxffNJPMwBk9mDDJuYo35-XtRPkVF75xgCLcBGAs/s1600/hashmap_7.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;519&quot; data-original-width=&quot;1216&quot; height=&quot;136&quot; src=&quot;https://1.bp.blogspot.com/-Z6pSCb0T5dQ/XQhBXodgkvI/AAAAAAAAF4g/IxffNJPMwBk9mDDJuYo35-XtRPkVF75xgCLcBGAs/s320/hashmap_7.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-XrWVvaVwTM8/XQhBXpT9D6I/AAAAAAAAF4k/e8a9ey0f7ZQvxc2PIq3QcKCAsQ13L1_1ACLcBGAs/s1600/hashmap_8.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;662&quot; data-original-width=&quot;1220&quot; height=&quot;173&quot; src=&quot;https://1.bp.blogspot.com/-XrWVvaVwTM8/XQhBXpT9D6I/AAAAAAAAF4k/e8a9ey0f7ZQvxc2PIq3QcKCAsQ13L1_1ACLcBGAs/s320/hashmap_8.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-D8U1Qcy3qA0/XQhBYBHvH9I/AAAAAAAAF4o/P2wy4b20n8wIu7tH2w2sN5XQ-Bd_j30ZwCLcBGAs/s1600/hashmap_9.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;601&quot; data-original-width=&quot;1218&quot; height=&quot;157&quot; src=&quot;https://1.bp.blogspot.com/-D8U1Qcy3qA0/XQhBYBHvH9I/AAAAAAAAF4o/P2wy4b20n8wIu7tH2w2sN5XQ-Bd_j30ZwCLcBGAs/s320/hashmap_9.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/6123501094890291424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=6123501094890291424&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/6123501094890291424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/6123501094890291424'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2019/06/hashmaps-python.html' title='Hashmaps - Python'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-g_DoNSQqdJA/XQhBVyJtghI/AAAAAAAAF4M/v9Ra0vTtp34uaUvztYODS1m1dgcsj1i9ACLcBGAs/s72-c/hashmap_1.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-1358208978530513398</id><published>2019-06-05T10:32:00.003+05:30</published><updated>2019-06-05T10:32:54.422+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="Cloud Native"/><category scheme="http://www.blogger.com/atom/ns#" term="Coding"/><category scheme="http://www.blogger.com/atom/ns#" term="Data"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Visualization"/><title type='text'>Visualization in Python - Case Study: Urban Accidents in India</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;I was reading a news item related to accidents and wanted to explore more. With a bit of search, I landed in &lt;a href=&quot;https://data.gov.in/&quot; target=&quot;_blank&quot;&gt;Govt of India Data website&lt;/a&gt;. The website had so much data and visualization in different industries/areas. With another double down, I managed to download the data for Urban accidents in all Indian states.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;With a couple of hours of staring at the data and coding, managed to pull out the following charts. The data had absolute numbers for each state and I had come up with a ranking on the following KPIs (had to download population data from Wikipedia according to 2011 census report)&lt;/div&gt;&lt;br /&gt;&lt;ol&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Number of urban accidents&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Percentage of accidents with a weighted urban population&lt;/li&gt;&lt;/ol&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Feedback loop: Data -&amp;gt; Information -&amp;gt; Insights -&amp;gt; Business Transformation&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Tools Used:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Python (no Numpy or anything else)&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Matplotlib for visualization&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Jupyter to cook Python code quickly&lt;/li&gt;&lt;/ol&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Source code and visualization can be found in my&amp;nbsp;&lt;a href=&quot;https://github.com/lnarasim/geekshub_python_bootcamp/blob/gh-pages/mini-projects/urban_accidents/Urban_accidents_India_Data_graphs.ipynb&quot; target=&quot;_blank&quot;&gt;github repo&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Questions:&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;ol&gt;&lt;li&gt;Why GA has more accidents than TN? (why??)&lt;/li&gt;&lt;li&gt;Why HP has more accidents than PY? (terrain?)&lt;/li&gt;&lt;li&gt;What can be done to minimize accidents?&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Visit &lt;a href=&quot;http://www.geekshub.in/&quot;&gt;www.geekshub.in&lt;/a&gt; to know more and learn more on Python/Go/Cloud/Cloud Native/Javascript&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/1358208978530513398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=1358208978530513398&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/1358208978530513398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/1358208978530513398'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2019/06/visualization-in-python-case-study.html' title='Visualization in Python - Case Study: Urban Accidents in India'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-9165827158702002593</id><published>2019-04-15T10:05:00.001+05:30</published><updated>2019-04-15T10:05:25.908+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Blogging"/><category scheme="http://www.blogger.com/atom/ns#" term="Career"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><category scheme="http://www.blogger.com/atom/ns#" term="Transformation"/><title type='text'>GeeksHub</title><content type='html'>As some of you know that I used to do the mentoring of students to improve their employability at a personal capacity. I thought I should give a formal structure to it as I continue to create impact. We are seeing career transformation and the time is just right.&lt;br /&gt;&lt;br /&gt;I am merging my contributions in mentoring through GeeksHub, where I will be serving as an advisor. GeeksHub is an upskilling company primarily targeting entry and mid-level software engineer to improve their hard skills (coding, technology and related). You can find more about them &lt;a href=&quot;http://www.geekshub.in/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I will continue to use this blog for technical/technology discussions and others related to technology. I will refrain posting general stuff related to life (but you never know)&lt;br /&gt;&lt;br /&gt;More on &lt;a href=&quot;http://www.geekshub.in/&quot; target=&quot;_blank&quot;&gt;GeeksHub&lt;/a&gt; in next post :-)</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/9165827158702002593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=9165827158702002593&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/9165827158702002593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/9165827158702002593'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2019/04/geekshub.html' title='GeeksHub'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total><georss:featurename>Chennai, Tamil Nadu, India</georss:featurename><georss:point>13.0826802 80.270718400000078</georss:point><georss:box>12.5876862 79.625271400000074 13.5776742 80.916165400000082</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-989074254709754422</id><published>2019-02-14T17:35:00.000+05:30</published><updated>2019-02-14T17:35:59.028+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Learn_Everyday"/><category scheme="http://www.blogger.com/atom/ns#" term="Mentoring"/><category scheme="http://www.blogger.com/atom/ns#" term="Passion"/><title type='text'>Attitude to Learn</title><content type='html'>&lt;span style=&quot;background: 0px 0px rgb(255, 255, 255); border: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.75); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;A new thing resets competency and level sets the competition. People sitting near the fence waiting for &quot;right time&quot; to jump in and take a dip often end up being a latecomer and take up what is leftover. &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background: 0px 0px rgb(255, 255, 255); border: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.75); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;background: 0px 0px rgb(255, 255, 255); border: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.75); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;There is a clear advantage of being a lifelong student. Learning pays linearly, the attitude of constant learning pays exponentially.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.749019607843137); font-family: -apple-system, system-ui, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Fira Sans, Ubuntu, Oxygen, Oxygen Sans, Cantarell, Droid Sans, Apple Color Emoji, Segoe UI Emoji, Segoe UI Emoji, Segoe UI Symbol, Lucida Grande, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: rgba(0, 0, 0, 0.749019607843137); font-family: -apple-system, system-ui, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Fira Sans, Ubuntu, Oxygen, Oxygen Sans, Cantarell, Droid Sans, Apple Color Emoji, Segoe UI Emoji, Segoe UI Emoji, Segoe UI Symbol, Lucida Grande, Helvetica, Arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px; white-space: pre-wrap;&quot;&gt;Agree?&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background: 0px 0px rgb(255, 255, 255); border: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.75); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;&lt;a class=&quot;hashtag-link ember-view&quot; data-control-name=&quot;update_hashtag&quot; href=&quot;https://www.linkedin.com/feed/hashtag/?keywords=%23passion&quot; id=&quot;ember12097&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px 0px; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; font-weight: 600; line-height: inherit !important; margin: 0px; padding: 0px; text-decoration-line: none; touch-action: manipulation; vertical-align: baseline;&quot; target=&quot;_self&quot;&gt;&lt;span class=&quot;hashtag-a11y ember-view&quot; dir=&quot;ltr&quot; id=&quot;ember12098&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; line-height: inherit !important; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;visually-hidden&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; clip: rect(0px, 0px, 0px, 0px); display: inline !important; height: 1px; line-height: inherit !important; margin: -1px; outline: 0px; overflow: hidden; padding: 0px; position: absolute; user-select: none; vertical-align: baseline; white-space: nowrap; width: 1px;&quot;&gt;hashtag&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;a class=&quot;hashtag-link ember-view&quot; data-control-name=&quot;update_hashtag&quot; href=&quot;https://www.linkedin.com/feed/hashtag/?keywords=%23passion&quot; id=&quot;ember12097&quot; style=&quot;background: 0px 0px rgb(255, 255, 255); border: 0px; box-sizing: inherit; font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; font-weight: 600; line-height: inherit !important; margin: 0px; padding: 0px; text-decoration-line: none; touch-action: manipulation; vertical-align: baseline; white-space: pre-wrap;&quot; target=&quot;_self&quot;&gt;&lt;span class=&quot;hashtag-a11y ember-view&quot; dir=&quot;ltr&quot; id=&quot;ember12098&quot; style=&quot;background: 0px 0px; border: 0px; box-sizing: inherit; line-height: inherit !important; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/989074254709754422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=989074254709754422&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/989074254709754422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/989074254709754422'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2019/02/attitude-to-learn.html' title='Attitude to Learn'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-8050194110156750318</id><published>2018-10-16T07:26:00.000+05:30</published><updated>2018-10-16T07:27:56.144+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Automated Tests"/><category scheme="http://www.blogger.com/atom/ns#" term="Software Development"/><category scheme="http://www.blogger.com/atom/ns#" term="System Thinking"/><category scheme="http://www.blogger.com/atom/ns#" term="Systems"/><title type='text'>Master, Expert and Machine</title><content type='html'>To build something new, you need a master. To improvise something that is built, you need an expert. To run something that is already built/improved, you need a machine&lt;br /&gt;&lt;br /&gt;The points are:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;To build a software you need a master, to sustain it you need an expert and to operate it, you need a machine.&lt;/li&gt;&lt;li&gt;To build quality you need a master, to improve it you need an expert and to just regress the past, you need a machine&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;These are phases and need not be necessary done by different people. The skills required diminishes as we traverse the phases (so are complexity)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Build -&amp;gt; Sustain -&amp;gt; Run &lt;b&gt;requires&lt;/b&gt; Master -&amp;gt; Expert -&amp;gt; Machine&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/8050194110156750318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=8050194110156750318&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/8050194110156750318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/8050194110156750318'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2018/10/master-expert-and-machine.html' title='Master, Expert and Machine'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-4145710929264758434</id><published>2018-10-08T14:38:00.000+05:30</published><updated>2018-10-08T14:42:11.432+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Common Sense"/><category scheme="http://www.blogger.com/atom/ns#" term="Future"/><category scheme="http://www.blogger.com/atom/ns#" term="Mindset"/><category scheme="http://www.blogger.com/atom/ns#" term="Passion"/><category scheme="http://www.blogger.com/atom/ns#" term="Skillset"/><category scheme="http://www.blogger.com/atom/ns#" term="Upskill"/><title type='text'>Upskilling is the mantra</title><content type='html'>The future needs a functional guy – someone who sees the customer and her pains.&lt;br /&gt;&lt;br /&gt;DevOps is more than set of tools, a framework to add business value and reduce customer pain. Someone who can respond to pain like a doctor in emergency not just taking a note of the situation.&lt;br /&gt;&lt;br /&gt;Cloud developer is not just a developer. The fast paced world needs him to be everything. He needs to be “Agile” – groom his stories, make an initiative to understand the business requirements, develop them into a piece of functionality, test them, automate them so that it cries when something is broken, document everything that needs to be and act on the feedback. Be a positive feedback machine.&lt;br /&gt;&lt;br /&gt;I don’t want to be a dev guy and I don’t want to be a test/automate. There is no space for someone who wants to sit in dev or test and just do what he is skilled at. The newer world needs someone who gets excited to jump on the unknown and gets the hands dirty and quickly build expertise (just what is needed).&lt;br /&gt;&lt;br /&gt;Overall, an outcome based, customer focused tribe capable of scaling horizontally and vertically over a period of time.&lt;br /&gt;&lt;br /&gt;Upskill is more of mindset than a skillset&lt;br /&gt;&lt;br /&gt;So, Upskilling is the mantra</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/4145710929264758434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=4145710929264758434&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/4145710929264758434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/4145710929264758434'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2018/10/upskilling-is-mantra.html' title='Upskilling is the mantra'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-1178967357463609100</id><published>2018-01-10T11:30:00.000+05:30</published><updated>2018-01-13T18:17:58.778+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Go"/><category scheme="http://www.blogger.com/atom/ns#" term="Go in Action"/><category scheme="http://www.blogger.com/atom/ns#" term="Go Super Star"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Reading Journal"/><category scheme="http://www.blogger.com/atom/ns#" term="Technical"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Get, Set, GOLANG</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;[Reading Time: 3 to 5 minutes]&lt;br /&gt;&lt;br /&gt;[Edited] Reposting this as i have decided to change the book.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Looks like programming languages are sweeping the internet today. Ever since the programming languages&amp;nbsp;were introduced, the pace of new languages&amp;nbsp;was rising gradually. Today, we are seeing a higher pace of several new and promising languages. Python and Go seem to take up cloud software development quite strongly. Python has been around for a lot of time. Go seems to pick up - offering ease of development comparable to languages like Python and giving a speed of execution of that of C/C++. From now and for next few months, I have to ride two horses - learning both Python and Go. I have to admit that I cannot put off my temptation (which I kept off for last three months).&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: right; text-align: right;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://www.manning.com/books/go-in-action&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; display: inline; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot; target=&quot;blank&quot;&gt;&lt;img alt=&quot;Go in Action by William Kennedy&quot; border=&quot;0&quot; data-original-height=&quot;499&quot; data-original-width=&quot;381&quot; height=&quot;200&quot; src=&quot;https://3.bp.blogspot.com/-c_znZCahqCo/WlWBwMT0orI/AAAAAAAAFPc/r_fw9SHWxCEqj--yKZlunVDOM5peA9xXQCLcBGAs/s200/go_in_action.jpg&quot; title=&quot;Go in Action by William Kennedy&quot; width=&quot;159&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Go in Action by William Kennedy&lt;br /&gt;and Others&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Similar to Python, my goal is to become fluent in Go. I am not sure of the timeline but I do see a compelling need to be good in Go in near future. I would like to take up this self-learning of Go by reading books and trying out exercises in GitHub. Having decided to learn Go, I was searching the internet for where to start. There are several good books out there. Go in Action is one among them which was highly recommended in a couple of forums. Being decent sized book (not too small or not too big) and based on my first impression after reading the table of contents, I feel that it would provide a good start in my journey.&lt;br /&gt;&lt;br /&gt;It consists of 9 chapters (270 pages). The chapters are said to be designed in such a way that an intermediate programmer can get best out of it (the audience the folks with some programming experience but new to Go, so no boring stuff). This is a quite a promise to keep up. I am excited to ride two horses.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Let us see how it goes. I am excited to&amp;nbsp;learn Go and share my reading journal with you on Go :-)&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;There is another language that is creating so much noise - &lt;a href=&quot;https://www.rust-lang.org/en-US/&quot; target=&quot;_blank&quot;&gt;Rust&lt;/a&gt;. Check it out. If you are a C guy, you have to watch out &lt;a href=&quot;https://www.rust-lang.org/en-US/&quot; target=&quot;_blank&quot;&gt;Rust&lt;/a&gt;&amp;nbsp;(hoping that I will not jump the gun in learning Rust)&lt;br /&gt;&lt;br /&gt;Note 1: You will see &quot;Reading Time&quot; in all my posts. I want to alert you how much time you are likely to invest reading my posts so that you can decide when and whether to read the post.&lt;br /&gt;Note 2: My goal is to keep it short and give you links in every page to read posts relevant each post&lt;br /&gt;&lt;br /&gt;&lt;b&gt;[Update after reading first chapter and reading the second chapter after half way through]&lt;/b&gt;&lt;br /&gt;Looks to me that Go In Action has taken the learning in a different perspective and I am certainly feeling little tired to get past each sections. Somehow, I feel this should not be my first book on Go and I am going to switch to another book - which probably offers step by step in small increments.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/1178967357463609100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=1178967357463609100&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/1178967357463609100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/1178967357463609100'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2018/01/get-set-golang.html' title='Get, Set, GOLANG'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://3.bp.blogspot.com/-c_znZCahqCo/WlWBwMT0orI/AAAAAAAAFPc/r_fw9SHWxCEqj--yKZlunVDOM5peA9xXQCLcBGAs/s72-c/go_in_action.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-3611768310043163739</id><published>2018-01-09T13:49:00.000+05:30</published><updated>2018-01-09T13:49:46.268+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Automated Tests"/><category scheme="http://www.blogger.com/atom/ns#" term="Components"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Quality"/><category scheme="http://www.blogger.com/atom/ns#" term="Software Development"/><category scheme="http://www.blogger.com/atom/ns#" term="Systems"/><category scheme="http://www.blogger.com/atom/ns#" term="Unit"/><category scheme="http://www.blogger.com/atom/ns#" term="Unit Testing"/><title type='text'>Unit Tests - Are they important?</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;While I was going through some of the projects in GitHub, I found that almost all the projects have automated unit tests (I hope you will also see many of your projects have that. These days it is quite common to start off by writing tests first). These tests are run most of the times - before every commit, after every commit, nightly tests and at various stages. These tests are a critical and important piece in CI/CD. Tests, in general, are the cornerstone to software development. The tests are proof that the specific part of the software is working &lt;u&gt;&lt;b&gt;correctly&lt;/b&gt; &lt;/u&gt;and &lt;u&gt;&lt;b&gt;consistently&lt;/b&gt;&lt;/u&gt;.&amp;nbsp; In this post, I am going to talk about unit testing and in subsequent posts show some examples (in Python but you can find similar tools in other modern languages)&lt;br /&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-EFEwNquS4Q8/Wkn5mj9qJmI/AAAAAAAAFO8/qapuyumLwYkrHJ7nuh1lKTyw_1r7S-ZtgCLcBGAs/s1600/bricks-testing-service-250x250.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;187&quot; data-original-width=&quot;250&quot; height=&quot;149&quot; src=&quot;https://3.bp.blogspot.com/-EFEwNquS4Q8/Wkn5mj9qJmI/AAAAAAAAFO8/qapuyumLwYkrHJ7nuh1lKTyw_1r7S-ZtgCLcBGAs/s200/bricks-testing-service-250x250.jpg&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;What is testing?&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;It is the systematic exploration of the subject and verifying all the aspects of the subject is intact. It is the philosophy that a faulty brick is responsible for bringing down a massive building. The main purpose of testing is building quality (correctness and consistency) and the side effect is &quot;defects&quot;.&amp;nbsp;&lt;/div&gt;&lt;ol&gt;&lt;/ol&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;What is a test case?&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;A test case is a scenario which ensures that a certain aspect of the subject works as intended (or does not work which becomes a defect). When you change the condition, it is altogether a different scenario. A test case with the correct result is the proof that the system works fine in a specific scenario. A test case is narrow (in the sense that it verifies only a specific part/function), to the point and repeatable. It is concrete, it improves confidence and it builds quality.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Top-down approach&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;When you test a bigger piece, it is often challenging to find out the boundary of the piece. As you explore, you tend to get a feeling that the bigger piece is expanding as you explore (and often never-ending as you come to know more about the system). It quickly gets out of control. The top-down&amp;nbsp;approach (knowing the bigger system first and then decomposing it further, keep working on it until you come to a unit) is time-consuming and tedious to do in all situations (someone fixing a small bug needs to communicate why she has fixed that brick), and delaying the validation of a unit until bigger piece is built is ineffective.&amp;nbsp; The top-down approach should focus on the problem domain and wider aspects/functions much at a higher level.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Bottom-up Approach&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;This is not to say that top-down approach is wrong. Rather the top down is not sufficient or it is sufficient but fixing it when the system is developed fully is going to hurt the product in many ways (very likely). It needs to be complemented by the bottom-up approach. Write your &quot;unit of code&quot; and while you are writing your &quot;unit of code&quot;, write your own tests. It is even better if someone writes unit test code for your unit of code. The top-down and bottom-up are two different perspectives of the same system (the first perspective is &lt;b&gt;&lt;u&gt;system&lt;/u&gt;&lt;/b&gt; has components and the second perspective is the &lt;b&gt;&lt;u&gt;components&lt;/u&gt;&lt;/b&gt; make the system)&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;What is a unit of code and unit testing?&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;This is a very vague term, often confusing and means different things to different people. We can consider a unit of code as &quot;smallest possible amount of code that can be tested&quot;. You can call a function as the unit (like the ones that we are going to see tomorrow) but then the entire main() function where your application runs is too big to be called the unit of code. So, apply your mind when deciding how smaller or bigger is the unit of code.&lt;br /&gt;&lt;br /&gt;A unit test is a scenario (setup, input, output, validation, cleanup, and reporting). Each unit test will have certain environment&amp;nbsp;or conditions that are assumed to be present, input values, output returned, the validation that proves that the test is passed or failed, cleanup and finally last but not least reporting the success or failure.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt; &lt;b&gt;When the unit test suites/cases can be run?&lt;/b&gt;&lt;br /&gt;It is an absolute must that a developer writes unit tests before she writes production code. It is the test code that is to be written first and runs or at least while you are writing your code (writing test code after you commit your code is the biggest sin that you can do to your code). The idea is to break the software and keep fixing it. With that philosophy, it is a critical piece in software development. The unit tests have to be run successfully during the development stage (numerous stages and numerous times), before the code is committed, after the commit and nightly builds.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt; &lt;b&gt;Why automated unit tests?&lt;/b&gt;&lt;br /&gt;If you look at the above point, it stresses the importance of running them all the times. So, it becomes easier (and productive too) to write/automate once and run millions of times throughout the life of the product. So prefer automated unit tests over manual.&lt;br /&gt;&lt;br /&gt;In the above analogy, unit tests are certainly examining each and every brick that they are good. The other forms are testing ensures that the joints between bricks are correct, the walls are correct, all the room comply with the requirements and overall the building is a masterpiece.&lt;br /&gt;&lt;br /&gt;In the next post, we will start off with a simple example, learn the trades of unit testing and learn Python&#39;s built-in &quot;unittest&quot; module.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/3611768310043163739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=3611768310043163739&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/3611768310043163739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/3611768310043163739'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2018/01/unit-tests-are-they-important.html' title='Unit Tests - Are they important?'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://3.bp.blogspot.com/-EFEwNquS4Q8/Wkn5mj9qJmI/AAAAAAAAFO8/qapuyumLwYkrHJ7nuh1lKTyw_1r7S-ZtgCLcBGAs/s72-c/bricks-testing-service-250x250.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-1540423071014005637</id><published>2018-01-07T21:06:00.000+05:30</published><updated>2018-01-07T21:24:52.260+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Learning_Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Python Super Star"/><category scheme="http://www.blogger.com/atom/ns#" term="Reading Journal"/><category scheme="http://www.blogger.com/atom/ns#" term="Technical"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>&quot;Learning Python by Mark Lutz&quot; - Reading Journal 6 [Chapter 10, Chapter 11 and Chapter 12]</title><content type='html'>&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: right; margin-left: 1em; text-align: right;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://shop.oreilly.com/product/0636920028154.do&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; display: inline; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot; target=&quot;blank&quot;&gt;&lt;img alt=&quot;Learning Python by Mark Lutz Fifth Edition&quot; border=&quot;0&quot; data-original-height=&quot;499&quot; data-original-width=&quot;381&quot; height=&quot;200&quot; src=&quot;https://1.bp.blogspot.com/-a6AqJ9oqnhg/WjzHNgfr1oI/AAAAAAAAFJc/Wp6HhxN3sVkRATXHv4q1o-lk1ZUm4kWZACPcBGAYYCw/s200/learning_python.jpg&quot; title=&quot;Learning Python by Mark Lutz Fifth Edition&quot; width=&quot;151&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Learning Python by Mark Lutz&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Like me, if you are new to Python and want to ramp-up to become no non-sense developer in Python,&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://unstuck.grabyourfreedom.in/search/label/Python%20Super%20Star&quot; style=&quot;text-align: justify;&quot; target=&quot;_blank&quot;&gt;you might want to read these posts&lt;/a&gt;&amp;nbsp;(and if you are prepared to take up the tough path of mastering the language)&lt;span style=&quot;text-align: justify;&quot;&gt;. The post like this is my experience - the journey that is little longer but interesting, thought-provoking and rewarding.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style=&quot;text-align: justify;&quot;&gt;For next few months, I would be posting my experiences with Python more specifically the learning I am going through from the book - &quot;&lt;/span&gt;&lt;a href=&quot;http://shop.oreilly.com/product/0636920028154.do&quot; style=&quot;text-align: justify;&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;Learning Python by Mark Lutz&lt;/b&gt;&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&quot;. You can find all of my reading journal of &lt;a href=&quot;http://unstuck.grabyourfreedom.in/search/label/Learning_Python&quot; target=&quot;_blank&quot;&gt;this book&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;The rest of this post covers what I learned in Chapter 10, Chapter 11 and Chapter 12.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Chapter 10: Introducing Python Statements&lt;/b&gt;&lt;br /&gt;This chapter is fairly easy to read. By now you should have written some code with statements which should make this chapter even more easier. But an important take away is &quot;why Python is Pythonic&quot; with to respect statements, code blocks, and indentation. Towards the end, we also see few nice and quick examples.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt; &lt;b&gt;Chapter 11: Assignments, Expressions, and Prints&lt;/b&gt;&lt;br /&gt;This is another great chapter that covers assignments, expressions, and prints in great detail. It details various ways of assignments, sequence unpacking, sequence assignments and augmented assignments. Variable naming rules, conventions, and expression statements are discussed too. Towards the end, there is a good section on prints and various ways of printing covering both 2.x, 3.x, and printing in version neutral way. Another great chapter.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt; &lt;b&gt;Chapter 12: if Tests and Syntax Rules&lt;/b&gt;&lt;br /&gt;This chapter gives an in-depth treatment of if constructs &amp;amp; its optional extension (elif, else) giving examples of nested and deeply nested if constructs, multiway branching. The most valuable content is the discussion on indentation and philosophy of Python with respect to code readability in the light of software maintenance. Truth values, boolean tests and if/else ternary operations are discussed. I suggest to stop here for a while and then try out examples so that the concepts are understood well.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://unstuck.grabyourfreedom.in/search/label/Learning_Python&quot; target=&quot;_blank&quot;&gt;All posts related to &quot;Learning Python by Mark Lutz&quot;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Friendly Note: I am posting the images and links from the publisher&#39;s website. I am not an affiliate and I do not get paid for writing this. If my journal is useful for someone to learn Python, I am more than happy :-)&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/1540423071014005637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=1540423071014005637&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/1540423071014005637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/1540423071014005637'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2018/01/learning-python-by-mark-lutz-reading_7.html' title='&quot;Learning Python by Mark Lutz&quot; - Reading Journal 6 [Chapter 10, Chapter 11 and Chapter 12]'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-a6AqJ9oqnhg/WjzHNgfr1oI/AAAAAAAAFJc/Wp6HhxN3sVkRATXHv4q1o-lk1ZUm4kWZACPcBGAYYCw/s72-c/learning_python.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-1676181281659802006</id><published>2018-01-05T11:30:00.000+05:30</published><updated>2018-01-05T11:30:15.509+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Learning_Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Python Super Star"/><category scheme="http://www.blogger.com/atom/ns#" term="Reading Journal"/><category scheme="http://www.blogger.com/atom/ns#" term="Technical"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>&quot;Learning Python by Mark Lutz&quot; - Reading Journal 5 [Chapter 8 and Chapter 9]</title><content type='html'>&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: right; margin-left: 1em; text-align: right;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://shop.oreilly.com/product/0636920028154.do&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; display: inline; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot; target=&quot;blank&quot;&gt;&lt;img alt=&quot;Learning Python by Mark Lutz Fifth Edition&quot; border=&quot;0&quot; data-original-height=&quot;499&quot; data-original-width=&quot;381&quot; height=&quot;200&quot; src=&quot;https://1.bp.blogspot.com/-a6AqJ9oqnhg/WjzHNgfr1oI/AAAAAAAAFJc/Wp6HhxN3sVkRATXHv4q1o-lk1ZUm4kWZACPcBGAYYCw/s200/learning_python.jpg&quot; title=&quot;Learning Python by Mark Lutz Fifth Edition&quot; width=&quot;151&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Learning Python by Mark Lutz&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Like me, if you are new to Python and want to ramp-up to become no non-sense developer in Python,&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://unstuck.grabyourfreedom.in/search/label/Python%20Super%20Star&quot; style=&quot;text-align: justify;&quot; target=&quot;_blank&quot;&gt;you might want to read these posts&lt;/a&gt;&amp;nbsp;(and if you are prepared to take up the tough path of mastering the language)&lt;span style=&quot;text-align: justify;&quot;&gt;. The post like this is my experience - the journey that is little longer but interesting, thought-provoking and rewarding.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style=&quot;text-align: justify;&quot;&gt;For next few months, I would be posting my experiences with Python more specifically the learning I am going through from the book - &quot;&lt;/span&gt;&lt;a href=&quot;http://shop.oreilly.com/product/0636920028154.do&quot; style=&quot;text-align: justify;&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;Learning Python by Mark Lutz&lt;/b&gt;&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&quot;. You can find all of my reading journal of &lt;a href=&quot;http://unstuck.grabyourfreedom.in/search/label/Learning_Python&quot; target=&quot;_blank&quot;&gt;this book&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;The rest of this post covers what I learned in Chapter 8 and Chapter 9.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Chapter 8: List and Dictionaries&lt;/b&gt;&lt;br /&gt;This chapter has given a lot of information in lists and directories. The key thing is that each operation is shown with examples. If you have gone through the chapter on &quot;string&quot;, the list should be similar and you can just zip it through. The operations such as create, modify, slice, sequencing, iteration, comprehension and in place modification with loads of examples. Once you are through this chapter, you will understand (and relate to) if someone says you need not memorize things in Python. It was a very good read.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Chapter 9: Tuples, Files, and Everything Else&lt;/b&gt;&lt;br /&gt;This chapter gives a nice exposition on tuples, named tuples, files and overview/summary of types that are discussed so far. At this point in time, I have to admit that Python is becoming easier to comprehend. Since we have seen lists/dictionary already, tuples and named tuples are similar except that they are immutable. With respect to files, I learned how to read, write, seek and flush the buffers, iterate over lines, opening them in the binary mode which turns off encoding/decoding Unicode, introduction to pickle, JSON &amp;amp; struct and file context manager. The chapter closes with a lengthy overview of types giving us a treat.&lt;br /&gt;&lt;br /&gt;With this, I have completed Part 2 of the book roughly 20% of the book. Still, I have 80% to cover but it is exciting :-). Overall, my impression is - part 2 is deeper and insightful than part1 (with no offense meant to part1)&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://unstuck.grabyourfreedom.in/search/label/Learning_Python&quot; target=&quot;_blank&quot;&gt;All posts related to &quot;Learning Python by Mark Lutz&quot;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Friendly Note: I am posting the images and links from the publisher&#39;s website. I am not an affiliate and I do not get paid for writing this. If my journal is useful for someone to learn Python, I am more than happy :-)&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/1676181281659802006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=1676181281659802006&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/1676181281659802006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/1676181281659802006'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2018/01/learning-python-by-mark-lutz-reading_5.html' title='&quot;Learning Python by Mark Lutz&quot; - Reading Journal 5 [Chapter 8 and Chapter 9]'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-a6AqJ9oqnhg/WjzHNgfr1oI/AAAAAAAAFJc/Wp6HhxN3sVkRATXHv4q1o-lk1ZUm4kWZACPcBGAYYCw/s72-c/learning_python.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-6771624299036241256</id><published>2018-01-04T11:30:00.002+05:30</published><updated>2018-01-04T11:30:03.100+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Learning_Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Python Super Star"/><category scheme="http://www.blogger.com/atom/ns#" term="Reading Journal"/><category scheme="http://www.blogger.com/atom/ns#" term="Technical"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>&quot;Learning Python by Mark Lutz&quot; - Reading Journal 4 [Chapter 6 and Chapter 7]</title><content type='html'>&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: right; margin-left: 1em; text-align: right;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://shop.oreilly.com/product/0636920028154.do&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; display: inline; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot; target=&quot;blank&quot;&gt;&lt;img alt=&quot;Learning Python by Mark Lutz Fifth Edition&quot; border=&quot;0&quot; data-original-height=&quot;499&quot; data-original-width=&quot;381&quot; height=&quot;200&quot; src=&quot;https://1.bp.blogspot.com/-a6AqJ9oqnhg/WjzHNgfr1oI/AAAAAAAAFJc/Wp6HhxN3sVkRATXHv4q1o-lk1ZUm4kWZACPcBGAYYCw/s200/learning_python.jpg&quot; title=&quot;Learning Python by Mark Lutz Fifth Edition&quot; width=&quot;151&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Learning Python by Mark Lutz&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Like me, if you are new to Python and want to ramp-up to become no non-sense developer in Python,&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://unstuck.grabyourfreedom.in/search/label/Python%20Super%20Star&quot; style=&quot;text-align: justify;&quot; target=&quot;_blank&quot;&gt;you might want to read these posts&lt;/a&gt;&amp;nbsp;(and if you are prepared to take up the tough path of mastering the language)&lt;span style=&quot;text-align: justify;&quot;&gt;. The post like this is my experience - the journey that is little longer but interesting, thought-provoking and rewarding.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style=&quot;text-align: justify;&quot;&gt;For next few months, I would be posting my experiences with Python more specifically the learning I am going through from the book - &quot;&lt;/span&gt;&lt;a href=&quot;http://shop.oreilly.com/product/0636920028154.do&quot; style=&quot;text-align: justify;&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;Learning Python by Mark Lutz&lt;/b&gt;&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&quot;. You can find all of my reading journal of &lt;a href=&quot;http://unstuck.grabyourfreedom.in/search/label/Learning_Python&quot; target=&quot;_blank&quot;&gt;this book&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;The rest of this post covers what I learned in Chapter 6 and Chapter 7.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Chapter 6: The Dynamic Typing Interlude&lt;/b&gt;&lt;br /&gt;This chapter provides an excellent coverage of dynamic types, objects, variables and a picture on how the objects are created in memory. Dynamic typing - how Python detects the type (or rather where it stores the type of the object), the significance of variable names, object reference counts and where the variable names are stored are discussed. A brief walkthrough on automatic reclaim of memory (aka Garbage Collection) and GC in the context of shared references, shared references and In-place changes and shared references and equality are discussed. If you are from the language like Java, you should be knowing most of the concepts already. Overall a nice theoretical view of PVM memory and object space. Nice and neat chapter&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Chapter 7: String Fundamentals&lt;/b&gt;&lt;br /&gt;If you like strings and string manipulation - I bet you will like this chapter. What appears as simple (when we do no know) becomes quite overwhleming when we go deeper. This chapter is written in such a way that it never overwhelms with a lot of friendly advices. Do not miss this chapter if you are a fan of strings. Let us come what I learned. String, why string is a sequence, string liternals, escape sequences, raw strings, unicode representation, how to express strings (three different ways), indexing, slicing, extended slicing, conversion, changing strings, immutablity, string methods, string module (which you should be using), formatting expressions. After reading the chapter, I feel that this is one of the chapters that I should read few times. I am sure that strings will take some time to master. Overall, the chapter is nice, informative. Kudos to the author again.&lt;br /&gt;&lt;a href=&quot;http://unstuck.grabyourfreedom.in/search/label/Learning_Python&quot; target=&quot;_blank&quot;&gt;&lt;br /&gt;&lt;/a&gt; &lt;a href=&quot;http://unstuck.grabyourfreedom.in/search/label/Learning_Python&quot; target=&quot;_blank&quot;&gt;All posts related to &quot;Learning Python by Mark Lutz&quot;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Friendly Note: I am posting the images and links from the publisher&#39;s website. I am not an affiliate and I do not get paid for writing this. If my journal is useful for someone to learn Python, I am more than happy :-)&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/6771624299036241256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=6771624299036241256&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/6771624299036241256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/6771624299036241256'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2018/01/learning-python-by-mark-lutz-reading_4.html' title='&quot;Learning Python by Mark Lutz&quot; - Reading Journal 4 [Chapter 6 and Chapter 7]'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-a6AqJ9oqnhg/WjzHNgfr1oI/AAAAAAAAFJc/Wp6HhxN3sVkRATXHv4q1o-lk1ZUm4kWZACPcBGAYYCw/s72-c/learning_python.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-194537423207541026</id><published>2018-01-02T11:30:00.001+05:30</published><updated>2018-01-02T11:30:28.822+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Python Super Star"/><title type='text'>Python Tricks -</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;I came across a good website on Python tricks -&amp;nbsp;&lt;a href=&quot;https://dbader.org/python-tricks&quot;&gt;https://dbader.org/python-tricks&lt;/a&gt;. I recommend you to subscribe to &lt;a href=&quot;https://dbader.org/about/&quot; target=&quot;_blank&quot;&gt;Dan Bader&lt;/a&gt;&#39;s Improve your Python skills.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Dan is also providing &lt;a href=&quot;https://dbader.org/python-videos/&quot; target=&quot;_blank&quot;&gt;videos&lt;/a&gt;&amp;nbsp;and &lt;a href=&quot;https://dbader.org/blog/&quot; target=&quot;_blank&quot;&gt;tutorials&lt;/a&gt; in Python&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Relatively an easier post in Python. I am sure that this is going to be much more useful to you than what I write on my own :-)&lt;br /&gt;&lt;br /&gt;Tomorrow, I am going to post on unit testing, a function to find prime number and test code using Python&#39;s unittest&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/194537423207541026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=194537423207541026&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/194537423207541026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/194537423207541026'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2018/01/python-tricks.html' title='Python Tricks -'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-5435554565126481495</id><published>2018-01-01T11:01:00.000+05:30</published><updated>2018-01-01T11:01:00.216+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Learning_Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Python Super Star"/><category scheme="http://www.blogger.com/atom/ns#" term="Reading Journal"/><category scheme="http://www.blogger.com/atom/ns#" term="Technical"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>&quot;Learning Python by Mark Lutz&quot; - Reading Journal 3 [Chapter 4 and Chapter 5]</title><content type='html'>&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: right; margin-left: 1em; text-align: right;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://shop.oreilly.com/product/0636920028154.do&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; display: inline; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot; target=&quot;blank&quot;&gt;&lt;img alt=&quot;Learning Python by Mark Lutz Fifth Edition&quot; border=&quot;0&quot; data-original-height=&quot;499&quot; data-original-width=&quot;381&quot; height=&quot;200&quot; src=&quot;https://1.bp.blogspot.com/-a6AqJ9oqnhg/WjzHNgfr1oI/AAAAAAAAFJc/Wp6HhxN3sVkRATXHv4q1o-lk1ZUm4kWZACPcBGAYYCw/s200/learning_python.jpg&quot; title=&quot;Learning Python by Mark Lutz Fifth Edition&quot; width=&quot;151&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Learning Python by Mark Lutz&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Like me, if you are new to Python and want to ramp-up to become no non-sense developer in Python,&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://unstuck.grabyourfreedom.in/search/label/Python%20Super%20Star&quot; style=&quot;text-align: justify;&quot; target=&quot;_blank&quot;&gt;you might want to read these posts&lt;/a&gt;&amp;nbsp;(and if you are prepared to take up the tough path of mastering the language)&lt;span style=&quot;text-align: justify;&quot;&gt;. The post like this is my experience - the journey that is little longer but interesting, thought-provoking and rewarding.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style=&quot;text-align: justify;&quot;&gt;For next few months, I would be posting my experiences with Python more specifically the learning I am going through from the book - &quot;&lt;/span&gt;&lt;a href=&quot;http://shop.oreilly.com/product/0636920028154.do&quot; style=&quot;text-align: justify;&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;Learning Python by Mark Lutz&lt;/b&gt;&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&quot;. You can find all of my reading journal of &lt;a href=&quot;http://unstuck.grabyourfreedom.in/search/label/Learning_Python&quot; target=&quot;_blank&quot;&gt;this book&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;The rest of this post covers what I learned in Chapter 4 and Chapter 5.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Chapter 4: Introducing Python Object Types&lt;/b&gt;&lt;br /&gt;As the chapter title says, this chapter introduces core data types that are built-in to Python - Numeric, String, Lists, Dictionaries. It also gives an overview of Files, Set, and user-defined classes. It talks about sequences, mappings, and sets. How to iterate over collections and access mappings/dictionaries. What are type-specific functions available. On files, a simple read/write with encoding/decoding is discussed at a higher level. At the end of this chapter, you will realize that everything is object in Python (and dynamic/strick typing system). It was very interesting to read. On the downside, I am still curious as to when I will write some code. I do not see coding exercises/puzzles at the end of the chapter yet.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Chapter 5: Numeric Types&lt;/b&gt;&lt;br /&gt;What we think as just integers and floats are mind-boggling when we try to go little deeper. This chapter is no exception especially&amp;nbsp;when you have two versions of Python (2.x and 3.x) behave little differently. I am pretty sure that numeric types and differences in two major versions of Python are going to be little tough to remember and one has to keep referring the material until it becomes second nature. Let us come to the learning.&lt;br /&gt;&lt;br /&gt;This chapter covers numeric&amp;nbsp;types - integers, floats, decimal, fraction, complex numbers, operators, building expressions, precedence, bitwise operators, comprehension, sets, booleans, evaluation of tests, chained tests, representing numbers in other bases (hex, octal and binary) and finally some introduction on number crunching with popular modules. I strongly suggest practicing while you read to get the feel of what the author says. The chapter was longer with so many details but never boring though. Truly great stuff.&lt;br /&gt;&lt;a href=&quot;http://unstuck.grabyourfreedom.in/search/label/Learning_Python&quot; target=&quot;_blank&quot;&gt;&lt;br /&gt;&lt;/a&gt; &lt;a href=&quot;http://unstuck.grabyourfreedom.in/search/label/Learning_Python&quot; target=&quot;_blank&quot;&gt;All posts related to &quot;Learning Python by Mark Lutz&quot;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Friendly Note: I am posting the images and links from the publisher&#39;s website. I am not an affiliate and I do not get paid for writing this. If my journal is useful for someone to learn Python, I am more than happy :-)&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/5435554565126481495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=5435554565126481495&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/5435554565126481495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/5435554565126481495'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2018/01/learning-python-by-mark-lutz-reading.html' title='&quot;Learning Python by Mark Lutz&quot; - Reading Journal 3 [Chapter 4 and Chapter 5]'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-a6AqJ9oqnhg/WjzHNgfr1oI/AAAAAAAAFJc/Wp6HhxN3sVkRATXHv4q1o-lk1ZUm4kWZACPcBGAYYCw/s72-c/learning_python.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-9052399293582931202</id><published>2017-12-31T12:00:00.000+05:30</published><updated>2017-12-31T12:06:06.733+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Learning_Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Python Super Star"/><category scheme="http://www.blogger.com/atom/ns#" term="Reading Journal"/><category scheme="http://www.blogger.com/atom/ns#" term="Technical"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>&quot;Learning Python by Mark Lutz&quot; - Reading Journal 2 [Chapter 2 and Chapter 3]</title><content type='html'>&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: right; margin-left: 1em; text-align: right;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://shop.oreilly.com/product/0636920028154.do&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; display: inline; margin-bottom: 1em; margin-left: auto; margin-right: auto;&quot; target=&quot;blank&quot;&gt;&lt;img alt=&quot;Learning Python by Mark Lutz Fifth Edition&quot; border=&quot;0&quot; data-original-height=&quot;499&quot; data-original-width=&quot;381&quot; height=&quot;200&quot; src=&quot;https://1.bp.blogspot.com/-a6AqJ9oqnhg/WjzHNgfr1oI/AAAAAAAAFJc/Wp6HhxN3sVkRATXHv4q1o-lk1ZUm4kWZACPcBGAYYCw/s200/learning_python.jpg&quot; title=&quot;Learning Python by Mark Lutz Fifth Edition&quot; width=&quot;151&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Learning Python by Mark Lutz&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Like me, if you are new to Python and want to ramp-up to become no non-sense developer in Python,&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://unstuck.grabyourfreedom.in/search/label/Python%20Super%20Star&quot; style=&quot;text-align: justify;&quot; target=&quot;_blank&quot;&gt;you might want to read these posts&lt;/a&gt;&amp;nbsp;(and if you are prepared to take up the tough path of mastering the language)&lt;span style=&quot;text-align: justify;&quot;&gt;. The post like this is my experience - the journey that is little longer but interesting, thought-provoking and rewarding.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style=&quot;text-align: justify;&quot;&gt;For next few months, I would be posting my experiences with Python more specifically the learning I am going through from the book - &quot;&lt;/span&gt;&lt;a href=&quot;http://shop.oreilly.com/product/0636920028154.do&quot; style=&quot;text-align: justify;&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;Learning Python by Mark Lutz&lt;/b&gt;&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&quot;. You can find all of my reading journal of &lt;a href=&quot;http://unstuck.grabyourfreedom.in/search/label/Learning_Python&quot; target=&quot;_blank&quot;&gt;this book&lt;/a&gt;&amp;nbsp;and accompanying code in &lt;a href=&quot;https://github.com/grabyourfreedom/learningpython&quot; target=&quot;_blank&quot;&gt;GitHub&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;The rest of this post covers what I learned in Chapter 2 and Chapter 3.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Chapter 2: How Python Runs Programs&lt;/b&gt;&lt;br /&gt;This chapter introduces you a needed theoretical overview of Python runtime (interpreter) and Python bytecode. The execution of the program is explained in two viewpoints - programmer&#39;s view and Python&#39;s view. The programmers&#39; view is what code to be written following the language constructs generating source code and Python&#39;s view is how to execute the program converting source code to actual functionality (the output of programmer view is input to Python&#39;s view). The chapter offers execution model variations (different runtime models - CPython, Jython, Stackless, PyPy) and optimization tools (Psyco JIT, Shed Skin, Cthyon). This chapter is wonderfully written and there will be some learning to everyone. &lt;b&gt;I thoroughly enjoyed the content :-)&lt;/b&gt;. &lt;b&gt;Kudos to the author for covering a variety of insights.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Chapter 3: How You Run Programs&lt;/b&gt;&lt;br /&gt;I need to start with a warning. This chapter has so much information and ways to run your code like &quot;from the command line&quot;, &quot;interactive&quot;, &quot;IDLE&quot; and &quot;IDE&quot;. I personally suggest that we should try all the methods at least once and choose one of the methods. I find IDE convenient. Yes, I do use PyCharm community edition. On the good side, the chapter introduces modules, importing, namespaces, module reloads which is quite interesting. Good round up of exercises at the end. I do not want to bog you down with a lot of details. One little advice I have for you is to take breaks while reading this chapter and be prepared for a long haul. Without the break, I feel this chapter is little tough to complete and might appear daunting (and might be demotivating to complete). The good thing about such details are completeness&lt;br /&gt;&lt;br /&gt;BTW, with this, we complete the first part of the book and we have eight more parts.&lt;br /&gt;&lt;br /&gt;Looking forward to the Part 2&lt;br /&gt;&lt;a href=&quot;http://unstuck.grabyourfreedom.in/search/label/Learning_Python&quot; target=&quot;_blank&quot;&gt;&lt;br /&gt;&lt;/a&gt; &lt;a href=&quot;http://unstuck.grabyourfreedom.in/search/label/Learning_Python&quot; target=&quot;_blank&quot;&gt;All posts related to &quot;Learning Python by Mark Lutz&quot;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://github.com/grabyourfreedom/learningpython&quot; target=&quot;_blank&quot;&gt;Source Code@GitHub (exercises of this book)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Friendly Note: I am posting the images and links from the publisher&#39;s website. I am not an affiliate and I do not get paid for writing this. If my journal is useful for someone to learn Python, I am more than happy :-)&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/9052399293582931202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=9052399293582931202&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/9052399293582931202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/9052399293582931202'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2017/12/learning-python-by-mark-lutz-reading_31.html' title='&quot;Learning Python by Mark Lutz&quot; - Reading Journal 2 [Chapter 2 and Chapter 3]'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-a6AqJ9oqnhg/WjzHNgfr1oI/AAAAAAAAFJc/Wp6HhxN3sVkRATXHv4q1o-lk1ZUm4kWZACPcBGAYYCw/s72-c/learning_python.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-5062769852130964704</id><published>2017-12-30T11:30:00.000+05:30</published><updated>2017-12-30T21:13:56.499+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Learning_Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Python Super Star"/><category scheme="http://www.blogger.com/atom/ns#" term="Reading Journal"/><category scheme="http://www.blogger.com/atom/ns#" term="Technical"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>&quot;Learning Python by Mark Lutz&quot; - Reading Journal 1 [Intro and Chapter 1]</title><content type='html'>&lt;div style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Like me, if you are new to Python and want to ramp-up to become no non-sense developer in Python, &lt;a href=&quot;http://unstuck.grabyourfreedom.in/search/label/Python%20Super%20Star&quot; target=&quot;_blank&quot;&gt;you might want to read these posts&lt;/a&gt;. The post like this is my experience - the journey that is little longer but interesting, thought-provoking and rewarding.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;For next several months, I would be posting my experiences with Python more specifically the learning I am going to have from the book - &quot;&lt;a href=&quot;http://shop.oreilly.com/product/0636920028154.do&quot; target=&quot;_blank&quot;&gt;Learning Python by Mark Lutz&lt;/a&gt;&quot;. My first impression after reading the table of contents is very promising. It looks to me that it is one of the books that provide complete coverage of Python and exhaustive too. I am eager and yet at the same time little afraid because I never learned any programming language reading a book completely. Since it is massive in size containing 1500+ pages, I feel it is going to test my consistency. And that is one of the reasons why I want&amp;nbsp;to&amp;nbsp;write my reading journal.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;http://shop.oreilly.com/product/0636920028154.do&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot; target=&quot;blank&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;499&quot; data-original-width=&quot;381&quot; height=&quot;200&quot; src=&quot;https://1.bp.blogspot.com/-a6AqJ9oqnhg/WjzHNgfr1oI/AAAAAAAAFJc/Wp6HhxN3sVkRATXHv4q1o-lk1ZUm4kWZACPcBGAYYCw/s200/learning_python.jpg&quot; width=&quot;152&quot; /&gt;&lt;/a&gt;The rest of the post contains what I learned from the chapter 1 (Initially I thought I would write journal of first three chapters. But I could not do it due to merits and the amount of content in this chapter)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Chapter 1: A Python Q &amp;amp; A Session&lt;/b&gt;&lt;br /&gt;The book starts with a bang providing enough material and motivation as to why someone should invest time learning Python and reading/working-out this book. This chapter provides an introduction to Python in the form of question and answer. These are kind of questions that were eating my mind and wanting an answer because the websites or courses talk only on the language but this book seems to address the gap as to &quot;why&quot;. &lt;b&gt;I also feel that the author has set up an important tone - question everything when you learn&lt;/b&gt;. You will find answers to the following questions&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Why people use Python?&lt;/li&gt;&lt;li&gt;Is Python scripting language?&lt;/li&gt;&lt;li&gt;Is there any downside of Python?&lt;/li&gt;&lt;li&gt;Who uses Python?&lt;/li&gt;&lt;li&gt;What can I do with Python&lt;/li&gt;&lt;li&gt;How is Python developed and supported?&lt;/li&gt;&lt;li&gt;What are its technical strengths?&lt;/li&gt;&lt;li&gt;How Python stacks up to other languages?&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;This chapter gives deeper insights with solid reasonings and you will understand what you will get by learning Python and what is the amount of knowledge that you will get by reading this book - &quot;&lt;a href=&quot;http://shop.oreilly.com/product/0636920028154.do&quot; target=&quot;_blank&quot;&gt;Learning Python by Mark Lutz&lt;/a&gt;&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Needless to say, I am all excited to continue to learn Python :-)&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/5062769852130964704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=5062769852130964704&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/5062769852130964704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/5062769852130964704'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2017/12/learning-python-by-mark-lutz-reading.html' title='&quot;Learning Python by Mark Lutz&quot; - Reading Journal 1 [Intro and Chapter 1]'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-a6AqJ9oqnhg/WjzHNgfr1oI/AAAAAAAAFJc/Wp6HhxN3sVkRATXHv4q1o-lk1ZUm4kWZACPcBGAYYCw/s72-c/learning_python.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-3951928663275113798</id><published>2017-12-29T11:30:00.000+05:30</published><updated>2017-12-30T08:14:45.844+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Process Management"/><category scheme="http://www.blogger.com/atom/ns#" term="Process Monitoring"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Python Super Star"/><category scheme="http://www.blogger.com/atom/ns#" term="Signals"/><category scheme="http://www.blogger.com/atom/ns#" term="System Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Technical"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Simple ProcMon - Putting all things together</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://1.bp.blogspot.com/-hyWAkAPG2Vo/WkXCddaY2TI/AAAAAAAAFOQ/lHIfSQ_CPHc-dYJsj3HdK_atWUGvInPpgCLcBGAs/s1600/process_monitor.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;546&quot; data-original-width=&quot;728&quot; height=&quot;240&quot; src=&quot;https://1.bp.blogspot.com/-hyWAkAPG2Vo/WkXCddaY2TI/AAAAAAAAFOQ/lHIfSQ_CPHc-dYJsj3HdK_atWUGvInPpgCLcBGAs/s320/process_monitor.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;I have written few posts on process management in Python - fork, exec, wait, and exit. These are exactly same Python APIs around system APIs provided by Linux/Unix/POSIX. In this post, I am going to talk about&amp;nbsp;putting things together and create a simple process monitor.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Read how to &lt;a href=&quot;http://unstuck.grabyourfreedom.in/2017/12/process-management-in-python-osfork.html&quot; target=&quot;_blank&quot;&gt;fork&lt;/a&gt;, &lt;a href=&quot;http://unstuck.grabyourfreedom.in/2017/12/process-management-in-python-osexec.html&quot; target=&quot;_blank&quot;&gt;exec&lt;/a&gt;, &lt;a href=&quot;http://unstuck.grabyourfreedom.in/2017/12/process-management-in-python-oswait.html&quot; target=&quot;_blank&quot;&gt;wait&lt;/a&gt; and &lt;a href=&quot;http://unstuck.grabyourfreedom.in/2017/12/process-management-in-python-osexit.html&quot; target=&quot;_blank&quot;&gt;exit&lt;/a&gt; before proceeding with this post.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Functionality of Simple Process Monitor&lt;/b&gt;&lt;/div&gt;&lt;ol&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Have the list of processes that need to be monitored in the INI file. Let us call this configuration&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Load the configuration file&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Start the process&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Exec the new program&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Loop #3 and #4 until all the processes are loaded&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Monitor the process (wait). A simple call to &quot;wait&quot; would listen for a child to exit.&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;When a child dies, handle it either by restarting the process again or do nothing (depending on&amp;nbsp;how it is configured).&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Go back to #6 and continue the monitoring&lt;/li&gt;&lt;/ol&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;It is going to tough to post all the code here. Refer my &lt;a href=&quot;https://github.com/grabyourfreedom/assorted/tree/master/process_monitor&quot; target=&quot;_blank&quot;&gt;GITHub for the code&lt;/a&gt;. Feel free to extend or write tests&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Experience&lt;/b&gt;: It is another personal experience on higher productivity claim of Python. I wrote the code in a couple of hours and spent around 2 hours on refactoring. Given my (lack of) experience in Python, Python seems to fulfill its promise.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/3951928663275113798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=3951928663275113798&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/3951928663275113798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/3951928663275113798'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2017/12/simple-procmon-putting-all-things.html' title='Simple ProcMon - Putting all things together'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://1.bp.blogspot.com/-hyWAkAPG2Vo/WkXCddaY2TI/AAAAAAAAFOQ/lHIfSQ_CPHc-dYJsj3HdK_atWUGvInPpgCLcBGAs/s72-c/process_monitor.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-688925889271367088</id><published>2017-12-28T11:05:00.000+05:30</published><updated>2017-12-31T12:14:59.960+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Blogging"/><category scheme="http://www.blogger.com/atom/ns#" term="CSS"/><category scheme="http://www.blogger.com/atom/ns#" term="Email"/><category scheme="http://www.blogger.com/atom/ns#" term="Email Subscription"/><category scheme="http://www.blogger.com/atom/ns#" term="Email Subscription Pop-up"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="Software Development"/><category scheme="http://www.blogger.com/atom/ns#" term="Widget"/><title type='text'>Blogger, Feedburner Email Subscription Popup Widget</title><content type='html'>&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://2.bp.blogspot.com/-eV1roNAW6Pw/WkRclI-G2nI/AAAAAAAAFNc/4UJy-P580wghKhZ1x7VAIsffNKp1wsfhwCLcBGAs/s1600/pop.PNG&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;247&quot; data-original-width=&quot;426&quot; height=&quot;185&quot; src=&quot;https://2.bp.blogspot.com/-eV1roNAW6Pw/WkRclI-G2nI/AAAAAAAAFNc/4UJy-P580wghKhZ1x7VAIsffNKp1wsfhwCLcBGAs/s320/pop.PNG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;After a very long time, I got a chance to write some Javascript, jQuery, and some HTML stuff. I thought of updating my blog with a new subscription pop-up. The goal is to show a pop-up enabling the user to subscribe to my&amp;nbsp;blog through email. While I have them already in a couple of places, I felt a pop-up at the center of the screen would help - to get some attention and action. Let us see how it goes.&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;I am sharing the code here. Feel free to use it if you are searching for something like this (but give the &lt;b&gt;credits by not removing Widget by Lakshmi N&lt;/b&gt;).&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Now coming to the widget. The following are the functionalities&lt;/div&gt;&lt;ol&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Display a pop-up with an option to subscribe or close the widget&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Integrate the pop-up with my feed provider (which is Google&#39;s Feedburner) so that I do not need to manage the subscriptions. It comes with a lot of security and&amp;nbsp; I can move to a different provider if there is a need.&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Make it less annoying. Use cookies and do not display the pop-up for another N days (by setting the expiry for cookie).&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;While I foresee some changes on the look and feel - but the core features are almost there. I have also committed the changes to &lt;a href=&quot;https://github.com/grabyourfreedom/assorted/blob/master/blogger_widgets/blogger_email_subscription_widget.html&quot; target=&quot;_blank&quot;&gt;GitHub&lt;/a&gt;.&amp;nbsp; There are few customizations that you might need depending on your requirements and taste. Here is how I have implemented&lt;/div&gt;&lt;ol&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;HTML/CSS&lt;/b&gt;: If you turn on developer tools in your browser, you should see that the entire pop-up is written using HTML, CSS, and Javascript. I have used absolute positioning of the widget so that it shows up in the middle of the browser window.&amp;nbsp;&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Images&lt;/b&gt;: There are two images that I have used - one for the background for the pop-up and the close button. You can customize these too for your requirements in case if you need better images&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Display Timeout&lt;/b&gt;: Configure timeout duration after which you want the pop-up to be displayed. The display of the pop-up will be delayed for such duration after document.ready(). This should be lesser duration.&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Cookie Expiry Timeout&lt;/b&gt;: This is the duration after which the popup will again appear. This can be any precision (it can be from milliseconds to year). In order for this logic to kick-in, the user should have clicked &quot;close&quot;. Ideally, this should be longer duration.&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;JQuery&lt;/b&gt;: I have used JQuery, so ensure that you load jQuery in &lt;head&gt; section and add/update document.ready(). I have used one already on my blog from Google CDN.&lt;/head&gt;&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Other Platforms&lt;/b&gt;: I have tested this on my blog (blogger) and not tested on other blogging platforms. But I believe it should work. Give it a try :-)&lt;/li&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Questions&lt;/b&gt;: If you have any questions or the stuff is not working, use the comments section to reach out to me. I try my best to support.&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Here is my gist (&lt;b&gt;If you remove the credits, it is mere copying and if you give credits it will be termed as normal usage&lt;/b&gt;. Be happy that I do not ask for money or bitcoins :-)).&lt;/div&gt;&lt;br /&gt;&lt;script src=&quot;https://gist.github.com/grabyourfreedom/a233e442ccd9cd89eeab9a7495a50dd8.js&quot;&gt;&lt;/script&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/688925889271367088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=688925889271367088&amp;isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/688925889271367088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/688925889271367088'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2017/12/bloggerfeedburner-email-subscription.html' title='Blogger, Feedburner Email Subscription Popup Widget'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://2.bp.blogspot.com/-eV1roNAW6Pw/WkRclI-G2nI/AAAAAAAAFNc/4UJy-P580wghKhZ1x7VAIsffNKp1wsfhwCLcBGAs/s72-c/pop.PNG" height="72" width="72"/><thr:total>1</thr:total><georss:featurename>Chennai, Tamil Nadu, India</georss:featurename><georss:point>13.0826802 80.270718400000078</georss:point><georss:box>12.5876862 79.625271400000074 13.5776742 80.916165400000082</georss:box></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-7680552086210281528</id><published>2017-12-27T11:30:00.000+05:30</published><updated>2017-12-27T11:30:11.259+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Engineering Management"/><category scheme="http://www.blogger.com/atom/ns#" term="GIT"/><category scheme="http://www.blogger.com/atom/ns#" term="Learn_Everyday"/><category scheme="http://www.blogger.com/atom/ns#" term="Software"/><category scheme="http://www.blogger.com/atom/ns#" term="Software Development"/><category scheme="http://www.blogger.com/atom/ns#" term="Tools"/><category scheme="http://www.blogger.com/atom/ns#" term="Version Control"/><title type='text'>Want to GIT?</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://3.bp.blogspot.com/-UweVBiReol4/Wj_oKFzS8jI/AAAAAAAAFJ4/jVbY_XjQElMB7bGDEcJ83VSNIvOidBNqwCLcBGAs/s1600/logo%25402x.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;92&quot; data-original-width=&quot;220&quot; height=&quot;83&quot; src=&quot;https://3.bp.blogspot.com/-UweVBiReol4/Wj_oKFzS8jI/AAAAAAAAFJ4/jVbY_XjQElMB7bGDEcJ83VSNIvOidBNqwCLcBGAs/s200/logo%25402x.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;The entire programming world is moving towards using GIT as it is becoming a de-facto. If you have few hours during the holidays and want to learn how to work with GIT (or how GIT works), do not miss this course from Udacity. The course instructor has done a good job of putting together a nice course with a lot of materials and exercises (you can complete the course in two days budgeting&amp;nbsp;some breaks for reflection)&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Udacity Course Link -&amp;nbsp;&lt;a href=&quot;https://in.udacity.com/course/version-control-with-git--ud123&quot; target=&quot;_blank&quot;&gt;Version Control with Git&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Points to be noted:&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Note 1: You will learn only git (not GIT Hub or something that uses git to host your code). Nevertheless, this should be the first step before embarking further. GIT Hub (or something similar) should be logical next step&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Note 2: Highly recommend for students who are still in college (writing code is good thing, writing tests for the code is better thing, managing your code is the best thing)&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Note 3: Very highly recommend for professionals who have not explored GIT yet (learn now or will be made to learn it in 2018).&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Note 4: Many text editors (like Atom) and IDEs (like PyCharm) support GIT/GIT Hub (super easy)&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Note 5 (good that you have read thus far): Refer&amp;nbsp;&lt;a href=&quot;https://git-scm.com/&quot;&gt;https://git-scm.com&lt;/a&gt; and learn why you should be learning GIT if you are a developer&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/7680552086210281528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=7680552086210281528&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/7680552086210281528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/7680552086210281528'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2017/12/want-to-git.html' title='Want to GIT?'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://3.bp.blogspot.com/-UweVBiReol4/Wj_oKFzS8jI/AAAAAAAAFJ4/jVbY_XjQElMB7bGDEcJ83VSNIvOidBNqwCLcBGAs/s72-c/logo%25402x.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-7895628124085405395</id><published>2017-12-26T11:30:00.000+05:30</published><updated>2017-12-26T11:30:03.147+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Choices"/><category scheme="http://www.blogger.com/atom/ns#" term="Critical Thinking"/><category scheme="http://www.blogger.com/atom/ns#" term="Decision Making"/><category scheme="http://www.blogger.com/atom/ns#" term="Philosophy"/><category scheme="http://www.blogger.com/atom/ns#" term="Self Leadership"/><category scheme="http://www.blogger.com/atom/ns#" term="Thinking"/><title type='text'>Paradox of Choices</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;Less is more and more is less&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Why?&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;I often undergo this once in a year when I try to change my phone. For past few years, I have been using smartphones (Android) but buying them is a strenuous exercise. It heavily taxes me. In fact, i take approximately about a month to decide whether to buy a phone and another month thinking what phone/brand to buy. Given the rate at which that I change the phone for past&amp;nbsp;few years, it makes sense to shortlist two or three phones and pick the right one. It is especially more tedious when you want to buy things online (because the website throws options at you that you can compare)&lt;br /&gt;&lt;br /&gt;Aren&#39;t choices good? The answer is &quot;yes&quot; and &quot;no&quot;. The choices are good as long as we are able to decide and they are bad when we hit the decision paralysis (making choices).&lt;br /&gt;&lt;br /&gt;Certainly, the choices beyond certain point overwhelm us. Our brain thinks that it is analyzing the choices but fails to understand that the choices deceive us. The brain gets tired and as a result, we end up making not so good choices (bad) or do not take decisions at all (worse).&lt;br /&gt;&lt;br /&gt;If you are from India and had taken your wife to get a saree, you would have experienced this. The female is known to make wise decisions when it comes to life but often indecisive to select a saree (so the number of choices is the culprit)&lt;br /&gt;&lt;br /&gt;So, it is true if someone says &quot;&lt;b&gt;less is more&lt;/b&gt;&quot; (when the choice is less, you act on those choices very quickly).&lt;br /&gt;&lt;br /&gt;Tidbits -&lt;a href=&quot;https://en.wikipedia.org/wiki/The_Paradox_of_Choice&quot; target=&quot;_blank&quot;&gt;&amp;nbsp;https://en.wikipedia.org/wiki/The_Paradox_of_Choice&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/7895628124085405395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=7895628124085405395&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/7895628124085405395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/7895628124085405395'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2017/12/paradox-of-choices.html' title='Paradox of Choices'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-4024835431553568650</id><published>2017-12-25T11:30:00.001+05:30</published><updated>2017-12-25T11:30:40.871+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Process Management"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Python Super Star"/><category scheme="http://www.blogger.com/atom/ns#" term="Signals"/><category scheme="http://www.blogger.com/atom/ns#" term="System Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Technical"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Process Management in Python - os._exit()</title><content type='html'>&lt;span style=&quot;text-align: justify;&quot;&gt;This is a continuation of series of posts on Process management in Python. Read&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://unstuck.grabyourfreedom.in/2017/12/process-management-in-python-osfork.html&quot; style=&quot;text-align: justify;&quot; target=&quot;_blank&quot;&gt;this&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;http://unstuck.grabyourfreedom.in/2017/12/process-management-in-python-osexec.html&quot; style=&quot;text-align: justify;&quot; target=&quot;_blank&quot;&gt;this&lt;/a&gt;&amp;nbsp;and &lt;a href=&quot;http://unstuck.grabyourfreedom.in/2017/12/process-management-in-python-oswait.html&quot; target=&quot;_blank&quot;&gt;this&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&amp;nbsp;before continuing further. In this post, we are going to see how os._exit works and how it is related to &quot;wait&quot;.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;os._exit&lt;/b&gt; when invoked, the process that is calling it terminates immediately without doing any clean-ups (however system.exit() can be handled by the Python program, a much safer/clean way). The parent process receives the exit status when the parent process calls &quot;wait&quot; or &quot;waitpid. os._exit calls _exit of OS&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style=&quot;text-align: justify;&quot;&gt;The following code demonstrates it. Beware, os._exit exits the process abruptly.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;For more information on exit and _exit refer -&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Exit_(system_call)&quot;&gt;https://en.wikipedia.org/wiki/Exit_(system_call)&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Refer the&amp;nbsp;&lt;a href=&quot;https://github.com/grabyourfreedom/assorted/blob/master/process_management/simple_exit.py&quot; target=&quot;_blank&quot;&gt;Code&amp;nbsp;in&amp;nbsp;GIT Hub&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Here is the code in Python (being Python, it is self-explanatory :-))&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;script src=&quot;https://gist.github.com/grabyourfreedom/16365d02e06cb788ec1b2a355be87b22.js&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/4024835431553568650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=4024835431553568650&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/4024835431553568650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/4024835431553568650'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2017/12/process-management-in-python-osexit.html' title='Process Management in Python - os._exit()'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-5209241854534247686</id><published>2017-12-24T11:30:00.000+05:30</published><updated>2017-12-24T11:30:06.139+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Process Management"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Python Super Star"/><category scheme="http://www.blogger.com/atom/ns#" term="Signals"/><category scheme="http://www.blogger.com/atom/ns#" term="System Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Technical"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Process Management in Python - os.wait()</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;This is a continuation of series of posts on Process management in Python. Read &lt;a href=&quot;http://unstuck.grabyourfreedom.in/2017/12/process-management-in-python-osfork.html&quot; target=&quot;_blank&quot;&gt;this&lt;/a&gt; and &lt;a href=&quot;http://unstuck.grabyourfreedom.in/2017/12/process-management-in-python-osexec.html&quot; target=&quot;_blank&quot;&gt;this&lt;/a&gt; before continuing further. In this post, we are going to see&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;How the parent process can get the status of its child after the child has exited using &quot;&lt;b&gt;os.wait&lt;/b&gt;&quot;&lt;/li&gt;&lt;li&gt;What happens to the child processes after they exit but the parent is still alive and did not get the status (defunct - meaning that userspace is cleared but a small about of information in kernel space is retained so as to give the information when the parent requests the status which may potentially lead to inability to create new processes)&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Getting the status of the child processes is simple. Just call &lt;b&gt;os.wait()&lt;/b&gt; to get status of any child processes or waitpid to get status of a specific process. Note, this is blocking call meaning that the parent (thread) waits here until the child is exited/terminated.&lt;br /&gt;&lt;br /&gt;For more information on wait/waitpid, refer -&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Wait_(system_call)&quot;&gt;https://en.wikipedia.org/wiki/Wait_(system_call)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Refer the &lt;a href=&quot;https://github.com/grabyourfreedom/assorted/blob/master/process_management/simple_wait.py&quot; target=&quot;_blank&quot;&gt;Code in GIT Hub&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is the code in Python (being Python, it is self-explanatory :-))&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;script src=&quot;https://gist.github.com/grabyourfreedom/37a8874cba9953debb4531aa6d1f525c.js&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/5209241854534247686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=5209241854534247686&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/5209241854534247686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/5209241854534247686'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2017/12/process-management-in-python-oswait.html' title='Process Management in Python - os.wait()'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-4343622736998096370</id><published>2017-12-23T11:30:00.000+05:30</published><updated>2017-12-23T11:42:12.650+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Process Management"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Python Super Star"/><category scheme="http://www.blogger.com/atom/ns#" term="Signals"/><category scheme="http://www.blogger.com/atom/ns#" term="System Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Technical"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Process Management in Python - os.exec</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;This is continuation of the previous post -&amp;nbsp;&lt;a href=&quot;http://unstuck.grabyourfreedom.in/2017/12/process-management-in-python-osfork.html&quot; target=&quot;_blank&quot;&gt;Process Management in Python - os.fork()&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;In Linux, running a command from the shell is a two-step process. The shell first creates a process using fork (posted earlier) and overlays a new program using &quot;exec&quot;. For example, when you want to run the command &quot;ls&quot; from the shell - the shell forks a copy of its own and immediately loads the binary of &quot;ls&quot; and starts the execution again.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Refer &lt;a href=&quot;https://en.wikipedia.org/wiki/Exec_(system_call)&quot; target=&quot;_blank&quot;&gt;https://en.wikipedia.org/wiki/Exec_(system_call)&lt;/a&gt;&amp;nbsp;for more details.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;Beware, you cannot find a function exec() but rather it is a family of functions with names such as - &lt;a href=&quot;https://docs.python.org/3/library/os.html&quot; target=&quot;_blank&quot;&gt;execl, execle, execlp, execv&lt;/a&gt;. The functions are almost same and they differ only in parameters that are being passed. I have used one such functions in the following code. When you run this code, you should see a directory listing - the current process upon the successful calling of exec, loads &quot;ls&quot; and executes it. Once &quot;ls&quot; is executed, it exits (like it normally used to do)&lt;br /&gt;&lt;br /&gt;As an experiment, you can do fork to create a child process and in the child process execution flow, you can overlay a new program.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;Refer the&amp;nbsp;&lt;a href=&quot;https://github.com/grabyourfreedom/assorted/blob/master/process_management/simple_exec.py&quot; target=&quot;_blank&quot;&gt;Code&amp;nbsp;in&amp;nbsp;GIT Hub&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Try running this script from Linux shell and see the output. Do not forget to share, like, comment if you like this post :-)&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;script src=&quot;https://gist.github.com/grabyourfreedom/ae2b2e50e6da7b5ce274258bbf9d40fa.js&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/4343622736998096370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=4343622736998096370&amp;isPopup=true' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/4343622736998096370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/4343622736998096370'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2017/12/process-management-in-python-osexec.html' title='Process Management in Python - os.exec'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-7612168360209063524</id><published>2017-12-22T18:30:00.002+05:30</published><updated>2017-12-23T08:00:22.727+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Process Management"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Python Super Star"/><category scheme="http://www.blogger.com/atom/ns#" term="Signals"/><category scheme="http://www.blogger.com/atom/ns#" term="System Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Technical"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Process Management in Python - os.fork()</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;Inspired by&amp;nbsp;&lt;a href=&quot;https://pymotw.com/3/signal/index.html&quot; style=&quot;text-align: justify;&quot;&gt;https://pymotw.com/3/signal/index.html&lt;/a&gt;, I thought of exploring os package in Python. The next few posts would be on process management and how to do it in Python. I would be showing you the code that is&amp;nbsp;tiny. The goal is to provide basic code and I leave the improvision to you.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;There are four important system calls - &lt;b&gt;fork, exec, wait and exit&lt;/b&gt; that are related to process management. Interestingly Python provides equivalent APIs as a part of &lt;a href=&quot;https://docs.python.org/3/library/os.html&quot; target=&quot;_blank&quot;&gt;os package&lt;/a&gt; so that you can do a lot of system programming (and use it in a cool way). In this post, let us see some code that uses &quot;&lt;b&gt;os.fork&lt;/b&gt;&quot; to create a new process.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;os.fork()&lt;/b&gt; - creates a new process (often called as parent-child processes). The following code has enough comments and some explanation embedded as comments. Suggest you read the code and run it in Linux box.&lt;br /&gt;&lt;br /&gt;Refer the&amp;nbsp;&lt;a href=&quot;https://github.com/grabyourfreedom/assorted/blob/master/process_management/simple_fork.py&quot; target=&quot;_blank&quot;&gt;Code in GIT Hub&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;If you want to know more about fork, refer -&amp;nbsp;&lt;a href=&quot;https://en.wikipedia.org/wiki/Fork_(system_call)&quot;&gt;https://en.wikipedia.org/wiki/Fork_(system_call)&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Share, comment and contribute if you like this post :-)&lt;/div&gt;&lt;br /&gt;&lt;script src=&quot;https://gist.github.com/grabyourfreedom/7d37d2b1e045ec5e13ce6705dba69d58.js&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/7612168360209063524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=7612168360209063524&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/7612168360209063524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/7612168360209063524'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2017/12/process-management-in-python-osfork.html' title='Process Management in Python - os.fork()'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-2802647058710047359</id><published>2017-12-21T17:56:00.001+05:30</published><updated>2017-12-23T07:58:50.391+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Python Super Star"/><category scheme="http://www.blogger.com/atom/ns#" term="Signals"/><category scheme="http://www.blogger.com/atom/ns#" term="System Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Technical"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Alarm and Signal in Python</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;Continuation to my &lt;a href=&quot;http://unstuck.grabyourfreedom.in/2017/12/signal-handling-in-python.html&quot; target=&quot;_blank&quot;&gt;previous post in Signals in Python&lt;/a&gt;. Again the credits go to&amp;nbsp;&lt;a href=&quot;https://pymotw.com/3/signal/index.html&quot; style=&quot;text-align: justify;&quot; target=&quot;_blank&quot;&gt;Python Module of the week&lt;/a&gt;. The following code shows how easier it is to work with Python. This simple script registers for an alarm using SIGALRM which is configured to fire after &quot;n&quot; seconds. After &quot;n&quot; seconds, the handler function gets called.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;In this code, I set alarm once as a part of main control flow and register again in the alarm handler. This program does not exit unless one kills the process or&amp;nbsp;stops the execution of the program. (Python code seems to be more beautiful)&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://github.com/grabyourfreedom/assorted/blob/master/signal_handling/signal_alarm.py&quot; target=&quot;_blank&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;https://github.com/grabyourfreedom/assorted/blob/master/signal_handling/signal_alarm.py&quot; target=&quot;_blank&quot;&gt;Code in GIT Hub&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Credits -&amp;nbsp;&lt;a href=&quot;https://pymotw.com/3/signal/index.html&quot;&gt;https://pymotw.com/3/signal/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;script src=&quot;https://gist.github.com/grabyourfreedom/a47c8444c9e93b5eb9409d174c229263.js&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/2802647058710047359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=2802647058710047359&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/2802647058710047359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/2802647058710047359'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2017/12/alarm-and-signal-in-python.html' title='Alarm and Signal in Python'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5658025786358089849.post-329491455363017951</id><published>2017-12-20T19:59:00.002+05:30</published><updated>2017-12-21T17:52:17.429+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Python"/><category scheme="http://www.blogger.com/atom/ns#" term="Python Super Star"/><category scheme="http://www.blogger.com/atom/ns#" term="Signals"/><category scheme="http://www.blogger.com/atom/ns#" term="System Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Technical"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Signal Handling in Python</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;If you are system programmer, you would have heard about signals and probably would have done lots of coding using signal. It might also be a second nature to you. But when you started to get your hands dirty with signals especially in C, it might have been quite involved. Now moving to signal handling in Python&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Recently (last week), there was a post from &lt;a href=&quot;https://pymotw.com/3/signal/index.html&quot; target=&quot;_blank&quot;&gt;Python Module of the week&lt;/a&gt; on signals and I thought I would try it. Here is the code that does some signal handling. You might want to check the full post (BTW, it is very interesting one). I feel that it easy to write code (and beautiful too) and I was able to do C-equivalent code in less than 30 minutes (which means that Python makes us productive). Here is the script that I wrote. You can find in &lt;a href=&quot;https://github.com/grabyourfreedom/assorted/blob/master/signal_handling/simple_single_handler.py&quot; target=&quot;_blank&quot;&gt;GIT Hub&lt;/a&gt; and feel free to play around.&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;Credits -&amp;nbsp;&lt;a href=&quot;https://pymotw.com/3/signal/index.html&quot;&gt;https://pymotw.com/3/signal/index.html&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;script src=&quot;https://gist.github.com/grabyourfreedom/1124c0816621ac1fa8384ec385e473fd.js&quot;&gt;&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://elevate.geekshub.in/feeds/329491455363017951/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5658025786358089849&amp;postID=329491455363017951&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/329491455363017951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5658025786358089849/posts/default/329491455363017951'/><link rel='alternate' type='text/html' href='http://elevate.geekshub.in/2017/12/signal-handling-in-python.html' title='Signal Handling in Python'/><author><name>Lakshmi</name><uri>http://www.blogger.com/profile/11379291369692978844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>