teleren/devto huggingface dataset:
What are the top DevOps news of 2020 for you?
Tags: discuss, devops, devsecops, news
Published: 2020-12-11 02:56:07

Hey _DevOps community_! What have been for you the most important DevOps-related news of 2020?

Anything you have top of mind?

For me:

- Finally having Manual Approvals and Environments in GitHub Actions
- Kubernetes dropping Docker Support
- Atlassian deprecating ALL their server products (including Jira and BitBucket)

> Disclaimer: apart from personal interest, I may use this to get inspiration for a YouTube video on my [channel CoderDave](https://youtube.com/CoderDave)
  
___
  
👇 __Add your comment below__ 👇
The drawback of NodeJS fs.readFile
Tags: node
Published: 2020-12-11 02:52:50

Have you used `fs.readFile(...)` for reading large files with NodeJS?

Well, then you must be aware of `ERR_STRING_TOO_LONG` and `Cannot create a string longer than 0x1ffffffe8 characters` potential issues.

So if you are looking for an answer about how to deal with it, then this is exactly what is my today's video about!

{% youtube C07O7A3zgFk %}
The AWS Well-Architected Framework and it's 5 Pillars - Part 4
Tags: aws, architecture
Published: 2020-12-11 02:47:58

The continuation of the **The AWS Well-Architected Framework and it's 5 Pillars Series**.

For the others who haven't yet read the initial part of this series, please read the previous parts above or below this article.

Let's continue on diving deep and this time let's venture the **Performance Efficiency** realm to gain knowledge on what are the key areas, what questions you must conquer and what are the key phases involve in this pillar for us to satisfy it's standards.

## **Performance Efficiency**
*... a data-driven approach to building a high-performance architecture.. ensure that you are taking advantage of the continually-evolving AWS Cloud.*

In other words, *We need to take advantage of the latest innovations that move our builds closer to its business goals*.

To satisfy this pillar, your architecture is critically needs to  **remove bottlenecks, reduce waste** by leveraging these key areas:
- Let AWS do the work whenever possible
- Reduce latency through regions and the AWS edge
- Serverless, Serverless, SERVERLESS
- Experiment as new services are released
- Think about the user, not your tech stack

### Phases
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/vivvofmybhe0hqrt5q97.PNG)

#### **Selection**
Is this the optimal solution for this workload? Evaluate it:
- What type of compute best suits?
- Which data store is ideal for this workload?
- Does your network design complement compute and data store choices

#### **Review**
Continuously ensure choices that works for your workload:
- Is infrastructure stored as code?
- Are deployments simple and automated?
- Can benchmarks be taken automatically?
- Does load testing interfere with production?

#### **Monitoring**
What's happening right now? an hour ago? Know your metrics:
- Use active and passive monitoring where appropriate
- Understand the 5 phases of monitoring (Generation, Aggregation, Real-time processing, Storage, Analytics)
- Create actionable metrics

#### **Making Trade-Off's**
You cannot have it all:
- Will caching help?
- Should you partition or shard your workload?
- Can compression improve performance?
- Is buffering an option?

The key takeaways in this pillar is you need to understand that *building an performance efficient system is a continuous and long term process*.

__Follow or Connect with me__:

[Dev.to](https://dev.to/edwardmercado)
[Twitter](https://twitter.com/edwardmercado_)
[LinkedIn](https://www.linkedin.com/in/edwardallenmercado-677b69139)
Python3 Programming - Exercise 5 a - Problem Analysis
Tags: python, programming, beginners, tutorial
Published: 2020-12-11 02:30:59

## Analysis of a problem

In this exercise, we shall look into the creation of a solution to a given problem. Let us assume a very basic problem to do with. We will analyze and design an algorithm for the solution.

## Sample problem

![Problem analysis - Sample problem](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eb35zb7eecd62utcfyep.png)

## Analysis

To analyze the sample problem above, there are three things we need to look out for in the given problem. These are:

1. the input
1. the output
1. the process

### The input

This is simply the parameters that are given in the problem, and for the above problem, they are:

1. the total number of students, which is five.
1. the individual scores, which are 40, 78, 91, 59 and 12.
1. the overall score, which is 100.

### The output

This is what the program is expected to do - the expected outcome, what the user would see, finally after the process. Usually, we look at the process ( calculations before the output). We are expected to compute the values for the:

1. sum of the scores
2. average of the scores
3. number of students who scored above the average score
4. number of students who scored below the average score

### Note

Usually, the desired output dictates how to compute on the input to obtain the output.

### The process

From the problem, we are to compute the sum of the scores and the others. Our focus here is to find how to achieve the output. Most often, there would be a straight forward formula to use, other than that we have to find it. So now, all we have to think about is how to compute the :

1. sum of the scores
2. average of the scores
3. number of students who scored above the average score
4. number of students who scored below the average score

### Note

The result from the computation is what becomes our output though not all becomes the output.

> continuation in `exercise 5 b (Design of a solution)`
The AWS Well-Architected Framework and it's 5 Pillars - Part 3
Tags: aws, architecture
Published: 2020-12-11 02:29:28

The continuation of the **The AWS Well-Architected Framework and it's 5 Pillars Series**.

For the others who haven't yet read the initial part of this series, please read the previous parts above or below this article.

Let's continue on diving deep and this time let's venture the **Reliability** realm to gain knowledge on what are the key areas, what questions you must conquer and what are the key phases involve in this pillar for us to satisfy it's standards.

## **Reliability**
*... the ability of a system to recover from infrastructure or service disruptions, dynamically acquire computing resources to meet demand, and mitigate disruptions...*

Simply saying, *will your system work consistently and recover quickly?*

To satisfy this pillar, your architecture needs to **manage demand and disruptions efficiently** by leveraging these key areas:
- Recover from issues automatically
- Scale horizontally first for resiliency
- Reduce idle resources
- Manage change through automation

### Phases
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/m6hft61tjx2xpjn1nnfc.PNG)

#### **Limits**
Understand default and requested limits:
- Are you planning beyond current limits for a resource?
- Will you scale past specific resource limits?
- Can those limits be lifted?
- Can you plan around those limits?

#### **Networking**
We need to understand latency, topology, bandwidth:
- IP address space management
- Subnet structures
- Resilient topologies
- Ability to handle sudden increased in traffic
- Provide consistent performance regardless

#### **Availability**
Ensure your application is ready for business use:
- Can users access your application?
- Deploy without issue
- Can you push issue to planned downtime?
- Can your application withstand partial outages?

The key takeaways in this pillar is *to build workloads that meets business expectation, regardless of anything* because you can build the finest application in the world but if its not accessible, reliable and available it will still not produce value to you or for your business. 

__Follow or Connect with me__:

[Dev.to](https://dev.to/edwardmercado)
[Twitter](https://twitter.com/edwardmercado_)
[LinkedIn](https://www.linkedin.com/in/edwardallenmercado-677b69139)
`engineStrict: true` in package.json is problematic - DON'T
Tags: npm, node, javascript, pnpm
Published: 2020-12-11 02:14:29

If you even publish the package / or allow installation via GitHub.

```sh
npm i custom-package         # From NPM registry
npm i ${REPO}/custom-package   # From GitHub repo main branch
```

Then, you'll encounter the problem of package cannot be installed, due to misconfigured `package.json`

```json
{
  "engines": {
    "node": "14",
    "npm": "please-use-yarn",
    "yarn": "1",
    "pnpm": "please-use-yarn"
  },
  "engineStrict": true
}
```

## A solution

```sh
echo 'engine-strict=true' >> .npmrc
```

## A problem NPM team ignored

It seems that `engineStrict: true` (in `package.json`) doesn't work in the first place. Only for Yarn , PNPM.

But `echo 'engine-strict=true' >> .npmrc` works.

## A problem Yarn team ignored

It has warning on Yarn run for invalid `package.json`, including `engines`.

{% github https://github.com/yarnpkg/yarn/issues/8072 %}

So, where it does not warn in the first place depends on Official Yarn Team? [It is hard-coded by Yarn.](https://github.com/yarnpkg/yarn/blob/ac21dbf1/src/package-compatibility.js#L50) This also happens when someone else used PNPM to publish the package.

## A problem pending for PNPM

I also think this might be difficult to fix as well. It might go as far next major release, or got `wontfix`.

{% github https://github.com/pnpm/pnpm/issues/3016 %}

## `preinstall` blocking script aren't enough

- `pnpm run` still pick up wrong Node.js version...
- `npm publish`, `yarn publish`, `pnpm publish` all work differently. `engine-strict` can block well for this case.
   - I prefer `yarn publish` the most.
Scraping an Instagram location tag with instascrape
Tags: python, datascience, showdev, contributorswanted
Published: 2020-12-11 01:44:32

# Introducting: `instascrape.Location`

In this blog post, I am going to quickly introduce to you `instascrape`'s newest feature: the ability to scrape an Instagram location tag! 

With the release of [v1.4.0](https://github.com/chris-greening/instascrape/releases/tag/v1.4.0), the [Location](https://github.com/chris-greening/instascrape/blob/master/instascrape/scrapers/location.py) scraper now provides a semantic way to gather data from an Instagram location tag. 

# Sample usage

```python
from instascrape import Location 
url = 'https://www.instagram.com/explore/locations/212988663/new-york-new-york/'
new_york = Location(url)
new_york.scrape()
```

It's as easy as that! We've scraped the page and now have access to useful information such as

```python
print(f"The NY location tag has {new_york.amount_of_posts:,} posts")
>>> The NY location tag has 61,202,403 posts.

print(f"NY tag geographic coordinates: ({new_york.latitude}, {new_york.longitude}")
>>> NY tag geographic coordinates: (40.7142, -74.0064)
```

as well as a variety of other useful attributes! 

# `get_recent_posts` 

In addition to scraping some attributes regarding the location tag, we can also return some of the recent posts to that tag as `instascrape.Post` objects 

```python
recent_posts = new_york.get_recent_posts()
for post in recent_posts:
    print(post.upload_date)
>>> 2020-12-10 20:27:03
2020-12-10 20:27:01
2020-12-10 20:26:59
2020-12-10 20:26:59
2020-12-10 20:26:51
2020-12-10 20:26:48
2020-12-10 20:26:46
2020-12-10 20:26:45
2020-12-10 20:26:42
2020-12-10 20:26:40
2020-12-10 20:26:39
2020-12-10 20:26:33
2020-12-10 20:26:32
2020-12-10 20:26:31
2020-12-10 20:26:25
2020-12-10 20:26:22
2020-12-10 20:26:20
2020-12-10 20:26:18
2020-12-10 20:26:15
2020-12-10 20:26:11
2020-12-10 20:26:10
2020-12-10 20:26:09
2020-12-10 20:26:09
2020-12-10 20:26:06
```

If you want to read more about `instascrape`, check out some of my other posts 

{% link https://dev.to/chrisgreening/dynamically-generate-embeddable-instagram-html-using-instascrape-3o4b %}

{% link https://dev.to/chrisgreening/scraping-25-000-data-points-from-joe-biden-s-instagram-using-instascrape-1026 %}

Or better yet, get involved and contribute! Drop the [official repo](https://github.com/chris-greening/instascrape) a star, get involved in [discussions](https://github.com/chris-greening/instascrape/discussions), and stay in the loop by watching for updates on the [website](https://chris-greening.github.io/instascrape/blog/)! Hope to see you there :raised_hands:

{% github chris-greening/instascrape %}
Best Community For Programming
Tags: javascript, java, python, php
Published: 2020-12-11 01:26:33

Here is most use full apps
0-Dev Community
1-Devfolio
2-Slack
3-Dribble
4-Kaggle
5-Pateon
6-Discord
7-Reddit
8-Glassdoor
9-Techgig
10-Meddium
11-Github
12-Stack Overflow
13-GeeksforGeeks
14-Hacker Rank
15-Hacker Earth
16-Code Chef
17-Top Codder
18-NPTL
Top 5 DEV Comments from the Past Week
Tags: bestofdev
Published: 2020-12-11 00:51:58

---
title: Top 5 DEV Comments from the Past Week
published: true
description: Highlighting some of the best DEV comments from the past week.
tags: bestofdev
cover_image: https://res.cloudinary.com/practicaldev/image/fetch/s--7VrAA2ln--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://thepracticaldev.s3.amazonaws.com/i/qmb5wkoeywj06pd7p8ku.png
---

This is a weekly roundup of awesome DEV comments that you may have missed.  You are welcome and encouraged to boost posts and comments yourself using the **[#bestofdev](/t/bestofdev)** tag.

---

A job well done, @debugagrawal! This is a huge milestone for sure!

{% devcomment 18mbo %}

Great response to the ["What are the fastest sites you visit daily?"](https://dev.to/karandpr/comment/18lmg) thread, @karandpr. 
{% devcomment 18lmg %}

Thanks for all your help with the DigitalOcean App Platform Hackathon on DEV so far, @chrisgetsbetter — and for your developer advocacy work 👏  

{% devcomment 1932h %}

This is a fantastic "weekly win", @maulik 🩸 ❤️ 
{% devcomment 18mb6 %}

Really appreciate this thoughtful, measured response by @jhilgeman about whether or not it's possible to age out of coding abilities.
   
{% devcomment 190p4 %}


See you next week for more great comments ✌
Before Starting to Program in Java
Published: 2020-12-11 00:51:38

I recently decided to add Java to my toolbox of programming languages. While applying to jobs, it was hard to not notice how many companies use Java over other programming languages. This intrigued me to start learning and see what all the hype was about for myself!

To start off, I thought I’d briefly talk about the history of Java. James Gosling initiated the Java language project in June 1991 for use in one of his many set-top box projects. The first public implementation of Java 1.0 was released in 1995. It promised Write Once, Run Anywhere(WORA), providing no-cost run-times on a majority of  popular platforms. On 13 November 2006, a lot of Java was released as free and open source software under the terms of the GNU General Public License (GPL). On 8 May 2007, Java was officially finished and released, making the core code free and open-source. 

Java is an Object Oriented programming language (OOP) similar to Ruby. Java was designed to be easy to learn like other OOP languages. One thing that makes Java powerful is that unlike many other programming, Java is compiled into platform independent byte code. This byte code is distributed over the web and interpreted by virtual Machine (JVM) on whichever platform it is being run on! Java compiler generates an architecture-neutral object file format which makes the compiled code to be executable on many processors, with the presence of a Java runtime system. Being architectural-neutral and having no implementation dependent aspects of the specification makes Java portable. Another interesting thing to mention about Java is its multithreaded feature. This makes it possible to write programs that can do many tasks simultaneously. This design feature encourages developers to construct smoothly running, interactive applications.

Thanks for stopping by, I hope you learned a few things!
A plea to humanize your systems with employees pictures
Tags: humans, pictures, a11y, career
Published: 2020-12-11 01:16:29

---
title: A plea to humanize your systems with employees pictures
published: true
date: 2020-12-11 00:15:00 UTC
tags: humans, pictures, a11y, career
canonical_url: https://www.benjaminrancourt.ca/a-plea-to-humanize-your-systems-with-employees-pictures
cover_image: https://www.benjaminrancourt.ca/temp/private-gitlab-profile.png
---
Do you know `NEW COLLEAGUE NAME`? Or `ANOTHER PERSON` who just edited your wiki or pushed a new commit on your CVS? The last time you went to the restroom, do you know whom you ran into? Did you acknowledge them by their first name? 🚻

If you are part of a large organization, chances are you do not know this person yet. Even though on day one your boss made sure to introduce each of your coworkers to you, do you remember what each of them looks like? Remembering all this information can take a while, especially if you do not interact with them every day (or at least once a month).

Fortunately, most systems designed for collaboration display a profile photo next to each contributor. Each time they made a contribution, their full name is displayed along with their photo.

![](https://www.benjaminrancourt.ca/temp/confluence-contribution-example.png)<figcaption>A document edit made by a collaborator on Confluence</figcaption>

But if they choose an unrelated image as their picture, it does not really help you recognize these people.

![](https://www.benjaminrancourt.ca/temp/gitlab-contributors.png)<figcaption>Some contributors on GitLab</figcaption>

Even though Jocelyn has been your coworker for two years, if you do not interact with him, he will be the new colleague forever for you. Do you really want this to happen to you or at your workplace? 🌚

Individually, you can choose to tackle this challenge by using a real photo of yourself, but will your colleagues do the same? Most people do not take the time to review the settings for every major software they use, so there is a good chance they will not update their profile picture.

Fortunately, if you organization takes employees photos to put them on cards to access buildings, you could have connectors to automatically push those photos to other software. No one needs to update their profile picture anymore, it will be done once a week by a bot! Now, everyone will have a photo next to their name and it will match what they look like. 🖼️

At my workplace, I have identified four main systems that use a profile picture:

- GitLab
- Confluence
- Jira
- Microsoft 365 suite

Do you think each of them offers an API to update profile photos? I hope someday I will know! 🕊️
What is coding mentorship and how can I find it?
Tags: projects, practice, mentor, programming
Published: 2020-12-11 00:11:15

# Coding mentorship is the best way to practice your skills and support others at or below your skill level.
## 7 ways to try coding mentorship

### By building projects
1. [CodeProjects](https://www.codementor.io/projects): "Improve your programming skills by working on real-world projects. Join our free community to discuss projects, review code, and learn from peers and mentors."
2. [FrontendMentor.io](https://www.frontendmentor.io/): "Solve real-world HTML, CSS and JavaScript challenges whilst working to professional designs. Join 81,378 developers building projects, reviewing code, and helping each other get better."
3. [Exercism.io](https://exercism.io/): "Level up your programming skills with 3,444 exercises across 52 languages, and insightful discussion with our dedicated team of welcoming mentors."
4. [Codewars](https://www.codewars.com/): "Achieve mastery through challenge. Improve your skills by training with others on real code challenges."

### By getting 1-on-1 help
1. [CodeMentor.io](https://www.codementor.io/search/mentors): "Get help from our vetted software developers"
2. [Coding Coach](https://mentors.codingcoach.io/): "Coding Coach is a free, open-source platform which aims to connect software developers and mentors all over the world."
3. [Mentor Cruise](https://mentorcruise.com/mentor/browse/): "Work with leading tech mentors and gain access to personalized guidance to reach your potential. Ongoing sessions and expert advice, on your terms, all for a flat monthly price."
React Strict Mode in Next.js
Tags: nextjs, react, blogvent
Published: 2020-12-11 17:32:21

---
title: React Strict Mode in Next.js
published: true
date: 2020-12-11 00:00:00 UTC
tags: nextjs, react, blogvent
canonical_url: https://www.netlify.com/blog/2020/12/11/react-strict-mode-in-next.js/
---

Welcome to Blogvent, day 11!

You may or may not have heard of Strict Mode in React before. Strict Mode is a tool for highlighting potential problems in a Reactathon application. It doesn’t render any UI, but it adds extra warnings to any components inside of the `<React.StrictMode>` tags. This is something that only runs in development mode, so you don’t need to worry about it in production!

## What does Strict Mode help with?

It helps you avoid legacy code, and deprecated APIs. Specifically:

- Lifecycle methods [deemed unsafe](https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html)
- Legacy string ref and context APIs
- Unexpected side effects
- Deprecated APIs

## Seems important. How do I use it?

If you want to add Strict Mode just to certain parts of your application, you can wrap which components and pages you want with the Strict Mode tags:

```jsx
function Example() {
  return (
    <>
      <Header />
      <React.StrictMode>
        <>
          <Sidebar />
          <Content />
        </>
      </React.StrictMode>
    </>
  );
}
```

Similar to how [React Context](https://reactjs.org/docs/context.html) works, this will work on the `Sidebar` and `Content` components, as well as their descendants!

If you’d like to add Strict Mode to your entire Next.js application, not just certain pages and components, you might think that you should just wrap your `_app.js` file [like you do with Context](https://www.netlify.com/blog/2020/12/01/using-react-context-for-state-management-in-next.js/?utm_source=blog&utm_medium=nextcontext-cs&utm_campaign=devex). And, technically, you can! But, it’s actually even easier than that.

In your `next.config.js` file at the top level of your project, you can enable it in one line:

```js
// next.config.js
module.exports = {
  reactStrictMode: true,
}

```

That’s it! If you’d like to try it yourself, here’s a starter application to get going:

[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/cassidoo/next-netlify-starter&utm_source=blog&utm_medium=nextstarterstrictmode-cs&utm_campaign=devex)

(Clicking this button will deploy a Next.js starter project to Netlify, and clone it to your chosen Git provider)