<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Nithish's Blog]]></title><description><![CDATA[I am Nithish, an Engineer with a background in diverse areas including Software Engineering, Dev Ops, Developer Relations, Data Engineering, Lean Startups, Desi]]></description><link>https://blog.nithishr.com</link><generator>RSS for Node</generator><lastBuildDate>Wed, 20 May 2026 04:51:51 GMT</lastBuildDate><atom:link href="https://blog.nithishr.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[How to Make the Most of Hackathons?]]></title><description><![CDATA[There are several hackathons on a wide variety of subjects every week. As a new person in the hackathon atmosphere, it could be quite overwhelming to attend a hackathon. In this article, I will summarize some of the things that I learned over the pas...]]></description><link>https://blog.nithishr.com/how-to-make-the-most-of-hackathons</link><guid isPermaLink="true">https://blog.nithishr.com/how-to-make-the-most-of-hackathons</guid><category><![CDATA[hackathon]]></category><category><![CDATA[ #2Articles1Week]]></category><category><![CDATA[100DaysOfCode]]></category><category><![CDATA[Learning Journey]]></category><category><![CDATA[tips]]></category><dc:creator><![CDATA[Nithish Raghunandanan]]></dc:creator><pubDate>Sun, 29 Nov 2020 08:58:54 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1606640208884/Fa4aDR4xy.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There are several hackathons on a wide variety of subjects every week. As a new person in the hackathon atmosphere, it could be quite overwhelming to attend a hackathon. In this article, I will summarize some of the things that I learned over the past few years by attending &amp; organizing hackathons.</p>
<h3 id="set-a-goal">🎯 Set a Goal</h3>
<p>To make the most of a hackathon, the most significant task is to come up with what we want to gain out of the hackathon. It could be something basic like building an application or specific like building an initial prototype for our next startup idea. To assist with setting a goal, it would be helpful to go through the hackathon website looking at their challenges, sponsors &amp; focus areas. </p>
<p>Some examples of goals:</p>
<ul>
<li>Work with a specific language or framework.</li>
<li>Solve some problem that can help us. This could be linked to our everyday work or life.</li>
<li>Learn more about a new technology that we are curious about.</li>
<li>Working on a specific challenge offered at the hackathon.</li>
</ul>
<h3 id="networking">👥 Networking</h3>
<p>Hackathons are a great place to meet interesting people. We can find people who share similar interests to ours &amp; also people who can complement our skills. Networking with sponsors may also help us to gain potential internships or jobs. </p>
<p>Talking to people that we meet might not be easy, but it will improve over time. When starting out attending events, it might help to set small goals like talking to 10 new people at an event. Another suggestion would be to join the side events held during the hackathon. There are often workshops teaching some technology or frameworks, fun events like karaoke, puzzles, etc. You will meet new people over the event in these gatherings. Over time, networking can improve our confidence in talking to people.</p>
<h3 id="team-formation">🤝 Team Formation</h3>
<p>In hackathons, we work in small teams with typical sizes varying between 2 &amp; 5. Having a team with complementary skills generally helps. But, even otherwise, we can have a good event with a group of people aligned towards a common goal.</p>
<p>A good way to join or found a team is to listen to the ideas that get shared by the participants at the start of the hackathon. Even if we don't know how to solve a problem, it makes sense to pitch the problem as someone else could be interested in solving the problem together.</p>
<h3 id="focus-on-the-mvp">⏳ Focus on the MVP</h3>
<p>At the beginning of the hackathon, after forming a team, try to envision what would be the perfect showcase for our solution. And with the showcase in mind, try to reduce the uncertainties as soon as possible. Once the uncertainties get reduced, the known parts could be combined. Try to use readily available solutions for the hackathon such as cloud services, open-source software, etc. They can save a lot of time &amp; effort for the showcase. When faced with a shortage of time, try to reduce the common components like login that might not be key to your showcase.</p>
<p>During the hackathon, it would also make sense to take some videos of the demo which can, later on, be added to the project submission page &amp; your portfolio. Additionally, the demo can be hosted somewhere like Heroku or Github Pages to be accessible after the hackathon.</p>
<h3 id="take-breaks">😴 Take Breaks</h3>
<p>Hackathons are known to be a place where the participants work non stop for 24-48 hours over the weekend. But, this is not necessary &amp; unrecommended. Always ensure that you take proper breaks &amp; try to get at least a few hours of sleep. The rested mind and body is much more effective than functioning non-stop. </p>
<h3 id="have-fun">🎉 Have Fun</h3>
<p>The most important part of the hackathon is to not be too stressed about the project &amp; to have fun. Take a look at the other projects that are being submitted &amp; talk to the teams to learn more about how they built their projects. This could even serve as inspiration for future projects.</p>
<p>I hope that you learnt something useful about participating in hackathons &amp; will try this at your next hackathon. </p>
<p>Let me know if you have any other suggestions. </p>
]]></content:encoded></item><item><title><![CDATA[Why do I Blog?]]></title><description><![CDATA[As part of the Hashnode Technical Writing Bootcamp, we were asked to write about why we blog. This would be the reference when facing Writer's block. 
My main motivations for blogging are like the ones I mentioned in my article on successful blogging...]]></description><link>https://blog.nithishr.com/why-do-i-blog</link><guid isPermaLink="true">https://blog.nithishr.com/why-do-i-blog</guid><category><![CDATA[bootcampii]]></category><category><![CDATA[motivation]]></category><category><![CDATA[Developer Blogging]]></category><category><![CDATA[ #2Articles1Week]]></category><dc:creator><![CDATA[Nithish Raghunandanan]]></dc:creator><pubDate>Thu, 26 Nov 2020 07:14:58 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1606374671825/A0owpN8GH.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As part of the <a target="_blank" href="https://hashnode.com/bootcamp/batch-2">Hashnode Technical Writing Bootcamp</a>, we were asked to write about why we blog. This would be the reference when facing Writer's block. </p>
<p>My main motivations for blogging are like the ones I mentioned in my article on <a target="_blank" href="https://blog.nithishr.com/what-is-successful-blogging-to-me">successful blogging</a>.</p>
<h3 id="reference-for-future">Reference for Future</h3>
<p>I want to write about things that would benefit me in the future. There are many situations where you look up the same information multiple times even from the same source. In these cases, it would help to have all the information in the same source, which is my blog.</p>
<h3 id="improve-my-understanding">Improve my Understanding</h3>
<p>Sharing your knowledge also helps in improving your understanding of the topic as you are trying to explain the concept to someone who might not have any background on the topic.</p>
<h3 id="give-back-to-the-community">Give back to the Community</h3>
<p>Even though I am not the most knowledgeable person on a topic, my writing could help someone going through the same problems. And these moments are always rewarding knowing that you helped someone &amp; motivate you to keep writing.</p>
<h3 id="get-feedback">Get Feedback</h3>
<p>Often, you get to know more about the topic from your readers. There could be better ways of solving a problem. It helps you in unearthing new information about a topic. </p>
<p>I would be happy to get your feedback / opinions on blogging.</p>
]]></content:encoded></item><item><title><![CDATA[6 Command-line Utilities to Improve your Workflows]]></title><description><![CDATA[We spend a lot of time as engineers on our terminals. Here is a list of 6 command-line utilities that can help you boost your productivity on the terminal. 
1. Autojump (j)
Autojump is a fast way to navigate your filesystem. It keeps track of the dir...]]></description><link>https://blog.nithishr.com/6-command-line-utilities-to-improve-your-workflows</link><guid isPermaLink="true">https://blog.nithishr.com/6-command-line-utilities-to-improve-your-workflows</guid><category><![CDATA[Programming Tips]]></category><category><![CDATA[terminal]]></category><category><![CDATA[bootcampii]]></category><category><![CDATA[Productivity]]></category><category><![CDATA[command line]]></category><dc:creator><![CDATA[Nithish Raghunandanan]]></dc:creator><pubDate>Sun, 22 Nov 2020 22:26:45 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1606122057930/WRgEmsDV8.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We spend a lot of time as engineers on our terminals. Here is a list of 6 command-line utilities that can help you boost your productivity on the terminal. </p>
<h3 id="1-autojump-j">1. Autojump (j)</h3>
<p>Autojump is a fast way to navigate your filesystem. It keeps track of the directories that you access &amp; their usage frequency. </p>
<p><strong>Usage: </strong></p>
<ul>
<li>To navigate to a directory that contains <code>Downloads</code> from any directory in the filesystem<pre><code><span class="hljs-attribute">j</span> Downloads
</code></pre></li>
</ul>
<p><a target="_blank" href="https://github.com/wting/autojump">Link</a></p>
<h3 id="2-bat">2. bat</h3>
<p>Bat is a <code>cat</code> clone with support for syntax highlighting for the commonly used programming languages &amp; markup formats.</p>
<p><strong>Usage:</strong></p>
<pre><code><span class="hljs-attribute">bat</span> filename
</code></pre><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1606077167750/-lbEqzpcQ.png" alt="bat highlighting the syntax of Python" /> </p>
<p><a target="_blank" href="https://github.com/sharkdp/bat">Link</a></p>
<h3 id="3-fuzzy-finder-fzf">3. Fuzzy Finder (fzf)</h3>
<p>Fuzzy Finder is an interactive command-line tool for fuzzy search. You can use it to find the files by typing a few characters of the file with instant feedback. </p>
<p>You can also use it to search any list on the terminal such as command history, git logs, processes, etc.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1606079217983/mXFlK5pfe.gif" alt="Demo of fzf" /></p>
<p><a target="_blank" href="https://github.com/junegunn/fzf">Link</a></p>
<h3 id="4-tldr">4. tldr</h3>
<p>Have you felt that the man pages are too verbose when you are looking for an option for a command? </p>
<p>Try <code>tldr</code> which gives you community-maintained help pages for command-line tools. </p>
<p><strong>Usage</strong></p>
<pre><code><span class="hljs-attribute">tldr</span> command_or_utility
</code></pre><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1606079807478/HgaLUvow2.png" alt="tldr for man pages" /></p>
<p><a target="_blank" href="https://github.com/tldr-pages/tldr">Link</a></p>
<h3 id="5-cal">5. cal</h3>
<p><code>cal</code> shows you the calendar in your terminal. </p>
<p>For those times when you do not remember today's day or date!</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1606080750469/YqjLJJKqD.png" alt="cal showing the calendar on the terminal" /></p>
<h3 id="6-sudo">6. sudo !!</h3>
<p>Did you have to run the last command as a superuser instead of your normal user? <code>sudo !!</code> can come to your rescue. It runs the last command as a superuser. </p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1606081057127/25y4wZmjn.png" alt="Example of running previous command as superuser" /></p>
<p>Let me know which one you use or would use in the comments!</p>
<p>Do you have any additions to this list? Share it in the comments.</p>
]]></content:encoded></item><item><title><![CDATA[What is Successful Blogging to Me?]]></title><description><![CDATA[I have recently been trying to write more by participating in the  Hashnode Technical Writing Bootcamp. As part of one of our sessions, we were asked to think about what successful blogging means to each of us & write about it. 
Before I start going ...]]></description><link>https://blog.nithishr.com/what-is-successful-blogging-to-me</link><guid isPermaLink="true">https://blog.nithishr.com/what-is-successful-blogging-to-me</guid><category><![CDATA[#sucessful blogging]]></category><category><![CDATA[learning]]></category><category><![CDATA[bootcampii]]></category><dc:creator><![CDATA[Nithish Raghunandanan]]></dc:creator><pubDate>Fri, 20 Nov 2020 20:41:46 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1605903941223/zVCMg_UY0.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I have recently been trying to write more by participating in the  <a target="_blank" href="https://hashnode.com/bootcamp/batch-2">Hashnode Technical Writing Bootcamp</a>. As part of one of our sessions, we were asked to think about what successful blogging means to each of us &amp; write about it. </p>
<p>Before I start going into some of my reasoning for blogging, let me tell a bit about myself. In the past, I have written an odd article or two even getting picked up as a tutorial. I enjoyed writing the articles. However, I always felt that I needed something which was not commonly explored to write about. Meeting this requirement is not easy with hundreds of different blog posts coming out every day. Only recently did I recognise that this was the imposter syndrome in me.</p>
<p>At the same time, I was seeing tweets from a lot of Indie creators like the one below from David Perell on learning in public.</p>
<p></p><blockquote><p>The Internet rewards people who learn in public.</p>— David Perell (@david_perell) <a href="https://twitter.com/david_perell/status/1259361298082459648?ref_src=twsrc%5Etfw">May 10, 2020</a></blockquote> <p></p>
<p>Being inspired by similar tweets &amp; articles, I am trying to get back to writing. This time my goals are quite simple.</p>
<ul>
<li>Write about anything that might help me in the future. There have been many instances where I have looked up the same thing multiple times. My writings would be a good source for me to refer to recurring problems. I started with  <a target="_blank" href="https://blog.nithishr.com/how-to-process-data-in-batches-in-python">one</a>  here on Hashnode.</li>
<li>Another advantage of writing for yourself is that during this process of explaining the concept, you learn the topic better. I have seen this while giving talks on different topics. I learn much better when I try to explain something to someone else.</li>
<li>At the same time, if the writing helps someone facing a similar situation, it is a bonus. There would be people who know more than you in any given topic. Similarly, there would be people who might learn from your experience. The only way to find out is by sharing my experiences.</li>
<li>I want to try to keep all the vanity metrics like views, reactions, etc out of the process. These things should not be what I care about while sharing my experiences. It is not easy with all the dopamine hits that you get from these metrics on social media.</li>
<li>At some point in the future, I would also like to share my articles a bit more on social media but it is not a priority at the moment. </li>
<li>Above all, I want to enjoy the process of writing, sharing experiences. At the end that is the only way, I can keep sharing my experiences.</li>
</ul>
<p>I want to finish this article with an aspirational goal from one of the modern writers. </p>
<p></p><blockquote><p>Make your failings public; keep your virtues secret.</p>— Nassim Nicholas Taleb (@nntaleb) <a href="https://twitter.com/nntaleb/status/1259212594231066632?ref_src=twsrc%5Etfw">May 9, 2020</a></blockquote> <p></p>
<p>I would be happy to know about your experiences with learning in public.</p>
<p>Cover <span>Photo by <a href="https://unsplash.com/@sincerelymedia">Sincerely Media</a> on <a href="https://unsplash.com/">Unsplash</a></span></p>
]]></content:encoded></item><item><title><![CDATA[How to Process Data in Batches in Python]]></title><description><![CDATA[There are some situations when you have a huge list of items to process but you cannot do them in one go due to some limitations of the systems that process the list. 
Some examples:

When you need to access an API that supports only 100 items at onc...]]></description><link>https://blog.nithishr.com/how-to-process-data-in-batches-in-python</link><guid isPermaLink="true">https://blog.nithishr.com/how-to-process-data-in-batches-in-python</guid><category><![CDATA[Python]]></category><category><![CDATA[Programming Tips]]></category><category><![CDATA[hashnodebootcamp]]></category><dc:creator><![CDATA[Nithish Raghunandanan]]></dc:creator><pubDate>Sun, 15 Nov 2020 22:06:56 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1605476176621/UUHEzaHij.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There are some situations when you have a huge list of items to process but you cannot do them in one go due to some limitations of the systems that process the list. </p>
<p>Some examples:</p>
<ul>
<li>When you need to access an API that supports only 100 items at once in the request, you need to split your original list into lists of 100 items &amp; combine the results.</li>
<li>You have a long list of items that you want to process parallely. You can split them into the number of sub processes that you want &amp; process them independently.</li>
</ul>
<pre><code><span class="hljs-attr">long_list</span> = list(range(<span class="hljs-number">100</span>))
<span class="hljs-attr">sub_list_length</span> = <span class="hljs-number">10</span>
<span class="hljs-attr">sub_lists</span> = [
    long_list[i : i + sub_list_length]
    for i in range(<span class="hljs-number">0</span>, len(long_list), sub_list_length)
]
</code></pre><p>Let us try to break down the code</p>
<p><code>long_list</code> is a list of 100 numbers. We are splitting this list of numbers into sub lists specified by the <code>sub_list_length</code> of 10. The list comprehension is relying on slices of the original list. </p>
<pre><code><span class="hljs-string">print(long_list)</span>
[<span class="hljs-number">0</span>, <span class="hljs-number">1</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>, <span class="hljs-number">4</span>, <span class="hljs-number">5</span>, <span class="hljs-number">6</span>, <span class="hljs-number">7</span>, <span class="hljs-number">8</span>, <span class="hljs-number">9</span>, <span class="hljs-number">10</span>, <span class="hljs-number">11</span>, <span class="hljs-number">12</span>, <span class="hljs-number">13</span>, <span class="hljs-number">14</span>, <span class="hljs-number">15</span>, <span class="hljs-number">16</span>, <span class="hljs-number">17</span>, <span class="hljs-number">18</span>, <span class="hljs-number">19</span>, <span class="hljs-number">20</span>, <span class="hljs-number">21</span>, <span class="hljs-number">22</span>, <span class="hljs-number">23</span>, <span class="hljs-number">24</span>, <span class="hljs-number">25</span>, <span class="hljs-number">26</span>, <span class="hljs-number">27</span>, <span class="hljs-number">28</span>, <span class="hljs-number">29</span>, <span class="hljs-number">30</span>, <span class="hljs-number">31</span>, <span class="hljs-number">32</span>, <span class="hljs-number">33</span>, <span class="hljs-number">34</span>, <span class="hljs-number">35</span>, <span class="hljs-number">36</span>, <span class="hljs-number">37</span>, <span class="hljs-number">38</span>, <span class="hljs-number">39</span>, <span class="hljs-number">40</span>, <span class="hljs-number">41</span>, <span class="hljs-number">42</span>, <span class="hljs-number">43</span>, <span class="hljs-number">44</span>, <span class="hljs-number">45</span>, <span class="hljs-number">46</span>, <span class="hljs-number">47</span>, <span class="hljs-number">48</span>, <span class="hljs-number">49</span>, <span class="hljs-number">50</span>, <span class="hljs-number">51</span>, <span class="hljs-number">52</span>, <span class="hljs-number">53</span>, <span class="hljs-number">54</span>, <span class="hljs-number">55</span>, <span class="hljs-number">56</span>, <span class="hljs-number">57</span>, <span class="hljs-number">58</span>, <span class="hljs-number">59</span>, <span class="hljs-number">60</span>, <span class="hljs-number">61</span>, <span class="hljs-number">62</span>, <span class="hljs-number">63</span>, <span class="hljs-number">64</span>, <span class="hljs-number">65</span>, <span class="hljs-number">66</span>, <span class="hljs-number">67</span>, <span class="hljs-number">68</span>, <span class="hljs-number">69</span>, <span class="hljs-number">70</span>, <span class="hljs-number">71</span>, <span class="hljs-number">72</span>, <span class="hljs-number">73</span>, <span class="hljs-number">74</span>, <span class="hljs-number">75</span>, <span class="hljs-number">76</span>, <span class="hljs-number">77</span>, <span class="hljs-number">78</span>, <span class="hljs-number">79</span>, <span class="hljs-number">80</span>, <span class="hljs-number">81</span>, <span class="hljs-number">82</span>, <span class="hljs-number">83</span>, <span class="hljs-number">84</span>, <span class="hljs-number">85</span>, <span class="hljs-number">86</span>, <span class="hljs-number">87</span>, <span class="hljs-number">88</span>, <span class="hljs-number">89</span>, <span class="hljs-number">90</span>, <span class="hljs-number">91</span>, <span class="hljs-number">92</span>, <span class="hljs-number">93</span>, <span class="hljs-number">94</span>, <span class="hljs-number">95</span>, <span class="hljs-number">96</span>, <span class="hljs-number">97</span>, <span class="hljs-number">98</span>, <span class="hljs-number">99</span>]
</code></pre><pre><code><span class="hljs-string">print(sub_lists)</span>
[[<span class="hljs-number">0</span>, <span class="hljs-number">1</span>, <span class="hljs-number">2</span>, <span class="hljs-number">3</span>, <span class="hljs-number">4</span>, <span class="hljs-number">5</span>, <span class="hljs-number">6</span>, <span class="hljs-number">7</span>, <span class="hljs-number">8</span>, <span class="hljs-number">9</span>], [<span class="hljs-number">10</span>, <span class="hljs-number">11</span>, <span class="hljs-number">12</span>, <span class="hljs-number">13</span>, <span class="hljs-number">14</span>, <span class="hljs-number">15</span>, <span class="hljs-number">16</span>, <span class="hljs-number">17</span>, <span class="hljs-number">18</span>, <span class="hljs-number">19</span>], [<span class="hljs-number">20</span>, <span class="hljs-number">21</span>, <span class="hljs-number">22</span>, <span class="hljs-number">23</span>, <span class="hljs-number">24</span>, <span class="hljs-number">25</span>, <span class="hljs-number">26</span>, <span class="hljs-number">27</span>, <span class="hljs-number">28</span>, <span class="hljs-number">29</span>], [<span class="hljs-number">30</span>, <span class="hljs-number">31</span>, <span class="hljs-number">32</span>, <span class="hljs-number">33</span>, <span class="hljs-number">34</span>, <span class="hljs-number">35</span>, <span class="hljs-number">36</span>, <span class="hljs-number">37</span>, <span class="hljs-number">38</span>, <span class="hljs-number">39</span>], [<span class="hljs-number">40</span>, <span class="hljs-number">41</span>, <span class="hljs-number">42</span>, <span class="hljs-number">43</span>, <span class="hljs-number">44</span>, <span class="hljs-number">45</span>, <span class="hljs-number">46</span>, <span class="hljs-number">47</span>, <span class="hljs-number">48</span>, <span class="hljs-number">49</span>], [<span class="hljs-number">50</span>, <span class="hljs-number">51</span>, <span class="hljs-number">52</span>, <span class="hljs-number">53</span>, <span class="hljs-number">54</span>, <span class="hljs-number">55</span>, <span class="hljs-number">56</span>, <span class="hljs-number">57</span>, <span class="hljs-number">58</span>, <span class="hljs-number">59</span>], [<span class="hljs-number">60</span>, <span class="hljs-number">61</span>, <span class="hljs-number">62</span>, <span class="hljs-number">63</span>, <span class="hljs-number">64</span>, <span class="hljs-number">65</span>, <span class="hljs-number">66</span>, <span class="hljs-number">67</span>, <span class="hljs-number">68</span>, <span class="hljs-number">69</span>], [<span class="hljs-number">70</span>, <span class="hljs-number">71</span>, <span class="hljs-number">72</span>, <span class="hljs-number">73</span>, <span class="hljs-number">74</span>, <span class="hljs-number">75</span>, <span class="hljs-number">76</span>, <span class="hljs-number">77</span>, <span class="hljs-number">78</span>, <span class="hljs-number">79</span>], [<span class="hljs-number">80</span>, <span class="hljs-number">81</span>, <span class="hljs-number">82</span>, <span class="hljs-number">83</span>, <span class="hljs-number">84</span>, <span class="hljs-number">85</span>, <span class="hljs-number">86</span>, <span class="hljs-number">87</span>, <span class="hljs-number">88</span>, <span class="hljs-number">89</span>], [<span class="hljs-number">90</span>, <span class="hljs-number">91</span>, <span class="hljs-number">92</span>, <span class="hljs-number">93</span>, <span class="hljs-number">94</span>, <span class="hljs-number">95</span>, <span class="hljs-number">96</span>, <span class="hljs-number">97</span>, <span class="hljs-number">98</span>, <span class="hljs-number">99</span>]]
</code></pre><pre><code><span class="hljs-string">print(list(range(0,</span> <span class="hljs-string">len(long_list),</span> <span class="hljs-string">sub_list_length)))</span>
[<span class="hljs-number">0</span>, <span class="hljs-number">10</span>, <span class="hljs-number">20</span>, <span class="hljs-number">30</span>, <span class="hljs-number">40</span>, <span class="hljs-number">50</span>, <span class="hljs-number">60</span>, <span class="hljs-number">70</span>, <span class="hljs-number">80</span>, <span class="hljs-number">90</span>]
</code></pre><h4 id="processing-the-sub-lists">Processing the Sub Lists</h4>
<pre><code>results = []
<span class="hljs-keyword">for</span> sub_list in sub_lists:
    partial_result = process_function(sub_list)
    results.<span class="hljs-built_in">append</span>(partial_result)
</code></pre><p>Here <code>process_function</code> can be any function that processes the lists. In our example, this would be the call to the API or sub processes that process the lists.</p>
<h4 id="bonus-tip-keeping-track-of-progress">Bonus Tip: Keeping track of Progress</h4>
<p>Additionally, you can keep track of the progress of the process by wrapping up the for loop iterable using an open source library, <a target="_blank" href="https://github.com/tqdm/tqdm">tqdm</a> to display a progress bar that also indicates how long each iteration takes. It works for any iterable as well.</p>
<pre><code><span class="hljs-keyword">from</span> tqdm <span class="hljs-keyword">import</span> tqdm
results = []
<span class="hljs-keyword">for</span> sub_list <span class="hljs-keyword">in</span> tqdm(sub_lists):
    partial_result = process_function(sub_list)
    results.append(partial_result)
</code></pre><p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1605477753084/df71_O3Ki.gif" alt="Progress Bar" /></p>
<p>This has come in quite handy for me in quite a few cases. </p>
<p><span>Cover Photo from <a href="https://unsplash.com/@chuttersnap?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">CHUTTERSNAP</a> on <a href="https://unsplash.com?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></span></p>
]]></content:encoded></item></channel></rss>