teleren/devto huggingface dataset:
Overview of LMKD
Tags: android, lmkd
Published: 2023-04-18 15:17:52

LMKD (Low Memory Kill Daemon) is a core component of Android system. It keeps watching memory pressure to prevent that the system-wide memory is now being thrashed or not with a few cool algorithms. This process goes on before OOM-killer of Kernel wakes up.

1. Watch the state of memory pressure.
2. Handle Android apps through OOM score.
3. Pick one process by victim selecting algorithms.
4. Finally kill victim and try reclaiming free pages.

Therefore, it takes the responsibility of making UX better and stabilize entire system.
Create Amazon EKS Cluster using Terraform Module
Tags: aws, kubernetes, awseks, tutorial
Published: 2023-04-18 14:31:29

Terraform has community supported modules for creating Infrastructure in various Public Cloud Providers.
**AWS community** has extensively worked on creating useful modules. So if anyone wants to create Infrastructure in AWS they can search for modules in [terraform-aws-modules](https://github.com/terraform-aws-modules) in GitHub to create the Infrastructure.

## Amazon EKS Terraform Module
One of the most used services in AWS Cloud is Amazon Elastic Kubernetes Service (Amazon EKS) and we can make use of the Terraform AWS EKS module to create EKS Cluster.

This module comes up with required Infra configuration for and does not need much tweak to create the EKS Cluster.

![eks tf module](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lg5r27zj2u7ioz1rwh18.png)

## How to create Cluster
Using this module we can start the EKS Cluster creation in just 3 steps.
For example: Here are the simple steps to create EKS Cluster with **`self managed nodes`** 
- Step 1: Clone the Terraform EKS repo from [here](https://github.com/terraform-aws-modules/terraform-aws-eks)
- Step 2: Go to `examples/self_managed_node_group`
- Step 3: Run below `terraform` commands to create EKS Cluster in AWS Cloud
```
terraform init
terraform plan
terraform apply
```

Follow the similar steps to create EKS Cluster of type **`EKS managed node group`**. The example code available in the directory `examples/eks_managed_node_group`

## Start using the Cluster
Once the `terraform apply` is completed successfully, it will show a set of `terraform output` values containing the details of the newly created cluster.

Run the below command to update the users `kubeconfig` file to start using the cluster
```
aws eks update-kubeconfig --name ex-self-managed-node-group
```
This command will update the details Cluster context and user sections in `~/.kube/config` file.

In the next blog, we will see how to start using the Cluster and what are all the components created as part of Amazon EKS Cluster Terraform Code.

## Things to note
User needs to have,
- An AWS account and Latest [AWS CLI with credentials configured](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) in the workstation. If you don't have AWS CLI version `2.7` and above, there will be an error in `aws-auth` resource while creating `core-dns`
- Good understanding of [Kubernetes](https://kubernetes.io/) and how things work in Kubernetes.
- Reading the [Amazon EKS documentation](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html) and [Terraform module documentation](https://github.com/terraform-aws-modules/terraform-aws-eks) for further customizations.
About us
Tags: information, design, acessibility, usability
Published: 2023-04-18 14:27:38


![Our logo, link goes to homepage. On the top line on the left it shows the word 'User' in a handwritten font, then to the right 'Design,' in a modern blue font, then on the line below 'Illustration' in a modern blue font, then on the line below that 'and Typesetting' in a modern blue font](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/whg2sqix17qz4wab3vzy.png)

---

We offer a complete graphic communication design, illustration, text editing and production service from books to websites, to many other printed and electronic items. We are committed to engaging, usable and successful solutions for all involved, produced on time. We can also make your communication accessible to different categories of people, vastly more usable, environmentally friendly, and perform to a high numerically measured standard. With us, you get highly accessible and usable design built-in. We enjoy challenges, welcome critical feedback and handle your information as confidentially and securely as possible.

Below are links to our specific services on our website:

**Design**
- [Book design service UK](https://www.userdesignillustrationandtypesetting.com/book-design/index.html).
- [Book cover design service UK](https://www.userdesignillustrationandtypesetting.com/book-cover-design/index.html).
- [Academic journal design service UK](https://www.userdesignillustrationandtypesetting.com/journal-design-page-layout/index.html).
- [Graphic communication design service UK](https://www.userdesignillustrationandtypesetting.com/accessible-usable-graphic-design/index.html).
- [Information design service UK](https://www.userdesignillustrationandtypesetting.com/information-design/index.html).
- [Publication design service UK](https://www.userdesignillustrationandtypesetting.com/publication-design/index.html).
- [Typographic design service UK](https://www.userdesignillustrationandtypesetting.com/typographic-design/index.html).
- [Website design service UK](https://www.userdesignillustrationandtypesetting.com/accessible-usable-website-design/index.html).

**Illustration**
- [Freehand cartoon illustration service UK](https://www.userdesignillustrationandtypesetting.com/cartoon-gag-illustration/index.html).
- [Technical illustration service UK](https://www.userdesignillustrationandtypesetting.com/technical-illustration/index.html).
- [Redrawing and retracing service UK](https://www.userdesignillustrationandtypesetting.com/image-redrawing-retracing/index.html).

**Production**
- [Typesetting service UK](https://www.userdesignillustrationandtypesetting.com/typesetting/index.html).
- [Correction amendment service UK](https://www.userdesignillustrationandtypesetting.com/editorial-correction-amendments/index.html).
- [Scanning, book digitisation, and OCR service UK](https://www.userdesignillustrationandtypesetting.com/ocr-book-scanning/index.html).

**Editorial**
- [Text editing and proofreading service UK](https://www.userdesignillustrationandtypesetting.com/copyediting-proofreading/index.html).
Bulk edit Azure DevOps work items with Excel
Tags: devops
Published: 2023-04-18 14:09:00

## Prerequisites 

* Install Microsoft Excel 2010 or later 
* Install [Azure DevOps Office Integration 2019 (free)](https://visualstudio.microsoft.com/downloads/#other-family)
* Be a member of the project you want to edit
* You should have permissions set to **Allow: View work items in this node** and **Edit work items in this node**
* If you want to add or modify work items, you should have** Stakeholder **access or high

## Setup
Once you have all the necessary prerequisites set up, it’s time to get started.  
* Open up Excel
* Click on Team on the top menu

![Azure DevOps plug in Excel](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xgrklxnny5x593432ld2.png)

You will see a lot of options greyed out.  You need to connect the Excel plugin to your Azure DevOps environment. 

* Click on New List
* This will activate a pop up box asking to Connect to an Azure DevOps Server. 
* Click on Servers
* Now click on Add
* Enter the URL of your Azure DevOps server
* Then click OK
* It will prompt you for authentication to the Azure DevOps server
* Now click on Close

![Connect to Azure DevOps within Excel](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t1tstzue1hqfvz39jq9x.png)

* The plugin will now pull in information about your Team Projects

## Make bulk changes

![Azure DevOps connection within Excel](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sa02p7lnvoscsj6e68zy.png)

* Select the relevant project and click on Connect
* You will be prompted regarding which items you want to pull from Azure DevOps Boards into Excel.  You can either start a new list or pull in items from a query
* You can now start to make the modifications that you need to make
* Once you have made the changes you need, click on Publish within the Team tab
* If you refresh your Azure DevOps Boards view the changes you have made will now be available

## Conclusion

In conclusion, bulk editing Azure DevOps items using Excel can save everyone significant amounts of time and effort. By exporting the work items into an Excel sheet, users can quickly make changes to multiple items at once, and then easily import the changes back into Azure DevOps. This feature is especially helpful for larger projects with numerous work items that require frequent updates.
Evitando o desperdício de tempo: A importância de se concentrar em uma atividade por vez.
Tags: scrum, kanban, programming, javascript
Published: 2023-04-18 14:00:26

Você já se encontrou fazendo várias tarefas ao mesmo tempo, alternando entre várias telas e aplicativos, mas nunca realmente concluindo nada? Isso é conhecido como "context-switching" e pode ter um impacto significativo no tempo de desenvolvimento de software.

É fácil pensar que lidar com várias tarefas simultaneamente é mais eficiente, mas na realidade, essa abordagem pode levar a uma perda de tempo significativa. Quando você trabalha em duas coisas ao mesmo tempo, perde cerca de 20% do seu tempo apenas alternando entre elas. Quando se tem cinco tarefas simultâneas, esse número aumenta para 80%.

![Tabela feita por Todd Herman, diponível no site da April Perry](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/crak37pb6euflpphq4u0.png)

[Tabela feita por Todd Herman, diponível no site da April Perry](https://learndobecome.com/an-eye-opening-perspective-on-context-switching/)

[Veja o próprio Todd Herman falando sobre esse assunto](https://www.youtube.com/watch?v=T7MCplY_yPc)

Essas interrupções constantes podem dificultar a concentração, prejudicar a qualidade do trabalho e atrasar o progresso em projetos importantes. É importante lembrar que cada vez que você muda o contexto, precisa gastar tempo para lembrar onde parou e retomar o ritmo.

Em vez de tentar lidar com várias tarefas simultaneamente, é mais produtivo se concentrar em uma atividade por vez. Dedique um tempo específico para cada tarefa e mantenha-se focado até concluí-la. Se surgir uma interrupção, anote-a e volte a ela mais tarde, quando puder dar a ela sua atenção total.

Outra dica é organizar seu ambiente de trabalho para minimizar as distrações. Feche aplicativos desnecessários e coloque o telefone em modo silencioso. Configure um horário específico para verificar e-mails e mensagens, em vez de deixar que essas tarefas consumam seu tempo e atenção ao longo do dia.

Lembre-se de que a chave para evitar o desperdício de tempo é manter o foco em uma atividade por vez. Isso pode ajudar a aumentar a produtividade e a qualidade do trabalho, e permitir que você conclua suas tarefas mais rapidamente.

Ao finalizar uma tarefa, sinta-se livre para comemorar sua realização antes de passar para a próxima. Você merece um momento de pausa antes de começar o próximo desafio!
How to upload a letter in ChatGPT to azure storage account and share the url
Tags: chatgpt, tutorial, azure
Published: 2023-04-18 13:59:21

**STEP 1**:
- In your azure portal, click on "storage account " then click on create.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hb0ol14kabbosh6ysxew.png)

- Choose your subscription
- choose a resource group or create a new one (any name of your choice)
-Select a region you want your account created in
- Your performance can be either standard or premium based on your requirement.
- Click review then click on "create".
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ifyb6pwhq6f1dvg88ipg.png)


**STEP 2**: 
- Once deployment is complete, click on "Go to resource"
- Click on containers
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cc6jgagagx0yz9bkri7l.png)

- Click on "+Containers" to create a container.
- Choose a name for your container (this should be a name that explains the kind of documents you created in Chatgpt, here we will be creating a love letter so the name we will use for the container is Love letter)
- Change the "public access level" to blob (blob allows you  to share and others to access your stored files)
- Click on create 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hjq1iiyw51s7agj8hv2n.png)


**STEP 3**:
- Go to your CHATgpt app or use the link https://chat.openai.com/chat
- In the chat space, type in what you want Chatgpt to do for you. Here, i will ask Chatgpt to write a love letter to my best friend who’s name is Ted
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/76x3waa6arcs4mbloks7.png)

- Click on enter to see your result from Chatgpt.
* You can ask Chatgpt to write whatever you want.


**STEP 4**:
- Copy your result on chatgpt then go to microsoft word and save it as a pdf on your desktop or as a document.

**STEP 5**:
- Go back to your "container" then click on the document you created on azure (i.e Love letter)
- Click on upload 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eohg92s71aauejzy8if3.png)

- Choose the Pdf you just saved, then click on upload.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/70fyvx25z5tvg2bdlk5f.png)

**STEP 6**:
- Click on the file you just uploaded and copy the url.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/03iys9w8yj54dqg29ig2.png)
Test splitting to speed up your CI/CD
Tags: test, cicd, circleci
Published: 2023-04-18 13:57:06

At Woovi, we care a lot about speed.
As a startup, we need a fast feedback loop to learn and ship faster.
We also care a lot about safety and quality, so we have more than 6 thousands automated tests to make sure we won't break anything.

## Making our tests running faster in our CI/CD

We use CircleCI, as our CI/CD tool.
CircleCI enable us to split our tests in many containers, making our tests N containers times faster.

![Paralell Jobs](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j0kqnt0jihe3uu3xzwjg.jpg)

We created a reusable command:

```yml
commands:
     test_pkg:
    description: 'test a specific package'
    parameters:
      pkg:
        type: string
    steps:
      - run:
          name: 'Run tests << parameters.pkg >>'
          command: |
            TESTFILES=$(circleci tests glob "./packages/<< parameters.pkg >>/src/**/__tests__/*.spec.ts" | circleci tests split --split-by=timings)
            JEST_JUNIT_OUTPUT_DIR="./test-results" node --expose-gc ./node_modules/.bin/jest --logHeapUsage --passWithNoTests --maxWorkers=7 --coverage --forceExit --ci --silent ${TESTFILES}
```

Let me explain what each part does

```sh
circleci tests glob "./packages/<< parameters.pkg >>/src/**/__tests__/*.spec.ts"
```
Find all files that match this glob pattern, all test files inside __tests__ directory that ends in .spec.ts

```sh
circleci tests split --split-by=timings
```
Split tests based on their timings, so each container run the same amount of time.

```sh
node --expose-gc ./node_modules/.bin/jest --logHeapUsage --passWithNoTests --maxWorkers=7 --coverage --forceExit --ci --silent ${TESTFILES}
```

`--expose-gc` tells the node to expose `gc` (garbage collector) to jest, so it can cleanup some unused memory
`--lopHeapUsage` shows how much memory each test is consuming
`--passWithNoTests` enables tests files without any test case
`--maxWorkers=7` controls the concurrency of jest, because it can't really know the real number of cpu available to it
`--coverage` generates the code coverage report
`--forceExit` forces tests to finish if needed
`--ci` do not generate snapshot, breaks
`--silent` remove `console.log` to make tests run faster, I/O is expensive
`${TESTFILES}` list of files to be tested in that specific container


## In Summary
Understand how your CI/CD tool works can enable you to make it fast, and provide a fast feedback loop for your team.

---

Does your CI/CD support test splitting?

---

## Reference
[Test Splitting Tutorial](https://circleci.com/docs/test-splitting-tutorial/)

---
Woovi
[Woovi](https://www.woovi.com) is a Startup that enables shoppers to pay as they like. To make this possible, Woovi provides instant payment solutions for merchants to accept orders.

If you want to work with us, we are [hiring](https://woovi.com/jobs/)!

---
Photo by <a href="https://unsplash.com/@gavinbiesheuvel?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Gavin Biesheuvel</a> on <a href="https://unsplash.com/photos/KfzZYS51x20?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
Cypress JavaScript Tutorial: A Step-by-Step Handbook For Beginners
Tags: testing, javascript, qa, automation
Published: 2023-04-18 13:46:49

In the automation testing, the combination of Cypress and JavaScript can be very powerful.

In this Article I am covering "Cypress JavaScript Tutorial: A Step-by-Step Handbook For Beginners"

Please follow the link [Cypress JavaScript Tutorial](https://www.lambdatest.com/learning-hub/cypress-javascript)

Cypress allows you to write end-to-end tests that simulate user behavior and test your web application's functionality. With its built-in commands, you can interact with web elements, perform assertions, and handle asynchronous tasks.
How to Download and Install IntelliJ Idea
Published: 2023-04-18 13:09:20

Download and Install IntelliJ Idea

1) Download IntelliJ from the following website: 

[https://www.jetbrains.com/idea/download/](https://www.jetbrains.com/idea/download/#section=mac)

2) In the Web page, Select your OS Windows/Mac/Linux

3) For Free Version download the Community Edition .dmg file

4) For paid Version download the Ultimate Edition .dmg file and u will have initial 30 day free trail

5) Now click on the .dmg file to download your IntelliJ Idea application

6) Select the path to store the file IntelliJ Idea application and click on the Install button

7) Now you can see the Installed IntelliJ Idea application Icon on your desktop
How to install JEnv using command prompt
Published: 2023-04-18 12:55:56

### **For Windows/Linux/Mac Users**

1) Open Command prompt in your system 

2) In Command prompt, first install the Home brew by entering the below command

`$/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`

3) Now, Install the JEnv by entering the below command

 **Installation of JEnv**

Enter the following code for installing JEnv

 **Linux / OS X**

```
$ git clone https://github.com/jenv/jenv.git ~/.jenv
```

 **Mac OS X via [Homebrew](http://brew.sh/)**

```
$ brew install jenv
```

4) Install either Bash or Zsh by entering the following code in command prompt

 **Bash**

```
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
```

 **Zsh**

```
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(jenv init -)"' >> ~/.zshrc
```

5) Configure the following command in command prompt to add the Jenv file

```jsx
$ jenv add /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
  oracle64-1.6.0.39 added
$ jenv add /Library/Java/JavaVirtualMachines/jdk17011.jdk/Contents/Home
  oracle64-1.7.0.11 added

for Mac Users

/usr/libexec/java_home/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
```

Note: In above code, change the version according to the Installed Java version 

6) To check the Installed Java version in your system enter the following code in command prompt:

 $ java -version
Creating a Real-Time Chat Application with Node.js and Socket.IO
Published: 2023-04-18 12:33:51

Real-time chat applications have become quite popular in recent years, with the rise of platforms like Slack and Discord. I create a simple real-time chat application using Node.js and Socket.IO.

firstly, make sure you have Node.js installed on your system. You can download it from the official Node.js website.

Step 1: Initialize the Project
create a new directory for our project and initialize a new Node.js project in that directory. Open your terminal and run the following commands:

```json
mkdir chat-app
cd chat-app
npm init -y
```

it will create a new directory called chat-app and initialize a new Node.js project in that directory.

Step 2: Installation of  Dependencies
I installed the dependencies or package i need for our project "chatapp".
Run the following command:
```json
npm install express socket.io mongoose body-parser
```
express: A popular Node.js web framework for building web applications.
socket.io: A library for building real-time applications using Web Sockets.
mongoose: A popular MongoDB library for Node.js.
body-parser: A middleware for parsing request bodies.

Step 3: Set up the Server
I set up an Express server and handle the incoming request. Create a new file called index.js in the root of your project directory and add the following code:

```json
const express = require('express');
const app = express();
const http = require('http').createServer(app);
const io = require('socket.io')(http);

// Serve static files from the public directory
app.use(express.static('public'));

// Listen for incoming connections
const port = process.env.PORT || 7654;
http.listen(port, () => {
  console.log(`Server running at http://localhost:${port}`);
});
```


Step 4: Set up the Client
I create the client-side HTML, CSS, and JavaScript files. Create a new directory called public in the root of your project directory. Inside the public directory, create a new file called index.html and add the following code:

```json
<!DOCTYPE html>
<html>
<head>
  <title>Chat App</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <div id="messages"></div>
  <form id="message-form">
    <input type="text" name="name" placeholder="Name">
    <input type="text" name="message" placeholder="Message">
    <button>Send</button>
  </form>
  <script src="/socket.io/socket.io.js"></script>
  <script src="chat.js"></script>
</body>
</html>
```