teleren/devto huggingface dataset:
4 Steps to Better Jobs - It's not just technical ability.
Tags: career
Published: 2022-10-01 02:15:17

Below are **4 important puzzle pieces** to help you get hired faster, based on over a year of building a startup that [helps job seekers land better jobs](https://bit.ly/3Srr3mt), even if they're pivoting from another industry. 

But first: You're awesome, you're smart, and the right company will see that (but you might have to help them see it). All job seekers experience rejection, not just you. And you can learn things that reduce your rejection and increase your offers.

Applying is kiiind of like kissing a lot of frogs to find a partner or a friend. You'll get slimed a lot.

UNTIL THE ONE.

And now, based on hundreds of job-seekers going through our programs and sharing strategies in our TalentList community, here are the Top 4 actions that stack the odds in your favor to land a better job, pivot, or career upgrade, faster:

**1. Dust up your career assets.**
- Give your resume and your LinkedIn profile a reboot.
Search LinkedIn for other people holding the titles you want for verbiage inspiration.
- Show Key Results instead of busy work in your job description bullet points.

**2. Put out the bat signal.**
- Get your resume out there by listing yourself on sites like Elpha and Roadmap's [TalentList](https://bit.ly/3Srr3mt) (we match you to open jobs, hype you up to hiring leaders, and help you prep before interviews for free).

**3. Practice interviewing.**
- You know you can do the job, but you have to literally practice articulating that in response to interview questions. - It's extremely common to feel nervous during interviews, fumble responses, and forget that you actually do know how to count to 5. 
- Practice makes perfect. You can practice with Roadmap in our free LIVE mock interview sessions. :-)

**4. Mingle:**
- Network like your new job depends on it, because something like [~80%](https://www.apollotechnical.com/networking-statistics/) of job offers come from professional or personal referrals.
- No network? No problem! You can build one. I had to too. Check our Roadmap resources to learn how to get started with a Networking blurb on sites like Dev (obvi), FB groups, Slack groups, Reddit, Twitter, or Discord, or even Roadmap's Slack community.
- Put 15 minute coffee chats on your calendar with people who've made the moves you want to make, or are employed where you want to work, or are hiring for roles you want.
If you make a great impression, these calls will lead to referrals which lead to interviews and offers.

**What other strategies have helped you? **
How to remove all the disk usage occupied by Docker
Published: 2022-10-01 00:57:31

If you are doing hard works with Docker, you would be noticed that the Docker uses many ammounts of your local storage and will happen the disk shortage. In that situation, you are probably want to delete all the disk usage occupied by Docker, but how should we do? I'll introduce you guys the 4 commands to clear the disk usage.

First of all, Let's check out the Docker's disk usage.

## How to check out the disk usage by Docker

`docker system df`

```
# docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          6         2         1.758GB   1.013GB (57%)
Containers      2         0         1.937MB   1.937MB (100%)
Local Volumes   11        3         391.1MB   53.85MB (13%)
Build Cache     141       0         1.003GB   1.003GB
```

We are able to see 4 types of disk usage via `docker system df`.And next, we are going to delete these disk usage individually.

## How to delete all the Docker Images

`docker rmi $(docker images -q)`

`rmi`: ReMove Images
`$(docker images -q)`: List all the image IDs

## How to delete all the Docker Containers

`docker rm $(docker ps -a -q)`

`rm`: ReMove containers
`$(docker ps -a -q)`: List all the container IDs

## How to delete all the Docker Local Volumes

`docker volume rm $(docker volume ls -qf dangling=true)`

`volume rm`: Volume, ReMove
`$(docker volume ls -qf dangling=true)`: List all the volume names including dangling ones

[ You see what the 'dangling' is ](https://www.howtogeek.com/devops/what-are-dangling-docker-images/)

## [ How to delete all the Docker Build Cache ](https://iceburn.medium.com/remove-docker-build-cache-3eca3d44dbb3)

`docker builder prune -a`

`builder prune -a`: remove all build cache

## Wrap up

You are able to run these four commands to clear all the disk usage by Docker:

`docker rmi $(docker images -q)`
`docker rm $(docker ps -a -q)`
`docker volume rm $(docker volume ls -qf dangling=true)`
`docker builder prune -a`
EtherID Documentation
Tags: web3, blockchain
Published: 2022-10-01 00:54:06

I need a place to compile EtherID documentation. This is that place. Will update over time...



**Decentralization of DNS using Blockchain: A Survey
Aabid Hussain Ganai1*, Mir Aman Sheheryar2**
[https://www.ijcseonline.org/pub_paper/202-IJCSE-07515.pdf](https://www.ijcseonline.org/pub_paper/202-IJCSE-07515.pdf)

**What can you do with an Ethereum ID Service and IPFS?**
[https://web.archive.org/web/20160205101545/http://favs.pw/time-for-some-interplanetary-etheral-magic/#.VrR2bOzP3zf](https://web.archive.org/web/20160205101545/http://favs.pw/time-for-some-interplanetary-etheral-magic/#.VrR2bOzP3zf)

**Integrate EtherID.org ipfs requests in the BROWSER bar in Mist? - Good potential? Decentralized DNS on ethereum #398**
[https://github.com/ethereum/mist/issues/398](https://github.com/ethereum/mist/issues/398)

**IPFS is a new hypermedia distribution protocol, addressed by content and identities, aiming to make the web faster, safer, and more open. In these posts, we highlight some of the development that has happened in the past week. For anyone looking to get involved, follow the embedded hyperlinks, search the wealth of information on GitHub or join us on IRC (#ipfs on the Freenode network).**

Here are some of the highlights for the January 25th sprint, mentions EtherID:
[https://blog.ipfs.tech/7-ipfs-weekly-4/ ](https://blog.ipfs.tech/7-ipfs-weekly-4/)

**Posted by u/vbuterin June 17th 2016 after DAO hack mentions EtherID needs to upgrade (upgrade deployed and verified just after)**
[https://www.reddit.com/r/ethereum/comments/4omdlf/to_kickstart_the_building_safer_smart_contracts/](https://www.reddit.com/r/ethereum/comments/4omdlf/to_kickstart_the_building_safer_smart_contracts/)
Fair Service
Published: 2022-10-01 00:48:13

I highly recommend this fair service. Wizard James Recovery Service did a fantastic job at recovering my life savings which got stolen. I had a stressful situations going on and they were so patient with me and did help me through this. The staff members seemed legit, not just classifying the problem and charging not without good response. I must commend them for recovering my money from the people who stole from me. If you are ever in need of such service, you can contact them via: wizardjamesrecovery@usa.com, wizardjames8@yahoo.com or WhatsApp: +1 (863) 254-2842
InfiVR - Virtual, augmented, and mixed reality solutions
Tags: training
Published: 2022-10-01 00:27:09

At infiVR, we are solving core issues using Virtual Reality and Augmented Reality. Through Infi AR/VR platform and solutions we improve our client’s productivity, effectiveness, accuracy, and safety for their employees and customers. 

We focus on sectors like manufacturing, aviation, automobile, pharmaceuticals, clean energy, aerospace, healthcare, and other core industries; and provide solutions for product sales & marketing, product design, product support & maintenance simulated training, and safety training for employees.

[https://www.infivr.com](https://www.infivr.com)
How to create a RESTful API with JSON Server
Published: 2022-10-01 00:08:29

## What is an API?

An API, or Application Programming Interface, is a set of functions and procedures allowing the creation of applications that access the features or data of an operating system, application, or other service.
In other words, an API is an interface that allows applications to communicate with each other and exchange data.
Developers will use APIs to send and retrieve data from servers to use on their applications.

## What is a RESTful API?

REST stands for Representational State Transfer and is a type of API that conforms to the constraints of REST architectural style.
In order for an API to be RESTful, it must conform to specific criteria such as:
* A client-server architecture made up of clients, servers, and resources, with requests managed through HTTP
* Stateless client-server communication, meaning no client information is stored between get requests and each request is separate and unconnected
* Cacheable data that streamlines client-server interactions
* A uniform interface between components so that information is transferred in a standard form

RESTful APIs are faster and more lightweight than other, older types of APIs.

## Why set up a RESTful API using a JSON Server?

Sometimes front-end developers will need to simulate a back-end REST service to deliver data in JSON format to their front-end application in order to make sure everything is working properly.

Of course, you could set up a full back-end server, but that would take some time to complete. 
Creating a RESTful API using a JSON Server is simpler and faster.

## Setup

Continue reading to learn how to set up a RESTful API using JSON Server!

### Installing JSON Server

JSON Server can be installed as an NPM package.

Type into your terminal:
```
$ npm install -g json-server
```

By adding the -g we are installing it globally on your system.

### JSON File

Now we'll create a new file called db.json
This file will hold all of your data!

Here is an example of how this file should look:

```
{
  "cats": [
    {
      "id": 1,
      "name": "Fluffy",
      "color": "white",
      "favorite_toy": "fuzzy ball"
    },
    {
      "id": 2,
      "name": "Oreo",
      "color": "black and white",
      "favorite_toy": "toy mouse"
    },
    {
      "id": 3,
      "name": "Luna",
      "color": "brown and grey tabby",
      "favorite_toy": "laser pointer"
    }
  ]
}
```

You can see we have a JSON file has an object labelled "cats". Inside the object is an array of 3 different cat objects each containing their name, color, and favorite toy.
This is how the data inside of a JSON Server looks.

### Running the Server

Type into your terminal:
```
$ json-server --watch db.json
```

Now your server is running and you can begin to make any FETCH requests to http://localhost:3000/cats
If you make POST, PUT, PATCH or DELETE requests, changes will be automatically saved to db.json.
A POST, PUT or PATCH request should include a             `Content-Type: application/json` header to use the JSON in the request body. Otherwise it will result in no changes being made to the data.
Strongly Typed Yup Schema in TypeScript
Tags: yup, typescript
Published: 2022-10-03 06:17:48

---
title: Strongly Typed Yup Schema in TypeScript
published: true
date: 2022-10-01 00:00:00 UTC
tags: yup, typescript
canonical_url: https://justin.poehnelt.com/posts/strongly-typed-yup-schema-typescript/
---

This weekend I have been exploring [conditional types in TypeScript](https://www.typescriptlang.org/docs/handbook/2/conditional-types.html) to use with Firestore. These take the basic form of `T extends U ? X : Y` and are used to create a new type based on the type of `T`. I was curious if I could use this to create a strongly typed Yup schema.

The basic idea is to create a generic function that takes a Yup schema and a type. The function will return a Yup schema that is strongly typed to the type. The function will use a conditional type to determine the type of the schema and return the appropriate schema.

```js
import * as yup from "yup";

export type ConditionalSchema<T> = T extends string
  ? yup.StringSchema
  : T extends number
  ? yup.NumberSchema
  : T extends boolean
  ? yup.BooleanSchema
  : T extends Record<any, any>
  ? yup.AnyObjectSchema
  : T extends Array<any>
  ? yup.ArraySchema<any, any>
  : yup.AnySchema;

export type Shape<Fields> = {
  [Key in keyof Fields]: ConditionalSchema<Fields[Key]>;
};
```

With those two generic types, we can create a strongly typed Yup schema. These can obviously be extended to include more types and better handle arrays and objects.

Some example usage that keeps the TypeScript compiler happy:

```js
interface Foo {
  stringField: string;
  booleanField: boolean;
}

yup.object<Shape<Foo>>({
  stringField: yup.string().default(""),
  booleanField: yup.boolean().default(false),
});
```

And it works! 🎉
Stop starting and start finishing
Tags: continuousdelivery, wiplimit, flow, kanban
Published: 2022-10-19 13:28:39

---
title: Stop starting and start finishing
published: true
date: 2022-10-01 00:00:00 UTC
tags: continuousdelivery,wiplimit,flow,kanban
canonical_url: https://jhall.io/archive/2022/10/01/stop-starting-and-start-finishing/
---

> If I told you I’ll do it, I’ll do it. You don’t need to keep reminding me every six months!
> 
> — Me, to my wife

Well today was the day. I finally did it.

I installed the door on the piece of IKEA furniture I built a year ago.

At least it was only in, erm… the living room, where _everyone could see the incomplete work_. 🤦

How often do our user stories look like my unfinished furniture?

We start on the task, with good intentions. Then something comes along. Or we hit a snag. Maybe we’re missing some external dependency. Or maybe we’re not sure what the user request actually means. Or maybe we do our part, then hand it off to some other team or department, who forgets about it, or doesn’t think it’s high enough priority.

Whatever the cause, these unfinished user stories are a huge drain. Not only do they represent wasted effort, because the work that’s gone into them isn’t benefiting anyone. They also pose an emotional drain on the team. In my experience, a mountain of unfinished work lends a sense of futility to the work we’re doing.

“It’ll probably just be added to the backlog of unfinished work,” one might think. “And if it ever does get used by customers, it may be weeks or months into the future, and I won’t even care any more.”

Stop starting, start finishing.

This is one place where Work-in-progress (WIP) limits can be a huge boon. By putting a cap on the incomplete work items, you can effectively force yourself (or your team) to focus on finishing, rather than starting new tasks.

I’ll be talking about other techniques to help overcome this sort of problem in the [Lean CD Seminar](https://jhall.io/leancdseminar/), which starts on Monday! If you haven’t already signed up, don’t wait!

* * *
_If you enjoyed this message, [subscribe](https://jhall.io/daily) to <u>The Daily Commit</u> to get future messages to your inbox._
List Of Github Repository to Contribute in HacktoberFest 2022
Tags: hacktoberfest, github, opensource, contribute
Published: 2022-09-30 22:44:30

**Hacktoberfestis** a yearly event to encourage people to contribute to open source in October.

HERE’S WHAT YOU NEED TO KNOW TO PARTICIPATE AND COMPLETE HACKTOBERFEST:

1- [Register](https://hacktoberfest.com/) anytime between September 26 and October 31

2- Pull requests can be made in any GITHUB or GITLAB hosted project that’s participating in Hacktoberfest (look for the “hacktoberfest” topic)

3- Project maintainers must accept your pull/merge requests for them to count toward your total

4- Have 4 pull/merge requests accepted between October 1 and October 31 to complete Hacktoberfest

5- The first 40,000 participants (maintainers and contributors) who complete Hacktoberfest can elect to receive one of two prizes: a tree planted in their name, or the Hacktoberfest 2022 t-shirt.

Repositories to contribute in Hacktoberfest 

1- https://github.com/avinash201199/Competitions-and-Programs-List
2- https://github.com/avinash201199/Free-courses-with-Certificates
3- https://github.com/avinash201199/Paid-Internship-List
4- https://github.com/avinash201199/weather-app
5- https://github.com/avinash201199/stopwatch
6- https://github.com/avinash201199/To-Do-List
7- https://github.com/avinash201199/Portfolio-Collection
8- https://github.com/avinash201199/My-Gallery-4u
Valid Number
Published: 2022-09-30 22:41:43

Today marks the last day of the #I4G10DaysOfCodeChallenge. Today's challenge featured validating an array of numbers.

**Problem:**
A valid number can be split up into these components (in order):

1. A decimal number or an integer.
2. (Optional) An 'e' or 'E', followed by an integer.

A decimal number can be split up into these components (in order):

1. (Optional) A sign character (either '+' or '-').
2. One of the following formats:
    1. One or more digits, followed by a dot '.'.
    2. One or more digits, followed by a dot '.', followed by one or more digits.
    3. A dot '.', followed by one or more digits.

An integer can be split up into these components (in order):

1. (Optional) A sign character (either '+' or '-').
2. One or more digits.


```
For example, all the following are valid numbers: ["2", "0089", "-0.1", "+3.14", "4.", "-.9", "2e10", "-90E3", "3e+7", "+6e-1", "53.5e93", "-123.456e789"], while the following are not valid numbers: ["abc", "1a", "1e", "e3", "99e2.5", "--6", "-+3", "95a54e53"].
```

**Approach:**

Basic Checks:

- We know that a valid number cannot have more than 1 decimal point, so we declare a variable to store if the decimal has been used or not. The initial value is False.
- Also, we need to have at least one integer for the number to be valid. We can have alphabet 'e' or 'E', but a number needs to be after it. 

- Next we have a while loop, and iterate each character as we go along and if we get anything that is invalid, we return False.

- Otherwise we keep going till the end of the string and if we have seen at least one number then it means our number is valid.
Working in Parallel
Tags: git, beginners, programming, opensource
Published: 2022-09-30 22:35:12

#Branch then Merge
In the third lab that we were assigned in my Opensource Dev course at Seneca we were taught how to checkout feature branches so that we can work on multiple features independently and how to later merge them all to the main branch and resolve conflicts. To do so we yet again used our [simple site generators](https://github.com/sfrunza13/SiteGenerationTool)

#Introducing Feature Branches
The first step to this was to create two small issues that we would create feature branches for. For me these issues were the following: [#6](https://github.com/sfrunza13/SiteGenerationTool/issues/6) and [#7](https://github.com/sfrunza13/SiteGenerationTool/issues/7).

using `checkout -b` I created two new feature branches associated with the numbers of the issues, in my case `issue-6` and `issue-7`.

#Adding the code
This part was really easy. @rudychung made the code he added in his PR last week easily legible and compartmentalized it into two functions that were easy to add to, I took his logic and just replaced the regex pattern for the code tag change and I slightly altered it for the hr tag change because the hr tag does not wrap any text, the \-\-\- is just found and replaced.

#Merging it all
The merge commits are the following: [4c9657a](https://github.com/sfrunza13/SiteGenerationTool/commit/4c9657a24ee9221e8083e8ba9c2dddb9f6541dee) and [8302b5](https://github.com/sfrunza13/SiteGenerationTool/commit/8302b57f5160069da0be70014459367f893db177).
In the first of which I added the code tag logic and the second of which I added the hr tag logic.

#Problems and Challenges
Not much to add here honestly, this week everything seemed pretty straight forward, one thing to note is when I used `git log` in the terminal I did not know how to get out of it until I googled it and learned that I had to press `q`.
#10daysofcodechallenge by Ingressive for Good (#Day 10)
Tags: javascript, beginners, webdev
Published: 2022-09-30 22:16:18

I made it to the end of a 10-day coding challenge organized by Ingressive for Good and I'll be sharing my thoughts on Day 5 of the challenge.

Let me briefly describe how the challenge works before I share my experience with you. From September 21 through October 30, 2022, the challenge is to solve one common algorithm problem every day for ten days.

Today's algorithm problem was “Valid Number." It is the 65th algorithm challenge on "Leetcode.com".

The work for today was not particularly difficult; it included providing a string into a function, which would determine whether the string is a number or not and return true or false accordingly. For this, I first used the isNaN JavaScript function to determine whether the input was a number or not before checking for extreme instances like infinity. I had to adjust the code because it had not worked the first time, the result was still the same.

This task was completed in javaScript, took 112 milliseconds to execute, and consumed 44.2MB of memory.

I'd want to take this time to thank ingressive for Good for hosting such incredible challenges. I appreciate the fact that you forced me to explore places I never would have thought to go.
What projects are you making this weekend?
Tags: webdev, beginners
Published: 2022-09-30 21:49:20

Hello and happy Friday everyone! 

Time to shut your work laptop...

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

What project are you working on this weekend?

This weekend I am going to be playing around with AI image generation, specifically using Stable Diffusion.

Share your project in the comments below.
Terraform Connect to Vault and Use Approle Auth Method to Set a KV Secret
Tags: vault, devops, terraform, cloud
Published: 2022-09-30 21:34:16

## Introduction

This article assumes you have set up an on prem Vault Server and are logged in with a root token (for configuring Vault).

## Set Up Vault with Approle

First, we need to configure Vault for Approle, and create a user, user-id, and secret-id.

NOTE: For simplicity sake, we'll create a highly privileged admin user.

### Create Admin Policy

Save the following in a file called admin.hcl:

```hcl
path "kv2/data/admin/*" {
  capabilities = [ "create", "read", "update", "delete", "list" ]
}

path "kv2/admin/*" {
  capabilities = [ "create", "read", "update", "delete", "list" ]
}

path "auth/token/lookup-accessor" {
  capabilities = ["update"]
}

path "auth/token/revoke-accessor" {
  capabilities = ["update"]
}

path "auth/token/revoke-accessor" {
  capabilities = ["create", "read", "update", "delete", "list"]
}

path "auth/token/create" {
  capabilities = ["create", "update", "sudo"]
}
}
```

### Notify Vault of Our Policy

```sh
vault policy write admin-policy admin.hcl
```

### Turn on Approle

```sh
vault auth enable approle
```

### Create Admin User

When we create the admin user, we set the admin user with the admin-policy. 

```sh
vault write auth/approle/role/admin policies=admin-policy
```

Note that while the rest of the path is important, there's nothing specifically magical about the "admin" user.

We could replace admin everywhere with "poppinsm".

```sh
vault write auth/approle/role/poppinsm policies=admin-policy
```

This will create a poppinsm user who is also super powerful like the real world Marry Poppins.


### Create Authentication Credentials

Take a note of the output for the following commands:

```sh
vault read auth/approle/role/admin/role-id
vault write -f auth/approle/role/admin/secret-id
```

Now we have role_id and secret_id.

## Turn on KV Secrets Engine


```sh
vault secrets enable -path=kv-v1 kv
```


## Create Terraform File

```sh
mkdir vault
cd vault
touch main.tf
```

Paste the following into main.tf.

Note: We replace ROLE_ID and SECRET_ID with the strings of the same name that we created above when we created the user credentials.

```hcl
terraform {
  required_providers {
    vault = {
      source = "hashicorp/vault"
      version = "3.5.0"
    }
  }
}

provider "vault" {
  auth_login {
    path = "auth/approle/login"

    parameters = {
      role_id   = "ROLE_ID"
      secret_id = "SECRET_ID"
    }
  }
}

resource "vault_generic_secret" "example" {
  path = "kv-v1/secret/foo"

  data_json = <<EOT
{
  "foo":   "bar",
  "pizza": "cheese"
}
EOT
}
```