teleren/devto huggingface dataset:
Sunsetting SourceLevel’s Automated Code Review feature: What’s next?
Tags: codequality, linters, engineeringops, engineeringmanagement
Published: 2022-06-15 20:13:05

---
title: Sunsetting SourceLevel’s Automated Code Review feature: What’s next?
published: true
description: We’ve decided to sunset the Automated Code Review feature, improving our Analytics product bringing visibility over every corner of the delivery pipeline in a Data & Analytics Solution for Engineering Teams.
tags: codequality, linters, engineeringops, engineeringmanagement
cover_image: https://sourcelevel.io/wp-content/uploads/sunset_linters.jpg
canonical_url: https://sourcelevel.io/blog/sunsetting-sourcelevels-code-quality-feature-whats-next
# Use a ratio of 100:42 for best results.
---

When we launched SourceLevel, we had a great focus on Automated Code Review, through 30+ Open Source linters (including support for Ruby, JavaScript, Elixir, Golang, PHP, Python, etc.). During product validation we have introduced some use case metrics which includes Work In Progress, Engagement, and Deliveries.

Last year, we released a new product completely focused on Engineering Metrics. And we’ve decided to sunset the Automated Code Review feature, improving our Analytics product bringing visibility over every corner of the delivery pipeline in a Data & Analytics Solution for Engineering Teams.

We still consider Code Quality metrics relevant, but we don’t think we should keep running the linters since a lot of free alternatives are available to be included in your Continuous Integration pipeline, such as [GitHub Actions](https://github.com/features/actions).

In the future, we are considering importing issues identified by these runners through our API. We’d recommend including the linter that you use to your GitHub Actions pipeline or consider installing [Danger.systems](https://danger.systems/) (which supports Ruby, Python, Swift, Kotlin, and JavaScript) for your organization.

We’ll start contacting existing customers to notify about Automated Code Review sunset and schedule a turn-off customer-by-customer.

Currently, Analytics is providing metrics for Software Engineering Management, to see a glimpse of what we offer, go to our [Engineering Metrics page](https://sourcelevel.io/engineering-metrics).
Love, Science, and Opensource: Arafat's journey
Tags: opensource, mattermost, contribution, education
Published: 2022-06-15 20:07:26

What an amazing mentoring session I have had today with Arafat Olayiwola.

As often, we have applied the "love -> opensource -> community" idea.

Basically, from "I want to work in X payments company" we came to "I love teaching and helping people with sciences, so  I shall contribute to a company which helps people with education, in an OpenSource-way" :)

Therefore, we decided that pick up a few key companies in  MOOC (Massive Open Online Courses).

 

We have selected a few, including the amazing "Open edX Community".

 

The reasoning was very simple. Open edX has a lot of fresh projects with a ton of branches and stars. Therefore, Arafat's contributions matter a lot to other people. 

 
The next step will be writing for Arafat’s posts on LinkedIn, dev.to and Twitter, so stay tuned :)


Do you love Sciences and OpenSource as much as Arafat does?

Join him in his journey of helping the https://github.com/openedx community to grow even better.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xq4sn34jzjzpm4yaqpei.png)
 

#opensource opensource africa #contribution #community #diversity
SEO, AS A FRONTEND DEVELOPER
Tags: webdev, seo, frontend, html
Published: 2022-06-15 20:05:53

## WHAT'S SEO: 

SEO is synonymous of search engine optimization. It is the process of increasing the number of visitors on your site by ranking better on Google.

Following are the Tips that will boast your site in search results 

## SEO TIPS FOR FRONTEND DEVELOPERS:
  
- Use Semantic tags in HTML.
- Use descriptive, keyword-rich Meta descriptions in HTML, and it should be 156 
  characters in length.
- Make the website Mobile friendly.
- keep your JavaScript as small as possible.
- Use one image instead of several small images.
- Remove Unused CSS.
- Make font size large enough to read on all devices easily.
- A webpage should have at least one CTA button.
- Write a meaningful title of the page, and it should be about 50-60 
  characters in length
- You should make sure all external links open in a new window.
- Optimize images by
   - Always add an alt attribute to your image tag. 
   - Make image files as small as possible. Tools like Image 
     Optimizers are always at your service.
   - Before uploading your image, give it a descriptive and 
     keyword rich file name.
Welcome Thread - v178
Tags: welcome
Published: 2022-06-15 19:46:48

---
title: Welcome Thread - v178
published: true
description: Welcome to DEV! A thread of hellos and intros.
tags: welcome
canonical_url: 
---

![The word "SUP" spelled out in all caps with purple lettering is sitting on a white background with a lily pad floating beneath it; it's not obvious but the lily pad is floating on a white liquid. Suddenly, a frog falls from above and lands on the lily pad, sending a ripple through the white liquid and causing the lily pad to drift. The pattern resets and repeats!](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ziu9bi7956gk8gl8tz2n.gif)

### Welcome to DEV!

1. Leave a comment below to introduce yourself! You can talk about what brought you here, what you're learning, or just a fun fact about yourself.

2. Reply to someone's comment, either with a question or just a hello. 👋 

**Great to have you in the community!**
Add Strings
Tags: leetcode, dsa, theabbie
Published: 2022-06-15 19:30:40

Given two non-negative integers, `num1` and `num2` represented as string, return _the sum of_ `num1` _and_ `num2` _as a string_.

You must solve the problem without using any built-in library for handling large integers (such as `BigInteger`). You must also not convert the inputs to integers directly.

**Example 1:**

**Input:** num1 = "11", num2 = "123"
**Output:** "134"

**Example 2:**

**Input:** num1 = "456", num2 = "77"
**Output:** "533"

**Example 3:**

**Input:** num1 = "0", num2 = "0"
**Output:** "0"

**Constraints:**

*   `1 <= num1.length, num2.length <= 104`
*   `num1` and `num2` consist of only digits.
*   `num1` and `num2` don't have any leading zeros except for the zero itself.

**SOLUTION:**

    class Solution:
        def addStrings(self, num1: str, num2: str) -> str:
            m = len(num1)
            n = len(num2)
            if m < n:
                num1 = "0" * (n - m) + num1
            else:
                num2 = "0" * (m - n) + num2
            carry = 0
            i = max(m, n) - 1
            op = ""
            while i >= 0:
                val = carry + int(num1[i]) + int(num2[i])
                op = str(val % 10) + op
                carry = val // 10
                i -= 1
            if carry > 0:
                op = "1" + op
            return op
A Suggestion to publicize our work in many countries
Tags: webdev, javascript, android
Published: 2022-06-15 19:13:41

As I am new to the platform, and I don't have much to contribute at the moment, I want to start by showing you this tool that I found dedicated to us. A friend uses it and recommended it to me. So I think this might also be in the interest of the community. [https://hopper.30i.com.br/](https://hopper.30i.com.br/).
Bocoran SDY Hari ini 16 Juni 2022
Tags: prediksitogel, syairsdy, prediksisydney, bocoransdy
Published: 2022-06-15 19:07:39

**Bocoran SDY Hari ini 16 Juni 2022** - Hai Gaes, pada kesempatan ini, kami akan membagikan perumusan nomor prediksi Toto sydney pada hari Kamis, 16 Juni 2022. Saat ini, banyak orang tergoda untuk menang dari permainan digital.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a3w0joy2w7zt3ithn5vh.jpg)

Nah di sini, kami akan memberikan ringkasan kecil yang terkait dengan Prediksi Togel SDY Kamis 16 Juni 2022 2d 3d 4d yang berasal dari kode alami hari ini di [https://rwblog.id/](https://rwblog.id/) .

Biasanya, banyak orang menafsirkan tokoh -tokoh itu berasal dari mimpi yang mereka alami ketika mereka tertidur, kemudian ditafsirkan oleh interpretasi buku impian 4D 3D 2D.

Angka keluar Prediksi Togel SDY sering digunakan oleh komunitas yang lebih besar dengan perumusan nomor output Toto Macao.

Untuk puisi Prediksi Togel SDY hari ini, itu adalah hal yang sama dengan prediksi Prediksi Togel SDY malam ini, tetapi itu merumuskannya.

**Bocoran oleh Prediksi Togel SDY Kamis 16 Juni 2022**

Mungkin itulah yang bisa kami bagikan untuk Anda semua. Kami berharap Anda mengikuti naluri Anda sendiri dan mengharapkan keberuntungan Anda.

Angka -angka tepat Toto Macao yang telah kami berikan adalah hasil dari formulasi yang kami buat sendiri. Terima kasih telah membaca artikelnya

Source : **[Prediksi Togel Sydney 16 Juni 2022](shorturl.at/hjCGI)**
Maximum XOR of Two Numbers in an Array
Tags: leetcode, dsa, theabbie
Published: 2022-06-15 19:00:42

Given an integer array `nums`, return _the maximum result of_ `nums[i] XOR nums[j]`, where `0 <= i <= j < n`.

**Example 1:**

**Input:** nums = \[3,10,5,25,2,8\]
**Output:** 28
**Explanation:** The maximum result is 5 XOR 25 = 28.

**Example 2:**

**Input:** nums = \[14,70,53,83,49,91,36,80,92,51,66,70\]
**Output:** 127

**Constraints:**

*   `1 <= nums.length <= 2 * 105`
*   `0 <= nums[i] <= 231 - 1`

**SOLUTION:**

    class Solution:
        def findMaximumXOR(self, nums: List[int]) -> int:
            n = len(nums)
            maxx = 0
            mask = 0
            se = set()
            for i in range(30, -1, -1):
                mask |= (1 << i)
                newMaxx = maxx | (1 << i)
                for i in range(n):
                    se.add(nums[i] & mask)
                for prefix in se:
                    if (newMaxx ^ prefix) in se:
                        maxx = newMaxx
                        break
                se.clear()
            return maxx
Boost your productivity by closing the VSCode Sidebar
Tags: productivity, javascript, react
Published: 2022-06-15 18:33:03

---
title: Boost your productivity by closing the VSCode Sidebar
published: true
description: Boost your productivity by closing the VSCode Sidebar
tags: productivity, javascript, react
---

I was one of those Developer who felt weird closing the Sidebar in VSCode I always needed to see my files all the time for some reason even if this made no sense while working on a problem, but one day I decided to start closing it while working on a feature/problem and it was hard for me for a few days but after I got used to having a closed sidebar my productivity skyrocketed.

## How do I start?
I find what I need to work on and open multiple tabs side by side when needed then I close the sidebar and start working.

Another pro beside productivity was my eyes hurt way less and themes which where to noisy in colors for me and I couldn't use them are now no problem anymore and I enjoy them now.

Hope this will help some devs out there.
Issues with GenerateManifests in sdk-style csproj file
Tags: dotnet, programming
Published: 2022-06-15 18:31:51

As you may know, to get an accurate OS version number in .NET Framework 4.x, you need to create an `app.manifest` file using Visual Studio and then un-comment the Windows versions you'd like to support:

```xml
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
    <!-- A list of the Windows versions that this application has been tested on
        and is designed to work with. Uncomment the appropriate elements
        and Windows will automatically select the most compatible environment. -->

    <!-- Windows Vista -->
    <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->

    <!-- Windows 7 -->
    <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />

    <!-- Windows 8 -->
    <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />

    <!-- Windows 8.1 -->
    <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />

    <!-- Windows 10 -->
    <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />

</application>
```

By doing so, Visual Studio will automatically add the following property to your project (`.csproj`) file:

```xml
<PropertyGroup>
    <ApplicationManifest>app.manifest</ApplicationManifest>
</PropertyGroup>
```

Now you can get the correct version number:

```c#
var version = Environment.OSVersion.Version;

// Before: 6.2.9200.0
// After: 10.0.19044.0
```

## The Problem

While I was migrating a project to the new sdk-style project file, I noticed that the OS version number was incorrect. I was keeping the `net48` Target Framework (TFM) so that wasn't the issue.

**The issue was just like when the manifest file doesn't exists.**

## The Symptom
This was happening only when I was publishing the project using the `Build > Publish` menu in Visual Studio. Otherwise everything was fine.

---

I used the `try-convert` tool to migrate the project. [More Info](https://github.com/dotnet/try-convert)

```bash
try-convert --keep-current-tfms --no-backup
```

---

## The Fix
After hours of debugging I found out that the `GenerateManifests` tag in my `.csproj` file was causing the issue.

```xml
<GenerateManifests>true</GenerateManifests>
```

I'm not exactly sure why this was happening but I'm glad that the issue has been resolved.

If you know why, please let me know in the comments.
The K Weakest Rows in a Matrix
Tags: leetcode, dsa, theabbie
Published: 2022-06-15 18:30:38

You are given an `m x n` binary matrix `mat` of `1`'s (representing soldiers) and `0`'s (representing civilians). The soldiers are positioned **in front** of the civilians. That is, all the `1`'s will appear to the **left** of all the `0`'s in each row.

A row `i` is **weaker** than a row `j` if one of the following is true:

*   The number of soldiers in row `i` is less than the number of soldiers in row `j`.
*   Both rows have the same number of soldiers and `i < j`.

Return _the indices of the_ `k` _**weakest** rows in the matrix ordered from weakest to strongest_.

**Example 1:**

**Input:** mat = 
\[\[1,1,0,0,0\],
 \[1,1,1,1,0\],
 \[1,0,0,0,0\],
 \[1,1,0,0,0\],
 \[1,1,1,1,1\]\], 
k = 3
**Output:** \[2,0,3\]
**Explanation:** 
The number of soldiers in each row is: 
- Row 0: 2 
- Row 1: 4 
- Row 2: 1 
- Row 3: 2 
- Row 4: 5 
The rows ordered from weakest to strongest are \[2,0,3,1,4\].

**Example 2:**

**Input:** mat = 
\[\[1,0,0,0\],
 \[1,1,1,1\],
 \[1,0,0,0\],
 \[1,0,0,0\]\], 
k = 2
**Output:** \[0,2\]
**Explanation:** 
The number of soldiers in each row is: 
- Row 0: 1 
- Row 1: 4 
- Row 2: 1 
- Row 3: 1 
The rows ordered from weakest to strongest are \[0,2,3,1\].

**Constraints:**

*   `m == mat.length`
*   `n == mat[i].length`
*   `2 <= n, m <= 100`
*   `1 <= k <= m`
*   `matrix[i][j]` is either 0 or 1.

**SOLUTION:**

    import bisect
    import heapq
    
    class Solution:
        def kWeakestRows(self, mat: List[List[int]], k: int) -> List[int]:
            mat = [row[::-1] for row in mat]
            heap = []
            for i, row in enumerate(mat):
                strength = -bisect.bisect_left(row, 1)
                heapq.heappush(heap, (strength, i))
            op = []
            for i in range(k):
                op.append(heapq.heappop(heap)[1])
            return op
Introducing Our New Launcher
Tags: unrealengine, pixelstreaming, metaverse
Published: 2022-06-15 18:24:33

---
title: Introducing Our New Launcher
published: true
description: A look at our new launcher.
tags: unrealengine, pixelstreaming, metaverse
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/99cgwovpgjojtfju8u61.jpg
canonical_url: https://make.live/blog/introducing-our-new-launcher
---
Today we're excited to show you our new project Launcher. When we initially launched Make Live [back in April](https://make.live/blog/introducing-make-live) we made our launcher so that it immediately took you straight into a project. This worked well initially but as we look to provide more possibilities and customisation it's now clear to us how limiting it is.

With our new Launcher (we refer to it as “Launcher v2”), instead of taking you straight into the project we have an interstitial screen that provides information about your project. By default, your project title will be shown. However, we're also adding the ability for you to customise this in your project settings:

![Project Customisation](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/87np4yotuj39ktn29g23.png)
 

In particular, the new “Description” field gives you a great way to provide some useful information to the user of your project as you can see here:

![Launcher v2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7qx40gbaioipzqptjojm.png)

These options are just the beginning and in the near future we hope to make more customisation available to all our customers to brand and enhance your projects for your users.

Try our new Launcher for yourself in the [Pirate Island](https://launch.make.live/make-live/pirate-island) project.

We’d love to hear from you on Live Chat or Twitter at [@MakeLiveHQ](https://twitter.com/makelivehq).
Functions in Javascript
Tags: webdev, javascript, programming, functions
Published: 2022-06-15 18:11:55

## Function
A Function is a block of code that perform some specific task.

## Declaration
To declare a Function with Function name the block of code that needs repeat.

```
Syntax:
function function_name() {
    // block-of code
}
```
1.  function declared with the function keyword.
2.  block of code within {}.

## Calling a function:
To call that function where we need it?

```
Syntax:
function_name();
```

Example
```
function greet() {
    console.log('Hello world');
}

greet(): // Hello world

```

## Function parameters

- A function can declare with parameters.
- A parameter is a value that is passed when declaring a function.

```
function greet(name) {
    console.log(`Hello ${name}`)
}

greet('Manikandan');  // Hello Manikandan

```
Explanation
Here 'name' is a parameter, when it declare with greet function creation.

## Function return

- return statement can be used to return a value to a function call.

- return denotes function has ended.  Any codes after the return statement are not executed.
```
function add(a, b) {
  return a + b;
}

const result = add(10, 20);
console.log("sum is: ", result); // sum is:  30
```
Example:
If I want to add three student marks total.  I write a code for calculateTotal for each student.  So the same code repeats three times.

When I write it to a function and call three times for three students.
So, Here code is written once. But use it three times. 

Function like that write code once, and we call when it needs.

```
function calculateTotal(mark_1, mark_2, mark_3) {
    const totalMark = mark_1 + mark_2 + mark_3;
    return totalMark;
}

const student_1 = calculateTotal(90, 45, 60);
console.log('Student_1 total: ', student_1);

const student_2 = calculateTotal(80, 70, 50); 
console.log('Student_2 total: ', student_2);

const student_3 = calculateTotal(55, 45, 65);
console.log('Student_3 total: ', student_3);

/* 
Student_1 total:  195
Student_2 total:  200
Student_3 total:  165
*/

```

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o00jm1jtdulo7h8tekmc.png)
To be or not to be a Fullstack Dev?
Tags: discuss, beginners, career, watercooler
Published: 2022-06-15 18:07:51

One of the hardest things for me is to define my level of knowledge in something. Nowadays I consider myself a Front-end developer because is the area I know the most and I'm most interested at. However, I'm also able to work on back-end side (Not the same knowledge, but it's sufficient most of the time).

I feel like being Fullstack is like being good at Back-end and Front-end, while specializing in one of those areas, means diving deep into them, while having shallow knowledge of the other. Also, it looks like that "deep" understanding isn't needed most of the time, so probably a Fullstack would be good enough in 95% of the cases.

This got me thinking: is it better, career wise, to be a Fullstack developer? Or is specialization the way to go?
Unique Email Addresses
Tags: leetcode, dsa, theabbie
Published: 2022-06-15 18:00:42

Every **valid email** consists of a **local name** and a **domain name**, separated by the `'@'` sign. Besides lowercase letters, the email may contain one or more `'.'` or `'+'`.

*   For example, in `"alice@leetcode.com"`, `"alice"` is the **local name**, and `"leetcode.com"` is the **domain name**.

If you add periods `'.'` between some characters in the **local name** part of an email address, mail sent there will be forwarded to the same address without dots in the local name. Note that this rule **does not apply** to **domain names**.

*   For example, `"alice.z@leetcode.com"` and `"alicez@leetcode.com"` forward to the same email address.

If you add a plus `'+'` in the **local name**, everything after the first plus sign **will be ignored**. This allows certain emails to be filtered. Note that this rule **does not apply** to **domain names**.

*   For example, `"m.y+name@email.com"` will be forwarded to `"my@email.com"`.

It is possible to use both of these rules at the same time.

Given an array of strings `emails` where we send one email to each `emails[i]`, return _the number of different addresses that actually receive mails_.

**Example 1:**

**Input:** emails = \["test.email+alex@leetcode.com","test.e.mail+bob.cathy@leetcode.com","testemail+david@lee.tcode.com"\]
**Output:** 2
**Explanation:** "testemail@leetcode.com" and "testemail@lee.tcode.com" actually receive mails.

**Example 2:**

**Input:** emails = \["a@leetcode.com","b@leetcode.com","c@leetcode.com"\]
**Output:** 3

**Constraints:**

*   `1 <= emails.length <= 100`
*   `1 <= emails[i].length <= 100`
*   `emails[i]` consist of lowercase English letters, `'+'`, `'.'` and `'@'`.
*   Each `emails[i]` contains exactly one `'@'` character.
*   All local and domain names are non-empty.
*   Local names do not start with a `'+'` character.
*   Domain names end with the `".com"` suffix.

**SOLUTION:**

    class Solution:
        def numUniqueEmails(self, emails: List[str]) -> int:
            diff = set()
            for email in emails:
                host, domain = email.split('@')
                host = host.split('+')[0]
                host = "".join(host.split('.'))
                diff.add("{}@{}".format(host, domain))
            return len(diff)
908. leetcode solution in cpp
Tags: cpp
Published: 2022-06-15 17:59:49

```
class Solution {
 public:
  int smallestRangeI(vector<int>& A, int K) {
    int max = *max_element(begin(A), end(A));
    int min = *min_element(begin(A), end(A));

    return std::max(0, max - min - 2 * K);
  }
};

```
907. leetcode solution in cpp
Tags: cpp
Published: 2022-06-15 17:59:02

```
class Solution {
 public:
  int sumSubarrayMins(vector<int>& arr) {
    constexpr int kMod = 1e9 + 7;
    const int n = arr.size();
    long ans = 0;
    vector<int> prev(n, -1);
    vector<int> next(n, n);
    stack<int> stack;

    for (int i = 0; i < n; ++i) {
      while (!stack.empty() && arr[stack.top()] > arr[i]) {
        const int index = stack.top();
        stack.pop();
        next[index] = i;
      }
      if (!stack.empty())
        prev[i] = stack.top();
      stack.push(i);
    }

    for (int i = 0; i < n; ++i) {
      ans += static_cast<long>(arr[i]) * (i - prev[i]) * (next[i] - i);
      ans %= kMod;
    }

    return ans;
  }
};
```
901. leetcode solution in cpp
Tags: cpp
Published: 2022-06-15 17:58:06



```
class StockSpanner {
 public:
  int next(int price) {
    int span = 1;
    while (!stack.empty() && stack.top().first <= price)
      span += stack.top().second, stack.pop();
    stack.emplace(price, span);
    return span;
  }

 private:
  stack<pair<int, int>> stack;  // (price, span)
};

```