Image for post
Image for post

1. Urllib3

Urllib3 is an HTTP client for Python that brings many features that are missing from the Python standard libraries, such as thread safety, connection pooling, file uploads with multipart encoding, client-side SSL/TLS verification, plus lots more.

This package is #1 because almost 1200 packages depend on urllib3, many of them ranking very high on this list as well.

2. Six

six is a Python 2 and 3 compatibility library. The project is intended to support codebases that work on both Python 2 and 3.

If offers a number of functions that smooth the differences in syntax between Python 2 and 3. An easy to grasp examples of this is six.print_(). In Python 3, printing is done with the print() function, while in Python 2, print works without the parentheses. So, by using six.print_(), …

Access all of your favourite CLI tools (plus lots more) with one command

Image for post
Image for post

What is Starter Pack?

Starter Pack unifies all the other CLI tools. Forget having to install/remember/google lots of different commands, access them all through Starter Pack!

This also means you don’t have to worry about always keeping the various CLI tools you use up to date because Starter Pack will take care of it for you. Keep Starter Pack up to date and all your other CLI tools will be as well!

Who is Starter Pack for?

Everyone! We have created a tool that is (hopefully) accessible to developers of all skill levels.

But what about competing standards? Doesn’t this just create another?

This is an understandable concern. …

Channels that go beyond standard ‘how-to’ tutorials

Image for post
Image for post

1. Fun Fun Function

Fun Fun Function: Now defunct. Its creator, MPJ, took his excellent Quora question-answering abilities and translated that into a YouTube channel that currently has around 250k subscribers. Don’t let its defunct-ness stop you from checking this channel out, as there’s about 5 years worth of content on there for you to trawl through.

When he explains a concept, he explains it deeply. For example, MPJ has a video series on the concept of Testing, which is about 100 minutes long, spread across 7 videos. He doesn’t just show people how to write tests (which is what most tutorials miss the point of explaining such concepts by doing), but rather explains why we should write tests, what methodologies we can use, the pros and cons of each, along with writing the most basic of tests and then adding in complexity, step-by-step. …

Use Node.js and Puppeteer to easily create a reusable tool for crawling, collecting, and scraping data

Image for post
Image for post


The process of collecting information from a website (or websites) is often referred to as either web scraping or web crawling. Web scraping is the process of scanning a webpage/website and extracting information out of it, whereas web crawling is the process of iteratively finding and fetching web links starting from a URL or list of URLs.

While there are differences between the two, you might have heard the two words used interchangeably. Although this article will be a guide on how to scrape information, the lessons learned here can very easily be used for the purposes of ‘crawling’.

Hopefully I don’t need to spend much time talking about why we would look to scrape data from an online resource, but quite simply, if there is data you want to collect from an online resource, scraping is how we would go about it. And if you would prefer to avoid the rigour of going through each page of a website manually, we now have tools that can automate the process. …

Amazing coding resources, free courses, interview preparation, programming best practices, and more

Image for post
Image for post
GitHub can also be a tool for learning and growth

Besides being a great tool for maintaining code, GitHub can also be a tool for learning and growth. As a Software Developer, I am always on the lookout for useful GitHub repos that I can learn and find inspiration from. Here are 10 of my favourite.

1. Build Your Own X

GitHub stars: 80.2k

This is a fantastic resource for anyone who is looking to build something and is after some guidance on exactly how to approach it. You can also just find lots of really interesting stuff by browsing through the list.

2. JavaScript Algorithms

GitHub stars 79.8k

One of the differences between a Software Engineer and a Software Developer is that the Engineer is more likely to have a good grasp of algorithms and data structures. But whatever your background, this repo provides a thorough list of many different algorithms, data structures and answers to many typical questions you might expect to come across in a Software Engineering interview. …

React vs Vue: Now with React Hooks Vue 3 Composition API!

React vs Vue: the saga continues

A few years ago, I decided to try and build a fairly standard To Do App in React and Vue. Both apps were built using the default CLIs (create-react-app for React, and vue-cli for Vue). My aim was to write something that was unbiased and simply provided a snapshot of how you would perform certain tasks with both technologies.

When React Hooks were released, I followed up the original article with a ‘2019 Edition’ which replaced the use of Class Components with Functional Hooks.

Voluntary Positions Open

Become an Associate Editor for Python In Plain English

Image for post
Image for post
Python In Plain English

Python In Plain English — a division of In Plain English, a fast-growing publication platform — seeks to become one of the leading publishing platforms in the field of Python, Data Science, and related fields.

We are looking for talented individuals to become part of our Editorial team at Python in Plain English. You would be a part of a small team that helps to recruit new talented writers, create and/or edit, along with distributing high-quality publications, news, articles, and stories on Python, Data Science, and Python/Data-related topics.

As an “Associate Editor” you will play a key role as to continuously increase the quality of Python in Plain English as a publication, and publishing platform alike. …

A collection of notes on the topic of Linear Algebra, with the intention of helping to understand Neural Networks

Image for post
Image for post


x = horizontal
y = vertical


A vector, in CS is often characterised as an array with values inside of it. So for a two dimensional vector, with an x of 2 and a y of 1, it would look like this: [2,1].

Vector Addition

Let’s say that we have a vector of [2,1] and then a second vector that is [4,-3]. If we want to add these two vectors together, we would add the values together that correspond with one another (ie. add x and x, add y and y). So in this case, our addition would result in [6,-2]. Sometimes if we are visualising this on a graph, we could take our first set of [2,1] and plot that from the origin (which would usually be [0,0], then take the second value of [4,-3] and plot that as if it was a continuation from [2,1] on the graph. The result would still be the same as if you had taken your final value of [6,-2] and had plotted that. …

Intuition, Learning and Neural Networks. –

The following is an account of how things may operate if we were dealing with the implementation of a neural network that handles the processing of a handwritten number and has to calculate the output (ie, what the network thinks the number was between 0–9). These notes were written whilst watching the excellent ‘Essence of Neural Networks’ series by the 3blue1brown YouTube channel. Note: these notes were intended purely for my own educational benefit, but I have made them available as they could potentially help others.

Neural Networks

A neuron is a thing that holds a number between 0 and 1. If we had a 28x28px black and white image, we would have 784 pixels in total and each pixel would be represented by a neuron with a value between 0.00 and 1.00. White would be 1.00, black would be 0.00 and many shades of grey would make up the section between 0.01 …

Here are a bunch of recommendations that the In Plain English team consider to be best practices when writing articles that your readers will find engaging and easy-to-read

Image for post
Image for post
  • Take a moment to give your article a good title and subtitle. Try to make them concise, yet compelling. If in doubt, ask yourself: “Would I find this title interesting enough that I would want to continue to read the article?”
  • Don’t create weird formats for your headings and subheadings. Just keep them simple and make sure that the formatting for each heading/subheading in your article is consistent with one another. If you are planning on numbering your headings, here are some examples for you to refer to:

1. This is a good heading

2. This is another good heading

1 : > This is a bad heading

2 #: This is another bad heading

  • Half-baked articles look bad. If you cannot be bothered to take the time to write your article in a way that has good structure, good punctuation, good spelling, and good formatting, what makes you think that somebody else is going to spend good time reading it? …


Sunil Sandhu

Founder @ // Software Engineer @ // YouTuber @

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store