teleren/devto huggingface dataset:
DEV3L on Formula X
Tags: leadership, accelerate, agile
Published: 2021-02-15 01:36:06

---
title: DEV3L on Formula X
published: true
description: Formula X - How to Reach Extreme Acceleration in Your Organization is a business novel based upon a simple acronym, FASTER. Jurriaan Kamer stresses that acceleration is the most important factor when trying to achieve speed.
tags: leadership, accelerate, agile
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/r2pkvy1ncerpi90xtp5u.png
---

**Formula X - How to Reach Extreme Acceleration in Your Organization** is a business novel based upon a simple acronym, FASTER. [Jurriaan Kamer](https://twitter.com/jurriaankamer) stresses that acceleration is the most important factor when trying to achieve speed. With acceleration, time will take care of the rest. Simple physics, force = mass * acceleration.

![](https://pbs.twimg.com/media/EuMprRXXYAcadA2?format=jpg&name=medium)

## Speed

Flow > Efficiency

If everything seems under control,
you're not going fast enough

If you can't measure it,
it doesn't exist

*Hub & spoke management consulting doesn't work*

The less mass in your organization,
the easier you can accelerate

The narrator meets a Formula 1 team captain who - talks about shorten cycle time, intent-based leadership, and what appears to be a flavor scrum (continuous improvement)

## Acceleration Questions - Yes / No

*Decrease decision latency to increase acceleration*

Are people safe to make mistakes?
No - Never fast

Are mistakes being learned from?
No - Build learning rhythm

Are people able to decide without permission?
No - Clarify decision rights

Speed more important than perfection?
No - Make decisions safe to try

If all YES - time will solve problems

## Intrinsic Motivation

Individuals sourcing their own ideas for improvement enables commitment

Clear and shared goal - vision

Can't give responsibility,
Make sure people want to and can take responsibility

## Customer Focus

A whole team approach,
combined with single piece flow

Pit stop for customer

Standardized options enable speed

## Learning

Get better together by learning from doing

If in a hurry,
never get there

## FASTER

F - focus
A - accelerate decisions
S - simplify
T - team engagement
E - elementary physics
R - rhythmic learning
![](https://crbechervaise.files.wordpress.com/2020/04/fastermodel.png)

---

Reference Journal Events: [Start](https://twitter.com/dev3l_/status/1359678404006715394), [Finish](https://twitter.com/dev3l_/status/1360977339014914051)
Selection Sort Algorithm Analysis and implementation in C
Tags: computerscience, algorithms, c
Published: 2021-02-15 01:31:16

Selection Sort is an algorithm that falls under the category of Brute Force because it depends on the input size and it goes over all elements (or almost all elements) in order to perform its main task. It is not really effective since it's time complexity is {% katex inline %}O(n^2){% endkatex %} but it is a really simple algorithm and the analysis is straightforward. Let's start seeing the pseudo-code, followed by its analysis and finally but not least, an example using C language. 

---

{% katex inline %}
\bold{ALGORITHM} \quad SelectionSort(A[0..n - 1])
\newline \text{// Sorts a given array by selection sort}
\newline \text{// Input: An array A[0..n - 1] of orderable elements}
\newline \text{// Output: Array A[0..n - 1] sorted in nondecreasing order}
\newline
\bold{for} \space i \gets 0 \space \bold{to} \space n-2 \space \bold{do}
\newline \quad min \gets \space i
\newline \quad \bold{for} \space j \gets i + 1 \space  \bold{to} \space n-1 \space \bold{do}
\newline \quad\quad \bold{if} A[j] < A[min] \space min \gets j
\newline \quad swap \space A[i] \space and \space A[min]
{% endkatex %}

---

Here you can see the algorithm analysis. We notice that since we have two for loops, we start the analysis with two sums as well.

{% katex %}
  C(n) = \sum_{i=0}^{n-2} \sum_{j=i+1}^{n-1} 1 = \sum_{i=0}^{n-2}[(n-1)-(i+1)+1] = \sum_{i=0}^{n-2}(n-1-i)
{% endkatex %}

Simplifying a bit more, we can see that it turns to be a fraction with a quadratic element on its numerator. If we consider this element with limit to infinite {% katex inline %} \infty {% endkatex %}, we'll reduce to just a regular {% katex inline %} n^2 {% endkatex %}

{% katex %}
  C(n) = \sum_{j=i+1}^{n-1} 1 = \sum_{i=0}^{n-2}(n-1-i) = \frac{(n-1)n}{2} = \frac{(n^2-n)}{2}
{% endkatex %}


{% katex %}
  O(n^2)
{% endkatex %}

---

Finally, you can see the an example using C. You can compile it with: 

```bash
gcc selection_sort.c -o selection_sort
```

```cpp
#include <stdio.h>

void swap(int *a, int i, int min, int i_value, int min_value) {
  a[i] = min_value;
  a[min] = i_value;
}

int selection_sort(int *a, int n) {
  int i, j, min;

  for (i = 0; i < (n - 1); i++) { 
    min = i; 
    for (j = i + 1; j < n; j++) {
      if (a[j] < a[min]) {
        min = j;
      }
    }
    swap(a, i, min, a[i], a[min]); 
  }

  return 0;
}

int main() {
  int n = 7;
  int array[] = {89, 45, 68, 90, 29, 34, 17};
  
  printf("Before: \n");
  for (int x = 0; x < n; x++) {
    printf("%d, ", array[x]);
  }
  printf("\n\n");

  selection_sort(array, n);

  printf("After: \n");
  for (int x = 0; x < n; x++) {
    printf("%d, ", array[x]);
  }
  printf("\n");

  return 0;
}
```
Instalar pacotes .deb no Arch Linux (Manjaro, Reborn OS...)
Tags: linux, archlinux, braziliandevs, ptbr
Published: 2021-02-15 01:20:23

![Arch Linux](https://dev-to-uploads.s3.amazonaws.com/i/eycxap4g2ul4kxdzk2bs.gif)
# Introdução 📝
Pode acontecer de você se deparar com um pacote que só "existe" para distros baseadas em Debian, mas você está em um sistema baseado em Arch e precisa desse pacote que não encontrou nos repositórios do Arch nem no AUR, vamos solucionar isso agora!

> Hey, eu atualizei esta postagem no [meu blog pessoal, veja agora!](https://www.tuliocalil.com.br/post/instalar-pacotes-deb-no-arch-linux-manjaro-reborn-os)

## Índice 📖 
* [ Instalando o Debtap ](#instalando-o-debtap)  
* [ Convertendo pacotes .deb ](#convertendo-pacotes-deb)  
* [ Conclusão ](#conclus%C3%A3o)

###### generated with [Summaryze DEV](https://summaryze-dev.vercel.app/)

# Instalando o Debtap ⚙ <a name="instalando"></a>
Para conseguirmos fazer a instalação de pacotes `.deb` no Arch linux, vamos precisar de um programa chamado [Debtap](https://github.com/helixarch/debtap), que irá pegar o nosso pacote e transformar em instruções `PKGBUILD`, para que o `makepkg` possa compilar e/ou obter arquivos necessários para gerar o binário que o `pacman` irá instalar.
O Debtap está disponível no `AUR`, para isso, use um gerenciador de pacotes AUR, existem vários, o que eu mais gosto é o [yay](https://github.com/Jguer/yay), mas fique a vontade para escolher outro.
Para instalar o debtap com o yay basta fazer:

```bash
yay debtap
```
Após baixar, precisamos atualizar a base de dados do debtap, vamos rodar:
```bash
sudo debtap -u
```
## Convertendo pacotes .deb 🧱 <a name="convertendo"></a>
Agora basta chamar o debtap passando o pacote como primeiro parâmetro, nesse exemplo vou utilizar o [Microsoft Edge DEV](https://www.microsoft.com/pt-br/edge), então baixei o `.deb` no [site oficial](https://www.microsoftedgeinsider.com/pt-br/download), naveguei até a pasta Downloads e rodei o comando:
```bash
cd ~/Downloads
debtap microsoft-edge-dev_88.0.673.0-1_amd64.deb
```
Ao executar, o debtap irá pedir algumas informações como o nome do pacote e a licença, no final o comando irá fazer toda a conversão necessária e criar um novo arquivo com o mesmo nome e com uma extensão `.pkg.tar.zst`, este é o arquivo que o pacman irá usar para instalar o pacote, basta executarmos:

```bash
sudo pacman -U microsoft-edge-dev-88.0.673.0-1-x86_64.pkg.tar.zst
```

## Conclusão 🎯 <a name="conclusao"></a>
O seu programa já está totalmente instalado, parabéns!
Curtiu o conteúdo ? deixa um like, qualquer duvida ou sugestão basta comentar.
Web.dev and WAVE Audit on Twitter
Published: 2021-02-15 00:15:46

Accessibility for websites is very important for the traffic and health of a website. There is a really cool tool that one can use to see the statistics of a website's accessibility, seo, and best practices. I used web.dev to audit Twitter's homepage to look at these statistics. 
### What I found
When I ran the web.dev tool I got these statistics
Performance: 68
Accessibility: 83
Best Practices: 86
SEO: 85
These numbers are scaled on 1-100, where 100 is the best score possible. The scores are generally very good, but performance is the clear odd one out. Thankfully web.dev provides you with the information as to why the score is so low. The main reasons why the performance is so low are:
* Remove unused JavaScript
* Avoid multiple page redirects
* `[role]`s do not have all required `[aria-*]` attributes

The last issue on the list is related to accessibility, but these are the top 3 high impact audit items, so it just goes to show how impactful the first two are on performance. But the biggest impact of the first two items was the unused JavaScript. The web.dev tool allows you to look more in-depth with these audits, and the unused JavaScript was the biggest culprit on bringing the score down. 

### WAVE Audit

Next I performed a WAVE audit on the twitter homepage. This audit is used through the WAVE google chrome extension, and its free to download. This shows the accessibility of a website, and gives an in depth look into its UI. This will show what is most efficient and what is creating errors. Check out my video below for more information on it. I hope this was helpful! 
 
Video: https://www.youtube.com/watch?v=8pmSTp7aSkg&feature=youtu.be&ab_channel=JaredRice
Tabs vs. Spaces
Tags: productivity
Published: 2021-02-18 20:45:14

---
title: Tabs vs. Spaces
published: true
date: 2021-02-15 00:00:00 UTC
tags: productivity
canonical_url: https://jhall.io/archive/2021/02/15/tabs-vs.-spaces/
---

Tabs or spaces? I like to ask this cliché question during technical interviews.

How would you answer?

Most people nerviously laugh, and then try to lightly defend tabs, hoping I’m not a spaces guy. Or the other way around.

The truth is, I don’t care about tabs or spaces (although spaces are clearly superior!)

In my book, the correct answer is, “Don’t argue about it. Use a linter.”

This, and so many other style debates, are just a waste of time. Use a tool to enforce a style. [Put it in your CI pipeline](https://jhall.io/posts/ci-is-table-stakes/). Then never think about, or talk about it again. (And don’t worry if you actually _like_ the style, either.)

The [Go language](https://golang.org/) is somewhat famous for its stance on this issue. It’s been codified as a [Go Proverb](https://go-proverbs.github.io/):

> Gofmt’s style is no one’s favorite, yet gofmt is everyone’s favorite.  
> — Rob Pike
How to check if a string contains emojis in JavaScript?
Tags: javascript
Published: 2021-02-15 00:00:00

---
  title: How to check if a string contains emojis in JavaScript?
  published: true
  tags: JavaScript
  date: Mon Feb 15 2021 05:30:00 GMT+0530 (India Standard Time)
  canonical_url: https://melvingeorge.me/blog/check-if-string-contain-emojis-javascript
  cover_image: https://melvingeorge.me/_next/static/images/main-4fc4bd85c679f11edbd401a2416a6273.jpg
  ---
  [Originally posted here!](https://melvingeorge.me/blog/check-if-string-contain-emojis-javascript)
  
To check if a string contains emojis in JavaScript, we can use a regex expression to match a range of Unicode specific to emojis.

### TL;DR

```js
// Match almost all emoji
const str = "Hello 😃 😄";
/(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/gi.test(
  str
);
```

For detailed explanation. Read on 📖.

This is the regex expression for matching almost all the emojis in a string. This range of Unicode will match almost all the emoji's in a string.

```js
// Regular expression to match emoji
const regexExp = /(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/gi;
```

Now let's write a string with some emojis.

```js
// Regular expression to match emoji
const regexExp = /(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/gi;

// String with 3 emoji and some letters
const str = "Hello 😃 😄";
```

Now to test the string, we can use the `test()` method available in the regular expression we defined. It can be done like this,

```js
// Regular expression to match emoji
const regexExp = /(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/gi;

// String with 3 emoji and some letters
const str = "Hello 😃 😄";

regexExp.test(str); // true
```

- The `test()` method will accept a `string` type as an argument to test for a match.
- The method will return boolean `true` if there is a match using the regular expression and `false` if not.

See the above example live in [JSBin](https://jsbin.com/riluzitice/4/edit?js,console).

### Feel free to share if you found this useful 😃.

---
What does data exploration mean in data science?
Tags: datascience, analytics, jupyter, python
Published: 2021-02-14 22:34:47

Data exploration and analysis is at the core of data science. Data scientists require skills in languages like Python to explore, visualize, and manipulate data.

Unsurprisingly, the role of a data scientist primarily involves exploring and analyzing data. The results of this analysis might form the basis of a report or a machine learning model, but it all begins with data.

Usually, a data analysis project is designed to establish insights around a particular scenario or test a hypothesis. For example, suppose a university professor collects data from data science students, including the number of lectures attended, the hours spent studying, and the final grade achieved on the end of term exam. The professor could then take a sample of the data and analyze it to determine if there is a relationship between the amount of study a student undertakes and the final grade they achieve. 

They might use the data to test a hypothesis that only students who study for a minimum number of hours can expect to achieve a passing grade or even prepare the data to train a machine learning model that predicts a student's grade based on their study habits.

This was one of the problems to solve that was presented to the participants in IBM Behind the code 2020 in one of the eight weekly challenges with data from the Anahuac University of Mexico.

# Explore data
Data exploration and analysis is typically an iterative process, in which the data scientist takes a sample of data, and performs the following kinds of a task to analyze it and test hypotheses.

* Clean data to handle errors, missing values, and other issues.

* Apply statistical techniques to better understand the data and how the sample might be expected to represent the real-world population of data, allowing for random variation.

* Visualize data to determine relationships between variables, and in the case of a machine learning project, identify features that are potentially predictive of the label.

* Derive new features from existing ones that might better encapsulate relationships within the data.

* Revise the hypothesis and repeat the process.

Data scientists can use a variety of tools and techniques to explore, visualize, and manipulate data. One of the most common ways in which data scientists work with data is to use the Python language and some specific packages for data processing.

In the following Jupyter notebook you can see an example of the analysis of an emergency call data set and how information was extracted from the data.

![Emergency Calls](https://dev-to-uploads.s3.amazonaws.com/i/gjkzblspsaw7rifji73z.png)

[Emergency Calls](https://nbviewer.jupyter.org/github/JoelBuenrostro/100-Days-of-ML-Code/blob/master/Jupyter%20Notebooks/Emergency%20911%20calls.ipynb)

I hope you liked this content, thanks for reading me, and happy coding!!!
Do you even Refactor? 003
Tags: beginners, codenewbie, python, challenge
Published: 2021-02-14 22:34:19

Code refactoring is crucial but often overlooked. It can improve the design and performance of existing code.

The Python code below takes about 14 seconds to complete. Refactor the `getData` function to make it run in less than 10 seconds. Post your answer in the comments.

```py
import time

def getData():
  arr = []
  for i in range(1000*1000*50):
    arr.append(i)
  lo, hi = 0, 0
  for x in arr:
    if x < lo:
      lo = x
    if x > hi:
      hi = x
  print(lo, hi)
  return arr

def timed(func):
  def run():
    Tstart = time.time()
    func()  
    Tend = time.time()
    Tdt = round(Tend - Tstart, 2)
    print(Tdt, 'seconds')
  return run

@timed
def main():
  data = getData()
  print('len:', len(data), 'sum:', sum(data))

main()
```
How to audit a website for accessibility.
Tags: ally, webdev, lighthouse, wave
Published: 2021-02-14 22:29:14

When building and designing a website, accessibility is a crucial aspect that can sometimes go overlooked.  When certain web aspects are not developed with the intentions to be accessible to all, this may drive potential users away.  Luckily, in today's world there are websites that utilize AI and other recognition tools that will give feedback on the accessibility of a website.  In this post I will be covering three of these tools, and the results of their audit of the same website - CHAARG, which is a national health and fitness club for female co-eds.

## Web.dev
The process of running an audit on [web.dev](https://web.dev) is incredibly easy.  All that is really required of you is to copy/paste your URL into the "test your link" field.  Enter, and BAM! - you have your audit. The areas that are tested are performance, accessibility, best practices, and SEO (search engine optimization).  CHAARG scored a 10, 90, 57, and 83 respectively.  The biggest problem is obviously in the website's performace.  Some of the suggestions that were given were to remove unused CSS and JavaScript code and to eliminate render-blocking resources.

## Lighthouse
[Lighthouse](https://chrome.google.com/webstore/detail/lighthouse/blipmdconlkpinefehnmjammfjpmpbjk?hl=en) is a Chrome extension that when on a website and activated, it runs an accessibility audit.  These results were not much different from those from web.dev.  Every aspect had a rating almost exactly the same.  The feedback from Lighthouse that seemed most critical to tend to for accessibility was to fix preload key requests - or prioritze gathering resources needed in later requests - and to ensure that text is still visible to the users when it is loading.

## Wave
[Wave](https://chrome.google.com/webstore/detail/wave-evaluation-tool/jbbplnpkjmmeebjpijfedlgcdilocofh) is another Chrome extension that I used.  This site also gives information on a website with the same categories as web.dev and Lighthouse.  One thing that I appreciated about this interface was that there is a separate tab solely for errors, and it categorizes them by level of importance.  I also really liked how this auditing platform shows the website in review, and has little icons that when hovered over on show a summary of the issue. A main suggestion here was to do with webfont loads (just as Lighthouse suggested), where a CSS font can be implemented in order to show some text on the screen as it is loading.

## Check out this [YouTube video](https://youtu.be/dlB8KG2D_c4) where I explain these accessibility audits!
Getting Started - Youtube GIF Maker Using Next.js, Node and RabbitMQ
Tags: webdev, node, react, javascript
Published: 2021-02-14 22:13:47

Hello everyone,
This Article is the first part of the series Youtube GIF Maker Using Next.js, Node and RabbitMQ. You can find the full project [on github](https://github.com/ragrag/youtube-gif) and you can also view the [app demo](http://ytgif.vercel.app/). 

This article will cover
* App Overview
  * [Basic Idea](#idea)
  * [Functionalities](#app-functionalities)  
* System Design 
  * [Components](#system-components)  
  * [Architecture](#architecture) 
  * [Sequence Diagram](#sequence-diagram)



## Overview

### Idea

The basic idea of the app is to let users create GIFs from Youtube Videos. Users can do that by defining the url of the youtube video they want to make a GIF from as well as defining the start/end times of the GIF

### App Functionalities

* Create a GIF from a youtube video and the start/end times (range) from the video to make into a GIF
* Preview the result before doing the actual conversion

## System Design

### System Components

Each component of the system is responsible for working in isolation and communicating with other components 

* React (Next.js) as the client side
  * Communicates with the backend server to create new gif conversion requests as well as getting information of already created gif conversions
* Node as a backend server
  * Handles requests from the client as well as dispatching new conversion jobs to the message broker
* Node as a service worker
  * Will be responsible for executing/processing the conversion jobs 
* RabbitMQ as a message broker
  * Will act as a Task Queue where the backend server will produce tasks to it and the service worker will consume tasks from it 
* MongoDB for datastore
  * Will store information about the GIF conversion jobs
* Google Cloud Storage for media storage
  * Will be used to store the converted GIFs


### Architecture

![System Architecture](https://dev-to-uploads.s3.amazonaws.com/i/a33a1ot9ncgu65eq1ryz.png)
 

### Sequence Diagram

This is a sequence diagram demonstrating the data flow including all the components mentioned above

![Sequence Diagram](https://dev-to-uploads.s3.amazonaws.com/i/3p3q8twj2omqf3ndtw3g.png)
 
In the next article in the series, we will start by diving deeper into the backend server
What do you use as a journal/notebook?
Tags: watercooler
Published: 2021-02-14 22:13:42

I think everyone has somewhere to keep their journal. Maybe you write their thoughts, things you find, or keep something like a to-do list.

Normally I like to use [Notion](https://notion.so/) or [Tiddlywiki](https://tiddlywiki.com/). Sometimes [octo.app](https://octo.app) due to it being a PWA and the ability to work anywhere/offline.

But, I'd like to know what you use.
100 Bytes Of Wisdom: Day 1
Tags: career, journey, advice
Published: 2021-02-14 21:42:30

---
title: 100 Bytes Of Wisdom: Day 1
published: true
description: Bytes of Wisdom is a new project by Sam Jarman that brings together snippets of advice for software engineers
tags: career, journey, advice
//cover_image: https://direct_url_to_image.jpg
---

Hi All! 

Today I'm launching a new project: Bytes of Wisdom. Bytes of Wisdom is where I give you my favourite snippets and bits of wisdom and learnings that I've learned so far in my software journey. 

It's all happening primarily over on [Instagram](https://www.instagram.com/bytesofwisdom/), but I'll be sharing them here and writing some additional commentary for DEV. 

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

A big mistake some folks, in all industries, make is following process to the letter. They often don't see the wood for the trees and understand why they're actually doing the process. What was it put in place for? What is it trying to ensure/prevent? Is there a faster way to do this? Is there a more careful way to do this? Ask yourself next time.

Heads up: As with any terse bit of advice, there will be exceptions of course, and subtleties and nuance that can't possibly be captured in a Byte of Wisdom. This has been what I've experienced, I'd love to hear yours in the comments too!
Child Selector ( > )
Tags: css, html
Published: 2021-02-14 21:18:21

> this element is used to select a specific child element from a specific element.
       ```html
        <div class="abc">
           <section>.....</section>
           <p>.....</p>
           <button>.....</button>
       </div> 
      ```
here , to select all from our "div" class name "abc" ,we use child selector . 
       ```CSS
       .abc > p {
             ........
             ........
         }
        ```