teleren/devto huggingface dataset:
Now it Begins
Published: 2021-08-19 19:06:42

They say the journey of a thousand miles begins with a step. I am a backend developer in the HNGi8 internship. This is a list of what I want to achieve within the next 8 weeks:
*Building my collaboration skill*
*Improving my communication skill*
*Leadership skill*
If you’re reading this and wish to dive into Back-end development, here are some tutorials that have helped to grasp the concept of programming and programming languages

Javascript Tutorial https://youtube.com/watch?v=hdI2bqOjy3c

Introduction to git and github https://youtube.com/watch?v=RGOj5yH7evk

Figma Tutorial https://youtube.com/watch?v=Gu1so3pz4bA

To be a part of HNG internship, visit https://internship.zuri.team
Java, Common substring of two string in JAVA
Published: 2021-08-19 19:03:33

	
```
public String getLongestCommonSubstring(String str1, String str2)
{
			int m = str1.length();
			int n = str2.length();
	
			int max = 0;
	
			int[][] dp = new int[m][n];
			int endIndex=-1;
			for(int i=0; i<m; i++){
				for(int j=0; j<n; j++){
					if(str1.charAt(i) == str2.charAt(j)){
	
						// If first row or column
						if(i==0 || j==0){
							dp[i][j]=1;
						}else{
							// Add 1 to the diagonal value
							dp[i][j] = dp[i-1][j-1]+1;
						}
	
						if(max < dp[i][j])
						{
							max = dp[i][j];
							endIndex=i;
						}
					}
	
				}
			}
			// We want String upto endIndex, we are using endIndex+1 in substring.
			return str1.substring(endIndex-max+1,endIndex+1);
		}
	}

```
Starting new challenges...
Tags: javascript, webdev, react, mobile
Published: 2021-08-19 18:50:37

A few months ago I had only one dream. Now, I'm starting my career as a Front-End Developer.
Studying every day, creating new routines and completely willing to create cool and creative ways to make our world more and more beautiful and practical, and, with that, to be able to make my small contribution on this path 💖
MLH Hackathons Every Weekend
Published: 2021-08-02 03:35:24

As a recent coding bootcamp grad, stepping into the real world and keeping up with job applications, resumes, portfolios, interviews, and all that can be very time consuming and you might just miss writing good ‘ole code. That was exactly what happened in my situation. 
To understand my story a bit more, let me quickly tell you my timeline. End of May I finished my coding bootcamp, and from then to the end of June, I applied to a bunch of jobs, studied algorithms, worked on my portfolio, made a resume, and alot more. It. Was. Exhausting. So focused on getting a job that I was barely creating anymore. So to satisfy my thirst to create something, I found Major League Hacking. A great community that hosts hackathons every weekend.
Starting in the beginning of July, I have done a hackathon every weekend thats gone by. To me it serves as a multitude of self care. First and most important, it satisfies my thirst to create something. Second it keeps my skills sharp and on point. Last but not least, its a great hobby that takes my mind off the job hunt. 
For more information about these hackathons, MLH has their own website with details about all the events but the real gold is their Discord server. In their Discord server is where their community really shines. Worried about your first hackathon? No worries, the Discord will welcome you with open arms even if your’e just a beginner or a FAANG employee. Don’t have a team? No worries, their Discord server has a channel specifically dedicated to networking with others to get a team going. A bunch more great things ranging from live Twitch stream events, to getting code help from mentors, and even for just hanging out with other hackathon participants. 
To me, these events, these communities, these fun projects, all remind me of why I ever got into this field in the first place. With the power to create right quite literally on our fingertips, sometimes having a little fun makes all the difference in the world. It helps me enjoy my career a hell of a lot more.
Covid Symptom Reporting using Amazon Connect, Lex and Lambda (High Level View)
Tags: aws, architecture, cloud, serverless
Published: 2021-08-19 18:43:52

## Amazon Connect

Amazon Connect makes it easy for you to set up and manage a customer contact center and provide reliable customer engagement at any scale. With Amazon Connect you can deploy a customer contact center with just a few clicks in the AWS management console, on-board agents from anywhere, and quickly begin to engage with your customers. 

Amazon Connect provides a seamless experience across voice and chat for your customers and agents. This includes one set of tools for skills-based routing, task management, powerful real-time and historical analytics, and intuitive management tools – all with pay-as-you-go pricing, which means Amazon Connect simplifies contact center operations, improves agent efficiency, and lowers costs.

After creating a contact flow on connect, you can set up a phone number which customers will use to interact with our applications or our agents for support.

For this use case, we are setting up a covid symptom reporting through which users can call to report their status or ask for information related to Covid.

When user calls they are linked to the contact flow which proposes the different options available for them select what they are interested in.

![Covid Symptom Reporting high level architecture](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/we6sms31cdc3wynuaktq.jpg)

If the users wants to report their covid status, they select 1 on their phone and they will be taken to the status reporting flow.

![Report status flow](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ipm78kgpos4xk6oytw18.jpg)

As shown in the figure above, Amazon Lex enables us to create a chatbot which we can link to our contact flow in connect.

Lex is backed by a lambda function which performs all the necessary processing and can also interact with an API hosted on premises or at any other server. After the processing is done, a successful message is returned to the user who can hangup or ask for other information.

This post is a high level view of what is possible with amazon connect; in futur posts more details will be provided on how to create a contact flow, how to create a queue in a contact flow, how to create a bot in amazon lex and link to connect and how to create a lambda function to process requests from Lex.
Vires In Numeris
Tags: blockchain, cryptocurrency, bitcoin
Published: 2021-08-19 18:41:16

Lorem ipsum dolor sit amet. And the rest of this post will resume in English.

This past week I have been kept up at night pondering about the world of cryptocurrency. What are the barriers holding back this secure, efficient, and transparent financial system that could profoundly change the world? Is this system truly financially equitable for everyone?

I’ve read some bold statements online and through the media, that claim cryptocurrency “relies on trust.” There is speculation that we need to trust the system to adopt it, the same way we trust the US Dollar or other fiat currencies.

Who do we trust is the next question?

We trust the government and banks with our fiat currencies because of the laws that protect the system. Furthermore, this currency has value because the government gives it value. The downside to this is governments have control over the amount of money in rotation and value. In some cases, this works out to boost the economy. In other cases, it can and has caused trouble.

“It is based on the reality that central banks tinkering with the money supply has induced recessions, exacerbated unemployment, and given rise to a global banking system based on profiteering and corruption.” - James McWhinney, Investopedia (Why Governments Are Afraid of Blockchain)

In contrast, cryptocurrency does not have a central authority or an institution behind it. There is not a single entity or a single individual controlling this technology. It is composed only of people who participate in the system. This initiative gives the power and control back to the people.

In reality, cryptocurrency does not rely on trust. The entire premise of cryptocurrency is we should not need to trust someone or some entity to govern it. The “source of truth” is in the immutable and proven blockchain data.

This brings me to “vires in numeris,” or Latin for strength in numbers.

![Meme of Call of Duty "The Numbers Mason, What do they mean?](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/os3m98jwejzi0b4hfkym.jpeg)

The proof is ultimately in the numbers.

This famous motto is inscribed on minted Bitcoin and Ledger brand hardware wallets. The idea is relying on the strength of numbers to secure its value instead of central authorities.

After digging, I found the original forum on which the minted phrase was decided: bitcointalk.org/index.php?topic=4994.msg140..

This refreshing piece of digital history illustrates how quickly grand ideas can come to fruition.

So the next time you hear online that for cryptocurrency to be adopted, think vires in numeris; the proof is in the numbers.

One of these days, I will get that tattooed somewhere on my arm.
CodeCast Giveaway!
Published: 2021-08-19 18:11:08

GIVEAWAY ALERT! 
We’re offering you the opportunity to meet one on one with one of CodeCast’s developers to deep dive into how to make your casts stand out and attract an audience while getting to know our tools and features! Get to know what makes content stand out from the crowd and how to utilize the resources we offer! 

How to Enter
Step 1. Sign up to Codecast & become a member! Click Here: https://www.codecast.io/ 
Step 2: Download our studio Click Here: https://lnkd.in/gpdUsPAC
Step 3: Start making casts! 

You will be automatically entered into the contest once you have uploaded your casts! 

Giveaway Details: 
-You have one week to create your casts!
-Casts must contain video-based content (video media // the screen sharing option in the studio!) 
For further information or questions, please contact us at community@codecast.io
Angular in Few Words
Tags: angular, node, javascript, webdev
Published: 2021-08-19 17:48:43

[Angular](https://errorsea.com/angular/) is a TypeScript-based open-source front-end framework for single-page applications developed by Google.

### Where to develop Angular App?

We can install Angular using Nodejs into our Windows/Linux/macOS machine.

### Which are the important concepts of Angular?

Here are some important concepts of Angular you must learn to be a good angular developer.

Components, Interpolation, Property Binding, Class Binding, Style Binding, Event Binding, Template Reference Variables, Two-way Data Binding, ngFor Directive, ngIf Directive, ngSwitch Directive, Pipes, Routes, Wild Card Routes, Routing Parameters, Forms

I hope now you know What is angular, Where to develop it, and Which are the most important concepts to be understood while learning Angular. You can learn the full Angular Tutorial at [errorsea.com](https://errorsea.com)
@supports rule on CSS
Published: 2021-08-19 17:39:39

## Table of Contents
1. [Section](#definition)
2. [Browser Support](#browser-support)
3. [Javascript Usecases](#javascript-usecases)
4. [Logic Operators](#logic-operators)
    1. [Not Operator](#not-operator)
    2. [And Operator](#and-operator)
    3. [Or Operator](#or-operator)
5. [Selector Testing](#selector-testing)
6. [Links](#links)

## 1. Definition
@supports property allows us to test if the browser supports particular property before applying the styles. It can be same as @media property which applies the styles in particular breakpoint.

The syntax looks like this;

```css
@supports (display: grid) {
  #root {
    display: grid;
  }
}
```

## 2. Browser Support

If @supports is supported all the browsers you need then it is time to use it in your applications as well. It gives really nice features that you can control.

Here is the browser support for it;

![Browser Support](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y7gn7f94z07xk9hpamqv.png)
 

## 3. Javascript Usecases

In JavaScript, @supports can be accessed via the CSS object model interface [CSSSupportsRule](https://developer.mozilla.org/en-US/docs/Web/API/CSSSupportsRule)

The CSS includes a CSS feature query using the @supports at-rule, containing one style rule. This will be the first CSSRule returned by document.styleSheets[0].cssRules.myRules[0] therefore returns a CSSSupportsRule object.

```js
let myRules = document.styleSheets[0].cssRules;
console.log(myRules[0]); // a CSSSupportsRule representing the feature query.
```

---

Javascript even has an API for this. We can test some properties here as well;

```js
if (window.CSS && window.CSS.supports) {
 // See if API supported in this browser
}
```

```js
// You can seperate the property and the value.
const supportsGrid = CSS.supports("display", "grid");
```

```js
// Or you can give all in one
const supportsGrid = CSS.supports("(display: grid)");
```

## 4. Logic Operators

### 4.1. Not operator

It will apply the rules if the specified rule is not true

```css
@supports not (display: grid) {
	#root {
		display: flex;
	}
}
```

### 4.2. And operator

It will apply the rules once both of the cases apply true

```css
@supports (display: grid) and (display: flex) {}
```

### 4.3. Or operator

It will apply the rules if at least one of them is true

```css
@supports (transform-style: preserve) or (-moz-transform-style: preserve) {}
```

## 5. Selector Testing (Experimental)

There is a way to test the support of selectors with @supports in some browsers (Firefox, etc.)

```css
@supports selector(A > B) {
	.container {
		
	}
}
```

## 6. Links

- [How @supports Works](https://css-tricks.com/how-supports-works/)
- [@supports - CSS: Cascading Style Sheets | MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/@supports)
Azure Fundamentals AZ-900 Module 1
Published: 2021-08-19 17:34:32


{% youtube E8bwwecZTbc %}

## Resources

Email Notification - https://groups.google.com/g/techtalks-wriju
Google Group - https://groups.google.com/g/techtalks-wriju/
Youtube Channel - https://youtube.com/c/TechTalksWriju
Dev.io Blog - https://dev.to/wrijugh
LinkedIn - https://linkedin.com/in/wrijughosh/
Twitter - https://twitter.com/wrijugh
Facebook Page - https://www.facebook.com/groups/azureforall
Blog - https://wriju.wordpress.com
Create a Puzzle using JS & Canvas
Published: 2021-08-19 17:32:30

github link: https://github.com/sabbir-hossain/cipher-text

[![js canvas cipher-text](https://raw.githubusercontent.com/sabbir-hossain/cipher-text/main/assets/screen-shot.png)](https://www.youtube.com/watch?v=wKXlHX8dZpI "js canvas cipher-text")
Stuck while learning ruby on rails
Tags: ruby, learning, help, codecademy
Published: 2021-08-19 17:17:01

Hi all,

I'm learning ruby now and I have this exercise on which I'm stuck but can't figure out why. The picture says it all. I'm supposed to write a loop, it's supposed to end by "end" which it does but I get the error message that a keyword_end is expected.... I tried everything I could think of so now I'm asking help to see what I'm missing.

Take care all and thanks for your help.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ugs3e57x7syb6l5m9ay8.png)
Podcast interview
Published: 2021-08-19 19:43:45

---
title: Podcast interview
published: true
date: 2021-08-19 17:14:53 UTC
tags: 
canonical_url: 
---

![](https://cdn-images-1.medium.com/max/1024/0*nUOV3RpeKvc61M2D)<figcaption>Photo by <a href="https://unsplash.com/@jukkaaalho?utm_source=medium&amp;utm_medium=referral">Jukka Aalho</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption>

I was interviewed by Nick Janetakis for the Running In Production Podcast:

[Submotion Helps You Manage Access Control for Your SAAS Subscriptions](https://runninginproduction.com/podcast/95-submotion-helps-you-manage-access-control-for-your-saas-subscriptions)

We get into quite a few details about the architectural choices I’ve made for Submotion and how it all works together.

I’ve written before about the way I let the Postgres schema act as the source of truth by generating types with [Kanel](https://github.com/kristiandupont/kanel) (assisted by [Schemalint](https://github.com/kristiandupont/schemalint)). In addition to this, I mention a homemade framework that sort of resembles a server-side Redux. This gives me typesafe database queries that are automatically reflected all the way to the frontend. I am frequently asked to make it open source and that is still the plan. I just need to untangle it from the Submotion source code which just never seems to be high enough priority. I promise I will get around to it :-)
HNG x Zuri Internship Stage 1 Task
Published: 2021-08-16 14:01:10

Salutations everyone my name is Usman Habeeb a third-year physics student of Lagos State University and I am currently enrolled in the internship program being offered by HNG in partnership with Zuri as an intern for the stacks frontend web development and UI/UX design.

The reasons for joining this internship program is primarily to advance in the fields of the tech space that I have stated earlier but that can not be all and it is not to be frank, it is just the headliner of the numerous goals I have set out to achieve which includes but is not limited to getting proficient in each respective field enough to be considered a professional and a respect deserving individual that can and will break barriers and cross boundaries never before seen and also  a way to achieve this is what I have seen in this program that made me enroll and I hope that by the end of this 8 week intense, fun and hopefully fully loaded cohort, that I would have to been able to achieve a considerable if not all amount of all the excellent goals which I have highlighted in this goal statement article and seeing that I owe myself the responsibility of getting to the highest attainable height I will make sure I do my very best until the said best is enough to get me going further these wonderful fields of technology.

The most important thing to take away from this, however, is to know that all this wouldn't have been a speck of reality if not for the constant continued diligence and dedication of the entire team at HNG and the wonderful minds of the Zuri foundation creating a series of wonderful training and internship programs to nurture and build a goal-oriented network of the brightest minds in the field of tech around the world and as I have been opportune to be a part of this I see no reason as to why I wouldn't share this with the world around me and regarding this, I would be sharing the link to the platforms here so that anybody that stumbles across this would also be able to take a jab at the chance of growing as I have set out to. 
These are the links https://zuri.team
https://internship.zuri.team
https://training.zuri.team

I will also be posting links to various beginner tutorials to aid in the journey for anyone

FIGMA:
https://youtu.be/jk1T0CdLxwU
GIT:
https://youtu.be/8JJ101D3knE
HTML:
https://youtu.be/qz0aGYrrlhU
JAVASCRIPT:
https://youtu.be/PkZNo7MFNFg
FLUTTER:
https://youtu.be/x0uinJvhNxI
KOTLIN:
https://youtu.be/F9UC9DY-vIU
Thanks for reading!.
#100daysofcode [Day - 09]
Published: 2021-08-19 17:07:39

#100daysofcode [Day - 09]

Today I've made a shopping cart using JS DOM. You can add or delete products and it will update in real-time.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/60lk398byyv1sgnaj2y1.png)
Live Preview: https://100daysofcode-day09-alsiam.netlify.app/

Code Link: https://github.com/alsiamworld/100-days-of-code/tree/main/day-09

#javascript #programming #codinglife
CircleCIのRust OrbでNightly版を使う
Tags: circleci, rust
Published: 2021-08-19 17:07:19

---
title: CircleCIのRust OrbでNightly版を使う
published: true
description: 
tags: Circleci, Rust
---

CircleCIのRustOrbsを使うときデフォルトではStable版になっています。最近のRustのバージョンで[Clippy](https://github.com/rust-lang/rust-clippy)を使うときはNightlyに切り替える必要があります。

特別な用意されたコマンドは実装されていないので普通に書きます。

```yaml
# .ciecleci/config.yml

version: 2.1

orbs:
  rust: circleci/rust@1.5.0

jobs:
  lint:
    docker:
      - image: circleci/rust:latest
    steps:
      - checkout
      - run: rustup default nightly
      - rust/clippy

workflows:
  version: 2
  test:
    jobs:
      - lint
```

![CircleCI](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5evjvmwaaba4oedlgvna.png)

https://circleci.com/developer/orbs/orb/circleci/rust
My EuroPython '21 talk on Quantum Deep Learning
Tags: deeplearning, quantum, machinelearning, python
Published: 2021-08-19 16:58:26

My talk at #EuroPython2021 on "Introduction to Quantum Deep Learning" which revolved around parameterized quantum classical circuits and how these help to solve some of the most challenging problems in Deep learning is at the link: https://www.youtube.com/watch?v=V92trw5bK34
Repository: https://github.com/abhilash1910/EuroPython-21-QuantumDeepLearning
![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lzpk67b5mwq2std24mgx.png)
Quick Sort
Tags: algorithms, sorting, typescript, quicksort
Published: 2021-08-19 16:57:52

---
title: Quick Sort
published: true
description: Quick Sort is an in-place sorting algorithm that uses a divide-and-conquer technique to sort a given list 
tags: algorithm,sorting,typeScript,quickSort
series: Sorting Algorithms
//cover_image: https://direct_url_to_image.jpg
canonical_url: https://ricardoborges.dev/quick-sort
---

Quick Sort is an in-place sorting algorithm that uses a divide-and-conquer technique to sort a given list, which means it breaks down a problem into smaller parts in order to be simpler to solve and doesn't uses auxiliary data structures.

Quick Sort starts by selecting an element from the list to be the **pivot**, usually is the first or last element.

Next, rearrange the other elements, so all elements smaller than the pivot go to its left and all elements greater than the pivot goes to its right.

This process is repeated for the right and left sides of the pivot.

![quicksort](https://res.cloudinary.com/dje4crtui/image/upload/v1628888249/algorithms/sorting/quicksort_nag90i.gif)

## Implementation

Here is a recursive implementation of Quick Sort in TypeScript.

```typescript
/**
 * swap function
 */
function swap(arr: number[], i: number, j: number) {
  [arr[i], arr[j]] = [arr[j], arr[i]];
}

/**
 * recursive function
 */
function quickSort(arr: number[], start: number, end: number) {
  // base case
  if (start >= end) return;

  // rearrange the entire array based on a pivot
  // this pointer is the middle of the array, it will be explained in the next function
  const pointer = rearrange(arr, start, end);

  // rearrange the left and right side of the pivot
  quickSort(arr, start, pointer - 1);
  quickSort(arr, pointer + 1, end);
}

/**
 * function to rearrange the array based on a pivot
 */
function rearrange(arr: number[], start: number, end: number) {
  // choose last element to be the pivot
  const pivot = arr[end];

  // this pointer works like a placeholder for the pivot, at the end, it will be in the middle of the array, and will swap with the pivot that is in the end
  let pointer = start;

  for (let i = start; i < end; i++) {
    if (arr[i] < pivot) {
      swap(arr, pointer, i);

      // increment pointer, so it stays ahead of the elements that are smaller than the pivot
      pointer++;
    }
  }

  // put the pivot in the middle
  swap(arr, pointer, end);
  return pointer;
}

const arr = [3, 7, 2, 6, 5];
quickSort(arr, 0, arr.length - 1);
console.log(arr); // 2, 3, 5, 6, 7
```

The important part of Quick Sort is the choice of the **pivot**, since a bad choice leads to the worst-case time complexity, speaking of which, the average case time complexity of this algorithm is _O(n log n)_, while in the worst case is _O(n²)_, however, the worst-case can be avoided using a randomized version of this algorithm. Also, unlike [Merge Sort](https://ricardoborges.dev/merge-sort), Quick Sort is an in-place algorithm, which gives it the advantage of having a constant space complexity _O(1)_.