teleren/devto huggingface dataset:
Week 05 & 06 - Progress Report with Community Bridge
Tags: thanos, opensource, cncf, internships
Published: 2020-11-17 16:52:27

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/w10vkb0o4gwwcl05f4ia.png)
<center><sub>Thanos 🔥</sub></center><br/>

I completed the six weeks of [my internship](https://soniasingla.com/cncf-intern-with-thanos/) at [Cloud Native Computing Foundation](https://www.cncf.io/) with [Thanos](https://people.communitybridge.org/project/f51284ab-f652-47b1-9819-cd4135e75c00) under the mentorship of [Bartek Plotka](https://www.bwplotka.dev/) and [Povilas Versockas](https://povilasv.me/) 🤗 ❤️

In this blog post, I want to share my experience and progress report of the last two weeks (i.e 5th and 6th week) 🤗.

## WORK DONE :

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/e67u7zhvq1eiye2czepm.png)
<center><sub>Targets</sub></center><br/>

1. Completed the basic structure of the [tutorial](https://katacoda.com/soniasingla/courses/thanos/2-lts).
2. Delete unused code and dependencies from the [files](https://github.com/thanos-io/thanos/pull/2840/files).
3. Fixed container rendering bugs 🐞.
4. Improved the structure, content and design of the tutorial **"Downsampling and unlimited metric retention for Prometheus"**.

## PLANS FOR THE NEXT WEEK :

After 1:1 meeting with [Bartek Plotka](https://www.bwplotka.dev/) and [Povilas Versockas](https://povilasv.me/), we decided to re-structure the tutorial 🥱.

1. Convert 2 Prometheus servers into 1 Prometheus server, and similarly 1 Object Storage, 1 Thanos Store.
2. Add Thanos [Compactor](https://thanos.io/components/compact.md/) in the tutorial to show the retention capabilities 💪🏻.
3. Remove Downsampling from the tutorial 🤔.

As [Povilas](https://povilasv.me/) says **"Unorganized stuff is the best 😂, always make a mess and then try to make it look good"**.

Many excited things coming soon with the tutorial 😻

Stay Tuned 😉

**Signing off for today, until next week 👻**

**:wq**
An insignificant browser-bug?
Tags: css, chrome, bug, typography
Published: 2020-11-17 16:51:04


Almost 3 years ago, I reported a browser-bug to the Chrome-team:

https://bugs.chromium.org/p/chromium/issues/detail?id=807546

It is minor for most people, but for typography-geeks, it's ... significant!

In the snippet below, I use 3 fonts:

![Chrome](https://dev-to-uploads.s3.amazonaws.com/i/e812n8t27rz66iccdxze.png)

- _Abhaya Libre Medium_ for the body-text
- _Cormorant SC SemiBold_ for the first *line* of a paragraph
- _Yeseva One_ for the first *letter* of a new paragraph, that's the `first-of-type` within a section.

The quoted entries are within `<q>`-tags, using the standard `open-quote` and `close-quote` as `content` for the `::before` and `::after` pseudo-elements.

Here's the same snippet in *Firefox;*
![Firefox](https://dev-to-uploads.s3.amazonaws.com/i/me3mjaqzpgq2f57w0xji.png)

**Can you spot the issue?**

Firefox correctly use _Cormorant SC SemiBold_ for the quotes in the first-line, since there's a CSS-rule:

```css
.article__section>p:first-of-type::first-line {
  font-family: "Cormorant SC", serif;
  font-weight: 600;
  font-size: 1.2em;
}
```
But Chrome (and Safari), use the body-font, _Abhaya Libre Medium_, for the quotes, but the correct font for everything else on the line.

It's not the end of the world, but funny it's not been fixed yet, maybe it *is* too insignificant after all!?
POUKISA OU DWE APRANN JAVA
Tags: java, software, engineering
Published: 2020-11-17 16:32:11

---
title: POUKISA OU DWE APRANN JAVA
published: true
description: 
tags: #java #software #engineering
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/8n1g3xrkwez7xv8riylu.jpeg
---

Banm komanse yon fason ki ka parèt dròl. Mwen pa yon evanjelis Java paske pèsonelman mwen pa renmen tandans yon group enfòmatisyen genyen pou y’ap preche moun vin aprann yon langaj sou baz se li ki pi bon.

	Atik sa gen rapò ak eksperyans resan ke’m fè. Nan dènye ane yo la gen yon monte an fòs Javascript, nan yon ti kras tan anpil zouti tankou Fremwòk, librèri elatriye kreye nan kominote Javascript la. Sa fasilte travay enfomatisyen kap itilize Javascript. Sa ki vin fè anpil enjenyè lojisyèl senyò konseye debitan pou yo aprann Javascript, sou baz li fasil pou aprann epi byen rapib y’ap gentan kapab kreye yon bagay ki vivan ak li. Sa mwen pral di la yo, se pa pou m kanpe anfas kominote Javacript la ni di senyò sa yo pa gen rezon.

	Jan tandans la ta vle fe konprann Java se yon langaj ki plis pou antrepriz, li difisil pou aprann, avan ou resi fè yon bagay ki senp ak li ou gen pou’w fè yon pakèt konfigirasyon epi ekri yon pakèt liy kòd. Mwen avèk eksperyans pa’m, mwen ap di se pa toujou vrè. Se pito tandans ak bagay ki parèt fasil ki fè nou panse sa. Mwen pral bay 7 rezon poukisa yon moun ( enjenyè lojisyèl ) dwe aprann Java.

Java fasil pou aprann
Anpil moun ( enjenyè lojisyèl ) pral sezi. Wi Java fasil pou aprann.  Se jis yon langaj ki mande anpil disiplin. Benefis disiplin w’ap vin genyen nan aprann Java  ap fasilite lavi w lè w pral gen pou aprann yon lòt langaj. Sèlman tan pou’w santi’w alèz epi prodiktif ak Java ka plis pase lòt langaj tankou python ak Javascript e sa depann de moun k’ap aprann li a.

Java gen yon API ki rich
Yon lòt gro rezon pou w aprann Java se lis API ki vini ak li a. Java tou vini ak API pou manipile fichye, nètwòk, XML, koneksyon baz done, elatriye.
      
Java gen yon paket libreri lib
Ak anviron 20 lane ekzistans, Java se youn nan langaj ( Pou’m pa di premye ) ki gen plis libreri lib pou nenpòt domen ou ta bezwen an.

Java Gratis
 Anpil moun renmen bagay ki gratis. Si yon Enfomatisyen oubyen antrepriz bezwen yon langaj solid e gratis, Java se mèyè chwa a.
      
Java Endepandan
Lè’m di Java endepandan, sa vle di li pa fèt pou yon platfòm byen espesifik. Ekri kòd ou yon kote epi ekzekite li  nenpòt lòt kote.

Java se yon langaj ki oryante objè
Java se yon langaj ki tipikman oryante objè. Prensip oryante objè yo fe kòd k’ap ekri a pròp epi viv lontan san bay problem pou li grosi.

Ps: Apati Java vèsyon 8, gen posibilite pou fè programsyon fonksyonèl ak lamda ekspresyon ki vin ajoute nan langaj la.

Java se youn nan langaj yo pi byen peye moun ki konnen li byen
Salè yon enfomatisyen ki konn Java etazini mwayènn $79 137 dola ameriken pou yon lane, pou enfomatisyen ki pap travay sou plas (distans) $81 877 dola ameriken epi $69 000 dola ameriken pou yon enfomatisyen jinyò. Chif sa yo se  glassdoor ki bay yo.
Staying Motivated as a Developer -or- How to Drown in Minecraft
Tags: video, career, motivation, watercooler
Published: 2020-11-17 16:08:03

---
title: Staying Motivated as a Developer -or- How to Drown in Minecraft
published: true
description: sometimes it's hard to stay excited about the things we're building, and that's hard. Also I almost drown my character in minecraft
tags: video, career, motivation, watercooler
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/y5pvbdw52t5vy9d1agy1.jpg
---
*photo from the U.S. National Archives*

I've been making these little videos to talk about how I'm feeling and today I wanted to make one about what it feels like to not want to do the work.

{% youtube GlRNvgJ2dZg %}

This one can be hard! staying motivated is tough! they key points I think to being successful are:

1. change up what you're working on
2. talk to others about what you're working on
3. take breaks! realize that sometimes *not* working is what your body and mind need
4. find people at work you can trust and complain to

In the end your motivation will have peaks and valleys and the most important skill is to learn to ride it out!
The lazier way to manage kubernetes. - Manage k8s via mouse and command line
Published: 2020-11-17 15:57:53

[https://github.com/TNK-Studio/lazykube](https://github.com/TNK-Studio/lazykube)

# lazykube
⎈ The lazier way to manage kubernetes.  
[![Go Report Card](https://goreportcard.com/badge/github.com/TNK-Studio/lazykube)](https://goreportcard.com/report/github.com/TNK-Studio/lazykube) ![GitHub repo size](https://img.shields.io/github/repo-size/TNK-Studio/lazykube) ![GitHub all releases](https://img.shields.io/github/downloads/TNK-Studio/lazykube/total) ![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/TNK-Studio/lazykube)  

![gif](./docs/lazykube.gif)

## Installation

### Mac Homebrew

#### Install

```bash
$ brew install tnk-studio/tools/lazykube
```
#### Upgrade

```bash
$ brew upgrade tnk-studio/tools/lazykube
```

### Linux

```bash
$ curl https://raw.githubusercontent.com/TNK-Studio/lazykube/main/scripts/install_update_linux.sh | bash
```

### Windows

Release page download [(link)](https://github.com/TNK-Studio/lazykube/releases/latest).

### Go get

```bash
$ go get -u github.com/TNK-Studio/lazykube
```

## How to use

```bash
$ lazykube
```

## FAQ

* When using iterm2 as a terminal, mouse clicks cannot be used ?

![iterm2-enable-mouse-reporting](./docs/iterm2-enable-mouse-reporting.png)
JavaScript import export module features Tutorials
Tags: javascript, module, import
Published: 2020-11-17 15:39:13

---
title: JavaScript import export module features Tutorials
published: true
description: javascript import export module features tutorials.
tags: javascript, module, import
//cover_image: https://direct_url_to_image.jpg
---

**Hello guys, 
In this post, we will learn javascript import, export module features shortly.**

##1st test.
we will create below files
* index.html
* main.js
* alert.js

so, in index.html we will do like this,

```
<!doctype html>
<html lang="en">
  <head>
    <title>Title</title>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  </head>
  <body>
 
    <script src="main.js" type="module"></script>
  </body>
</html>
```

for script has type attribute where the script get it by module.

In main.js file we will do

```
import {Alert} from './alert.js';
function Main(){
    Alert()
}
Main()
```

and in alert.js file 

```
export function Alert(){
    alert("I am alert")
}

```
so when we reload the page we will see that our module alert.js working with alert("I am alert")
now, we will do some example import,export way for practice and doing.

In alert.js when we don't use default along with function we have to remove the curly bracket in main.js
like 

In alert.js
```
export default function Alert(){
    alert("I am alert")
}
```

In main.js

```
import Alert from './alert.js';
```

and without default, we have to

In alert.js

```
export function Alert(){
    alert("I am alert")
}
```

In main.js

```
import {Alert } from './alert.js';
```
for multiple function we may use "as" along with function like 

```
import {Alert as nikhil}  from './alert.js';

```

we can also use variable as well as function for module like below

In alert.js

```
export let time = new Date().toLocaleTimeString();

```

In main.js

```
import {Alert as nikhil, time}  from './alert.js';
function Main(){
    nikhil()
    console.log(time)
}
Main()


```

This is our short tutorials to use the module in javascript, 
I will continue to post for short time to learn small and small things.
If you like this small post, don't forget to comment your opinion.
Thanks.
Skills Gap
Tags: discuss, cybersecurity, ai, blockchain
Published: 2020-11-17 15:38:28

---
title: Skills Gap
published: true
description: Two million jobs unfilled
tags: discuss, cybersecurity, artificialintelligence, blockchain
//cover_image: https://direct_url_to_image.jpg
---

The term “skills gap” describes a fundamental **mismatch between the skills that employers rely upon** in their employees, and the skills that job seekers possess. This mismatch makes it difficult for individuals to find jobs and for employers to find appropriately trained workers.

According to International Data Corp’s FutureScape 2019 report, **two million jobs** in artifical intelligence (AI), the Internet of Things, cybersecurity and blockchain **will remain unfilled by 2023** due to a lack of human talent.

In a recent study by Cognizant’s Center for the Future of Work (CFoW), only 27% of business executives claim their employees have the skills to work or interact with top emerging technologies, such as AI, bigdata/analytics, IoT, mobiletechnology, openAPIs and cybersecurity.

Are you actively working on any of these technologies today?
Arrow Functions Tutorial
Tags: javascript, tutorial
Published: 2020-11-17 15:36:29

{% youtube 97Jz7UwWnNE %}
This video is aimed at people learning javascript or new to arrow functions. It goes over reducing a regular function down to an arrow function and also explains how the `this` keyword is used!

Let me know what you think in the comments below. As always, if you enjoyed this content, like and subscribe for more related content!
Moving away from Umbraco Cloud
Tags: umbraco, hosting
Published: 2020-11-17 15:18:50

*This is a note to myself on how to move a site away from Umbraco cloud. I thought it might be useful for others, so I made it into a post*

## Cloning the environment from Umbraco Cloud
Clone down the environment with the content and code you want, to your local machine. Do a restore when you spin up the site locally - this will give you all the data, content and media.
> **NOTE:** if you wish to have the database in SQL Server instead of SQL CE you need to set the connection string before you spin the site up the first time.

### An alternative way to move content
On some older solutions I have experienced issues with restoring from Umbraco Cloud. Instead of troubleshooting to fix the issue(s), I found it easier to connect directly to the SQL database and do a database export. Afterwards I can import the database to wherever I need to place it.
> You find the SQL connection details in the Umbraco Cloud Portal. Make sure to add your IP address to the SQL Azure firewall (also from the portal).

## Removing Umbraco Cloud settings
After getting all your data, content and media you are now ready to remove all settings related to Umbraco Cloud.

### Cleaning your configs
Start by removing the Deploy reference in web.config:
```xml
<umbraco.deploy>
  <environments configSource="config\UmbracoDeploy.config"/>
  <settings configSource="config\UmbracoDeploy.Settings.config"/>
</umbraco.deploy>
```
### Removing Cloud specific files
The following Umbraco Deploy related files needs to be removed:
- `Config/UmbracoDeploy.config`
- `Config/UmbracoDeploy.Settings.config`
- `bin/Umbraco.Deploy.Cloud.dll`
- `bin/Umbraco.Deploy.Contrib.Connectors.dll`
- `bin/Umbraco.Deploy.dll`
- `bin/Umbraco.Deploy.Forms.dll`
- `bin/Umbraco.Deploy.UI.dll`
- The `/Deploy` folder in `App_Plugins`

If you are running Umbraco 7, you also need to remove the Deploy section in the Dashboard.config file
```xml
<section alias="Deploy">
  <areas>
    <area>content</area>
  </areas>
  <tab caption="Your workspace">
    <control>/App_Plugins/Deploy/views/dashboards/dashboard.html</control>
  </tab>
</section>
```

## A note on Umbraco Forms
If you want to continue using Umbraco Forms outside of Umbraco Cloud, you need to purchase a license.

The forms license file needs to be placed in
```xml
<add key="UmbracoLicensesDirectory" value="~/App_Plugins/UmbracoLicenses/" />
```
Unless you change this.
Expression and statement
Tags: programming, productivity
Published: 2020-11-17 15:17:01

**statement and expression** these are two things that we Programmers deal with it every moment in the day.
It's impossible when you're writing code and don't use expressions or statements. But some of the developers aren't familiar with their differences. in this article, I am going to explain what expressions and statements are and why we use them a lot in our daily life as a programmer?🤔


#Expression

In a simple word, expressions are a combination of Numbers, Symbols, and operators and the purpose of an expression is to produce a value. Let me give you an example in mathematics for example (32+67) is an expression because it produces a number (99) and containers (+) as an operator

expressions in computer programming mean the same expression in programming 

```
let x =12
Console.log(x += 4)
```
```
output: 16
```

In the example above we define a variable and incremented by 4 and logged it on the console, in your opinion which part of the code above is an expression?🤔



😊Yes your answer is correct😊, (x += 4) is an expression because it produces the number 16 as a value 


#Statement

think of a computer program, a computer program contains a list of instructions in which to be executed by the computer.  
in the programming languages, these instruction are called **statement**
actually, the statements can perform several operations like looping and 

in a programming language like javascript, statements are composed of the following options:

   1 - Values
   2 - Operators
   3 - Expressions (Expressions are also called statement)
   4 - Keywords
   5 - Comments 


To understand better look at the following example 
 
```
 let a = 'hello'
 let b = 'guys'
 var demo = document.getElementbyId('demo')
 demo.innerHTML = a +''+ b

```
in the code above 'dom' gets the HTML element(tag) by its ID
which is 'demo' and then set the HTML content to 'hello'
so why is it is a statement?🤔🤨
 
because the code contains an operator **(=)** and **(a +''+ b )** is an expression because it produces a string ('hello guys') as a value


Another example of a statement is if...else in which is a conditional statement

```
var manner = 'happy' 
if(manner == 'happy'){
  return 'perfect😊'
}else{
  return 'You are sad😢'
}
```
```
output: 'perfect😊
```
the (manner == 'happy') is an expression because it returns a boolean as a value if the condition is true it returns 'perfect😊'
otherwise returns 'You are sad😢'
 

**Note :
1-expressions are the statements that produce a value
2-when a variable name is used in an expression the current value
3-statements are executed one by one or in the same order they are
written**




I tried to explain the concepts well and understandable
I hope you enjoy reading this article

❤see you until the next article❤
How to customize Oh My Zsh with Auto-Suggestions and Syntax Highlighting?
Tags: programming, ohmyzsh, git, plugin
Published: 2020-11-17 15:16:41

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/y6bajkyqo9jp6ggfji89.png)
As a developer, we spend a lot of time working on the terminal and having personalized shell makes the working environment perfect, decreases frustration and also, increases productivity.



In this blog, we will discuss how to quickly install plugins `Auto-Suggestions` and `Syntax Highlighting` in the `oh-my-zsh` theme.

## Install Oh-My-Zsh using Curl:

```bash
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
```
<br>

**NOTE: `ZSH` and `OhMyZsh` both are different.**

Let's take a look how to install plugins, and configure `Zsh`:

## Install zsh-autosuggestions by running:

```bash
git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions
```

## Install zsh-syntax-highlighting by running:

```bash
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
```
<br>

Now, open `.zshrc` file with your favourite editor:

```bash
nano ~/.zshrc
```
<br>

And simply add `zsh-autosuggestions` & `zsh-syntax-highlighting` to `plugins()` section, it will do the magic for you:

```bash
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
```

<br>

Reopen terminal to reconfigure the settings and Voila! 🎉
UI Dev Newsletter #31
Tags: webdev, html, css, javascript
Published: 2020-11-17 15:01:44

- [Timing for bringing page experience to Google Search](https://bit.ly/3kxGKHm)
Google announces that the page experience signals in ranking will roll out in May 2021.


- [The State of Developer Ecosystem 2020](https://bit.ly/3nuy3iO)
JetBrains identifies the latest trends around tools, technologies, programming languages, and many other exciting facets of the development world.


- [Emulate vision deficiencies in DevTools](https://bit.ly/3f9iFFW)
Addy Osmani shows how to use Chrome DevTools to emulate color vision deficiencies, helping you better optimize your pages to be inclusive of users with differing levels of color blindness.


- [Chrome DevTools: Create your own keyboard shortcuts and increase productivity](https://bit.ly/3ntOyMq)
Umar Hansa shows how to assign your own preferred keyboard shortcuts to common workflows in Chrome DevTools.


- [The Cleanest Trick for Autogrowing Textareas](https://bit.ly/38QPqGR)
Chris Coyier explains how to make a textarea more like a div, so it expands in height as much as it needs to contain the current value.


- [GitHub Actions to securely publish npm packages](https://bit.ly/3lzBnJ8)
Liran Tal explains in details how to set up GitHub Actions to automate the publishing of npm packages securely.


- [Flow CSS Utility](https://bit.ly/3pvv8Z3)
Andy Bell shares a technique for unifying vertical space between direct siblings.


- [SVGBox](https://bit.ly/2H7Gb9I)
SVGBox makes it dead-easy to include icons in your project.



Happy coding!

[Subscribe to the newsletter here!](https://bit.ly/34155z3)
Process Scheduling Algorithms | Operating System - M02 P01
Tags: linux, beginners, devops, codenewbie
Published: 2020-11-17 14:55:34

**This is a multipart blog article series, and in this series I am going to explain you the concepts of operating system. This article series is divided into multiple modules and this is the second module which consists of 11 articles.**

_In this article we will about process scheduling algorithms. Broadly scheduling algorithms are divided into two parts **Pre-emptive** and **Non pre-emptive**, and both contain several different algorithms._

### Scheduling algorithms
- It is a way of selecting a process from `ready` queue and putting it on CPU.
- According to the degree of multiprogramming, we try to keep multiple processes on the ready queue.

### Pre-emptive

![Untitled Diagram.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1605624716540/qBxRaiYGG.png)
- In pre-emptive process the process can be sent back to `ready` state from `running` state. Due to many conditions like time quantum or priority. 
- This is used to achieve multiprocessing environment.

### Non pre-emptive

![Untitled Diagram (1).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1605624726091/02linhVdo.png)
- In non pre-emptive the process that has been sent to `running` state from `ready` state will not come back to `ready` state, after reaching `running` state, it will be executed completely and get terminated.
- This approach is generally used in Batch operating system.

### Algorithms
Both pre-emptive and non pre-emptive processes have different type algorithms.
- **Pre-emptive:**
    - SRTF (Shortest remaining time first)
    - LRTF (Longest remaining time first)
    - Round Robin.
    - Priority based.
- **Non pre-emptive:**
    - FCFS (First come first serve)
    - SJF (Shortest job first)
    - LJF (Longest job first)
    - HRRN (Highest response ratio next)
    - Multilevel queue/ multilevel feedback queue.

_So, this was a brief about “process scheduling algorithm”. Hope you liked it and learned something new from it._

If you have any doubt, question, queries related to this topic or just want to share something with me, then please feel free to contact me. 

### 📱 Contact Me

[Twitter](https://twitter.com/r_mishra10),
[LinkedIn](https://www.linkedin.com/in/rahul-mishra-66210b185),
[Telegram](https://t.me/rahul_mishra10),
[Instagram](https://www.instagram.com/rahul_mishra10/?hl=en),

### 📧 Write a mail
<rahulmishra102000@gmail.com>

#### 🚀 Other links

[GitHub](https://github.com/rahulMishra05),
[HackerRank](https://www.hackerrank.com/rahulmishra10201)