teleren/devto huggingface dataset:
How to Filter Cells by Text Length in Microsoft Excel 365?
Tags: filtercellsbytextlen, kutools
Published: 2020-08-06 10:34:28

---
title: How to Filter Cells by Text Length in Microsoft Excel 365?
published: true
date: 2020-07-31 15:37:55 UTC
tags: FiltercellsbyTextlen,Kutools
canonical_url: https://geekexcel.com/how-to-filter-cells-by-text-length-in-microsoft-excel-365/
---

## Filter Cells by Text Length in Excel:

In this article, you will learn the steps to **Filter Cells by Text length in Excel** 365 using **Kutools**.

Kutools has a special feature of **Special Filter** option which is used to filter the cells by text length in the selected range of cells. Because this is the only easy way to solve this task.

**Note:** [kutools for Excel](https://geekexcel.com/get-kutools-for-ms-excel-2019-2016-2013-2010-2007-office-365/) is third party plugin. You have to install it from Excel’s official website. It has many built-in features to solve complicated tasks quickly.


## Steps to Filter Cells by Text Length in Excel:

- To Filter Cells by Text Length in Excel, do as follows.
- You have to select the list in which you want to filter cells by text length, then On the **Kutools**  **Plus** tab, select the **Special Filter** option, choose the **Special Filter** option from the menu.

![](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/07/1-16.png)

- It will open the **Special Filter dialog box**. Check the **Text** option, **Choose** the **Text length** equal to option from the drop-down list under the **Filter rules** option.
- **Type** the specified **text length** in the text box.
- Hit the **Ok** button.

![](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/07/2-15.png)

- After clicking the **ok** button, it will open the dialog box like below.

![](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/07/3-14.png)

- Now, you can see the filtered cells that contain only the specified text length is displayed in the spreadsheet.

![](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/07/4-14.png)

### Note:

- You can also add the font color and background color to the filtered cells, refer to the below example image.

![](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/07/5-11.png)

- After clicking the ok button in the above dialog box, you will get the filtered result that **highlighted with the**  **background and font color**.

![](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/07/6-9.png)

- You can also select the entire rows of the filtered cells by **checking the Select entire rows option**.

![](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/07/7-7.png)

- So, you will get the result as below image.

![](https://eadn-wc04-371788.nxedge.io/cdn/wp-content/uploads/2020/07/8-6.png)

## Bottom  Line:

In this article, you can understand the steps to **Filter Cells by Text length in Excel** 365 using **Kutools**. Leave your **feedback** in the comment section. Thanks for visiting **[Geek Excel.](https://geekexcel.com/)** Keep Learning!!
CSS Overview for Chrome
Tags: css, devtools, chrome
Published: 2020-07-31 15:23:02

CSS Overview for Chrome is a great feature that lets you check what colours and fonts you are using on your site. Sometimes we don't realise how many shades of grey we have. Having a panel in the dev tools so that we can easily check this is pretty cool.

It also checks what media queries you have and any unused declarations 👀.

![CSS Overview](https://dev-to-uploads.s3.amazonaws.com/i/dfuc9c51h0jfu94xnmsh.png)

To set it up:
- open dev tools
- click on the settings icon
- click on experimental
- select CSS Overview
- close dev tools
- reopen dev tools

You will now see a new panel in your dev tools called **CSS Overview**.

This feature is experimental and might change or even better, might improve over time. Enjoy
Python IF statement
Tags: python, beginners
Published: 2020-07-31 15:20:45

'>>> # Measure some strings:
... words = ['cat', 'window', 'defenestrate']
>>> for w in words:
...     print(w, len(w))
...
cat 3
window 6
defenestrate 12'


I want to assume that I know what lead to the output but I do not fully understand the if statement. What is the use of the variable "w" ?
I mean , what is it doing ?
Find and Hire Remote Developers at a tenth of a cost through TalRemote!
Tags: remotejobs, hiring, developers
Published: 2020-07-31 15:09:04

Hi All!

Hope you are all well :) I'm working in a cool new startup called  TalRemote which is an unique platform that makes hiring easy. By giving direct access to companies to find and hire quality, ex-FAANG developers for remote roles with ease, TalRemote not only saves time but also thousands of dollars that is spent on HR services. 

If you are someone looking to make the switch to a remote career or are looking to hire someone for a remote role, do check our website! https://talremote.com/
Saving time with Postman
Tags: postman, api, tutorial, productivity
Published: 2020-07-31 15:02:21

## Introduction

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/2n5kyj9j641fxd1qhq76.png)

Postman has become an integral part of a developer's life. It offers a variety of features apart from developing and testing APIs to reduce manual work, and I'm going to share a few of them.

**_PS_** I have highlighted the used features in the images to follow.

## Features

### Importing cURL

Remember the time when someone shared a cURL with you and you couldn't make sense of all the flags and options that were used in it? Well, Postman can interpret it for you via a straightforward UI. All you have to do is click on **Import**, go to **Raw Text**, paste the cURL, click **Continue**, and Tada :tada:.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/dxoxqw3ell749nbi31n0.png)

### Save the Response

I came across the next feature just a few days back when I wanted to save the response of an API because you know, the servers aren't always working as expected :smile:. No problem, Postman had my back. Just click on **Save Response** as depicted in the following image and you are good to go.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/00xszcz0nuzrfpoiyzqt.png)

You can now access the saved response for that API as below.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/pe7s0jg7xav0gncgq2fn.png)

You can also save the response directly to a file via the **Send to a file** option.

[Link](https://tuls.in/saving-time-with-postman) to the complete article.
Step by Step Kubernetes Deployment using Helm | Kubernetes on Cloud ☁️ 🚀 (2/2)
Tags: kubernetes, devops, cloud, tutorial
Published: 2020-07-31 14:49:22

In the below demo video we go through a **practical use case of deploying applications on a managed Kubernetes cluster on Linode Kubernetes Engine**.

*What we deploy:*
![Deployment Managed Kubernetes Cluster](https://dev-to-uploads.s3.amazonaws.com/i/nuvp5oc34o1tr8omgq2s.png)

I will show you how to deploy a replicated database, configure its persistence and making it available with a UI client from browser using Ingress. To make the process more efficient, we will also use Helm Charts (Helm is a package manager for Kubernetes). 🚀

### Basic Setup knowledge 😎 ###
You will need this setup almost always for your Kubernetes cluster. No matter which database or cloud platform you use. So you can **use the concept you learn in this video for many other use cases as well** ✅


### Follow along in this demo 🤓 👩🏻‍💻 ###

1. Deploy replicated MongoDB (StatefulSet using Helm)
2. Configure Data Persistence for MongoDB
3. Deploy MongoExpress (Deployment and Service)
4. Deploy NGINX Ingress Controller as Loadbalancer (using Helm)
5. Configure Ingress rule

In detail we will deploy MongoDB on Linode Kubernetes Cluster using Helm (1.). We will create replicated MongoDB using StatefulSet component and configure data persistence for MongoDB with Linode's cloud storage (2.).

Then we will deploy MongoExpress, a UI client, for MongoDB database to access it from the browser (3.). For this client we will configure NGINX Ingress Controller (4.), which means deploying Ingress Controller in the cluster and configure Ingress rule to route the request to MongoExpress internal Service (5.).

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
### Need some refresher before starting the demo? 👀  ###
If you need some pre-knowledge of some Kubernetes components, e.g. what StatefulSet is, how Data Persistence work in Kubernetes and what Ingress and Helm is in general etc. check out my Kubernetes playlist, which covers everything in detail 💡 https://www.youtube.com/playlist?list=PLy7NrYWoggjwPggqtFsI_zMAwvG0SqYCb
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

Watch the full video here 🤓
{% youtube JGtJj_nAA2s %}

All the source code is documented on Gitlab ► [Gitlab LKE Demo](https://gitlab.com/nanuchi/kubernetes-tutorial-series-youtube/-/tree/master/linode-kubernetes-engine-demo) so you can follow along easily. 🙌🏼

-----------------
**Like, share and follow me** 😍 for more content:
- [Twitter](https://twitter.com/Njuchi_)
- [YouTube](https://www.youtube.com/channel/UCdngmbVKX1Tgre699-XLlUA?sub_confirmation=1)
- [Instagram](https://www.instagram.com/techworld_with_nana/)
- [LinkedIn](linkedin.com/in/nana-janashia)
Using nginx to fake a slow connection
Tags: nginx
Published: 2020-07-31 14:24:17

---
title: Using nginx to fake a slow connection
published: true
description: Today I had to test some features of a website on a slow connection and, turns out, neither IE nor Edge give you the option to limit network speed. This is how I used nginx to do it myself...
tags: nginx
//cover_image: https://direct_url_to_image.jpg
---

A simple situation: Some Javascript code hides all images in an image grid until they are completely loaded, then throws them back into the document. Meanwhile a spinner should be shown instead so the user isn't confused by the empty page if the images take a while to load.

Of course, on a local machine or in a local network, images will load near-instantly and this sort of behaviour is hard to debug. Chrome offers a very nice feature: you can limit a pages loading speed to fake a slow mobile connection. This delays the image loading enough to get a good look at the spinners.

Trouble starts with older browsers like IE or edge. They don't let you limit the bandwidth whatsoever (at least I couldn't find any such option), and they're the usual suspects for correct CSS to mysteriously fail because of rendering bugs.

I was facing exactly that situation today, and after short consideration decided to use nginx to just create my own bandwidth-limiting proxy server.

After creating a simple and working nginx server configuration, this is the relevant part I added to the `http` block:

```
server {
   listen 4001;
   location / {
      proxy_pass http://localhost:4000/;
      limit_rate 10k; 
   }
}
```

That's it. Start the server, and navigate to any route on the original server (running on port `4000` in this case), then just increase the port number by one to get the limited version of the same page.

While this solution differs from chromes limiting in that it limits the connection to small chunks every second instead of simulating large packets with very long round-trip times, this is more than enough for most cases.

I will certainly be using this trick again, not even just for developing on old browsers, but also because it's a simple way to show someone the "slow network experience" without them having to set up their browser for it.

I suppose with a bit of scripting (using the nginx-lua-module, that is) this could even be extended to simulate many different kinds of network failure.

Anyway, I hope you found this article helpful, and it'd be interesting to hear from people who do this kind of work more often (I only have to deal with web design every now and then) and might even use dedicated tools for it :)
Github Better Comments 🤓🤩 firefox extension
Tags: showdev, webdev, productivity, github
Published: 2020-07-31 14:22:07

So I got inspired from better comments extension and made an addon for firefox.

What it does is adds colors to the comments on Github files.

![snap](https://dev-to-uploads.s3.amazonaws.com/i/la992i0yiu368zd94oi2.png)

Supported comments annotations are:

### Alerts (!) Red
`! This is alert`

### Queries (?) Blue
`? This is a query`

### TODOs (TODO:) Orange
`TODO: This is to be done`

### Highlights (*) Green
`* This is a comment`

--- 

**Here is the link:**
https://addons.mozilla.org/en-US/firefox/addon/github-better-comments/

---

I made it first for chromium but it turns out that I've to pay them for a dev account.
Caesar's Cipher
Tags: javascript, algorithms
Published: 2020-07-31 13:53:40

Continuing on with my FreeCodeCamp algorithms and data structures! We are given this:

> One of the simplest and most widely known ciphers is a Caesar cipher, also known as a shift cipher. In a shift cipher the meanings of the letters are shifted by some set amount.

> A common modern use is the ROT13 cipher, where the values of the letters are shifted by 13 places. Thus 'A' ↔ 'N', 'B' ↔ 'O', and so on.

> Write a function that takes a ROT13 encoded string as input and returns a decoded string.

> All letters will be uppercase. Do not transform any non-alphabetic character (i.e. spaces, punctuation), but do pass them on.

These are my favorite types of problems. Where you can easily do it in your head but difficult when it comes down to coding it.

We can start by creating an array of the alphabet, repeated twice! Why? Because all of the letters will shift 13 characters down the alphabet. If we're given the character "z" to shift, our code would not understand that it needs to go back to "a" and continue down the alphabet. Do you want to code that? I don't. So we are just going to repeat it twice to make it easier for us.

```js
const rot13 = str => {
  let cipher = "";
  const alphabet = [..."ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"];

  return cipher;
};
```

Now we have to create a `for` loop where we go through each character in our `str`, shift it 13 spaces, then add it to our cipher. Some of the tests have punctuation, though! So we'll have to determine if our loop is seeing a character in the alphabet or something else. Here is the final result:

```js
const rot13 = str => {
  let cipher = "";
  const alphabet = [..."ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"];

  for (let i = 0; i < str.length; i++) {
    if (/\w/.test(str[i])) {
      // checks if letter
      cipher += alphabet[alphabet.indexOf(str[i]) + 13];
    } else {
      cipher += str[i];
    }
  }

  return cipher;
};
```

You can see in our `for` loop that we use REGEX to determine if what we're seeing is a letter or not. `if` it's a letter, we move it down 13 spaces then add it to our `cipher` variable. `if` it's not a letter, we simply just add it to the variable. 

It's that easy! I challenge you to come up with a different way of solving this algorithm!
Managed Kubernetes Service explained | Kubernetes on Cloud ☁️ 🚀 (1/2)
Tags: kubernetes, cloud, devops, tutorial
Published: 2020-07-31 14:18:06

There are so many tools and trends out there like ***Infrastructure as a Service, Kubernetes on Cloud or Managed Kubernetes Service*** that have developed over the last few years 🙉, so it's good to get a **good big picture** of these concepts. 

In the below video I talk about **running Kubernetes on Cloud and the benefits of a Managed Kubernetes Service**. 

### Unmanaged vs Managed Kubernetes cluster 🤔 ###
I explain the option of an unmanaged vs managed Kubernetes cluster on a cloud platform. 

*Unmanaged cluster* means you need to **create your own cluster from scratch and manage everything on your own**. Which is not practical, when you want to setup things fast and easy.

*Managed Kubernetes cluster:* Cloud providers also offer Managed Kubernetes service (e.g. Linode Kubernetes Engine - LKE). This means you don't need to create the cluster from scratch and most is done automatically for you.

E.g. if you create a Kubernetes cluster on LKE you just choose the number of Worker Nodes. The **Master Nodes are created automatically in the background and are managed by the cloud platform**. So, you don't have to manage, secure or do any configuration on it and you only pay for the Worker Nodes 💸


### Data Persistence, Load Balancing,... in a managed K8s cluster 🚀 ###
In detail I go through the topics of 
- spinning up a cluster, 
- making your web application available from the browser through a load balancer, 
- how data persistence works in a managed Kubernetes cluster and 
- the problem of migrating from one cloud platform to another (vendor lock-in 🔐)
- reducing network latency with different availability zones
- automating tasks with automation tools like Terraform or Ansible


One of the known IaaS is Linode and I explain the mentioned topics with the example of Linode Kubernetes Engine (LKE), but the **concepts you learn can be used for any other cloud platform as well**. 💡



Watch the full video here 🤓
{% youtube k-V3_zxRasM %}

-----------------
**Like, share and follow me** 😍 for more content:
- [Twitter](https://twitter.com/Njuchi_)
- [YouTube](https://www.youtube.com/channel/UCdngmbVKX1Tgre699-XLlUA?sub_confirmation=1)
- [Instagram](https://www.instagram.com/techworld_with_nana/)
- [LinkedIn](linkedin.com/in/nana-janashia)
How to list files recursively in a directory with PHP iterators
Tags: php, iterator, snippet
Published: 2020-07-31 14:16:22

---
title: How to list files recursively in a directory with PHP iterators
published: true
description: Very simple snippet that demonstrates the power of iterators and generators.
tags: ['php','iterator','snippet']
//cover_image: https://direct_url_to_image.jpg
---

This snippet is so useful to write custom commands that checks my code.

## Code

```php
function filesIn(string $path): \Generator
{
    if (! is_dir($path)) {
        throw new \RuntimeException("{$path} is not a directory ");
    }

    $it = new \RecursiveDirectoryIterator($path);
    $it = new \RecursiveIteratorIterator($it);
    $it = new \RegexIterator($it, '/\.php$/', \RegexIterator::MATCH);

    yield from $it;
}
```

## Usage

```php
foreach (filesIn('app/') as $file) {
    $contents = file_get_contents($file->getPathname());
}
```

Want the list as an array?

```php
$files = iterator_to_array(filesIn('app/'));
```

--- 

Don't forget to leave a like!
"Improve Your Online Presence" by Catalin Pit [Book Review]
Tags: books, twitter, linkedin
Published: 2020-07-31 14:14:39

When I started using Twitter in 2010 I did not know what works on Twitter and what does not. I knew it will be tough to gain followers without a clear strategy and the tools to grow.

Only when I used Twitter more active and focused in February 2020, I learned what attracts and engages followers and how to build a community. I still remember seeing Catalin's account the first time and then all over my feed every day. He was and is doing something right.

Looking at my account now, I feel like I do a pretty good job. But when Catalin announced he will publish an eBook with the title _["Improve Your Online Presence"](https://gumroad.com/a/921269363)_ I knew I want to read it to improve my social media skills even more.

Among other inspiring people, he invited me to read his book pre-release. So I took the chance and read it. It contains lots of information, tips, and examples Catalin learned in the last few months. He writes what he does and does what he writes. That's what caught me because I could instantly tell that I have seen him doing what he described in the book.

Among other topics, the book contains useful tips about how to present yourself on Twitter and LinkedIn, and how to prepare and publish engaging content. Catalin also shares some of his numbers in the book.

The expertise he shares with you could help you improve your online presence on Twitter and LinkedIn.

Why does improving your online presence matter? From my experience, the results of a good online presence are worth the investment. Here are some key benefits:

- Share your work with your audience for free
- get to know and exchange ideas with inspiring people
find new friends
- ask a wide range of people for their opinion
- help others and gain a reputation for being helpful
- opportunities (find a new job, become a speaker,…)
- and much more

I learned a lot from reading his eBook and it may help you too. So head over to Gumroad, read more about the content and _[buy the book](https://gumroad.com/a/921269363)_.

---

_If you like ["Improve Your Online Presence"](https://gumroad.com/a/921269363), and want to learn more about improving your online presence and grow your Twitter audience, I recommend you buy [How to get followers on Twitter](https://gumroad.com/a/108459123) by [Danny Thompson](https://twitter.com/DThompsonDev) too._
Styling your JavaScript Console Outputs
Tags: javascript, beginners, console
Published: 2020-07-31 14:12:54

JavaScript Console is widely used by developers for executing JavaScript codes, debugging, logging, etc.

#### Below are some mostly used methods provided by Console
* **log()** -  This method outputs the given message to console.
* **info()** -  This method outputs the given message to console as a Informational message.
* **warn()** -  This method outputs the given message to console as a Warning message. The color of the message would be Yellow by default.
* **error()** -  This method outputs the given message to console as a Error message. The color of the message would be Red by default.
* **clear()** -  This method clears the console.

There are many more methods provided by Console but we don't need in this article.

In following ways we can out a message to console. I am taking console.log() for example.
```
console.log('I Love DEV');
console.log('I Love %s', 'DEV');
```
**Output:**

![Console log Syntax](https://dev-to-uploads.s3.amazonaws.com/i/pg2uwsguy41qbjzesud2.PNG)

Observe in second line console.log('I Love %s', 'DEV'), here %s is String substitutions. Below are the string substitution used for other types :
* **%o or %O** - used to output objects,
* **%d or %i** -  used to output integer,
* **%s** - used to output string,
* **%f** - used to output floating point values.
* **%c** - used to add styles.

#### Now, let's come to main agenda, styling our console outputs.
You got it right. We would be using **%c** for styling our console output. Let's style our first console output.

```
console.log('I Love %cDEV',  'height:40px;width:50px;padding: 3px 7px 3px 9px;background:#000;color:#fff;border-radius:4px');
console.log('I Love %c%s',  'height:40px;width:50px;padding: 3px 7px 3px 9px;background:#000;color:#fff;border-radius:4px', 'DEV');
```
Output:

![Colorful Console Output](https://dev-to-uploads.s3.amazonaws.com/i/ib5zsmd47n7boiui5hur.PNG)

Let's add more styles: 
```
console.log('%cI Love %cDEV', 'color:#4caf50;font-size:18px', 'height:40px;width:50px;padding: 3px 7px 3px 9px;background:#000;color:#fff;border-radius:4px');
```

Output:

![Colorful Console Output](https://dev-to-uploads.s3.amazonaws.com/i/sjyfuv5uvp7doz4waem1.PNG)


### Reference
[Mozilla Web Docs - Console](https://developer.mozilla.org/en-US/docs/Web/API/console)