teleren/devto huggingface dataset:
Create real strong password generator with python
Tags: python, codenewbie, tutorial, codequality
Published: 2021-09-06 16:29:12

How to make strong password generator with **PYTHON** ?

Let's see 👇🏻

#Step 1

→ First import build-in string module
→ store all characters ( uppercase or lower or digit or punctuation )  in their respective list
![1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zs7mh4p6gu79mib705dh.png)

#Step 2

→ Taking input for the numbers of characters in password and adding some conditions so that wrong input can be handle.
![2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dyqborv1b8anjq0y2shg.png)

#Step 3

→ import  build-in random module and shuffle all 4 list
→ shuffle each list with random.shuffle(list_name)
→ we will create password with 30% of uppercase (characters number given by user) , 30% lowercase, 20% digits and 20% special character
![3](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m7yo6r7lbb88mvv3gzm2.png)

#Step 4

→ collecting characters from all 4 lists as the rule of 30%, 30% ,20%,20%
→ Now shuffle the final collected list for making the password pattern unguessed
→ Now join the final list elements with " ".join( )
![4](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jmleykbinhu26v4rj8bf.png)

#FINAL code

```python
import string
import random

s1=list(string.ascii_lowercase)
s2=list(string.ascii_uppercase)
s3=list(string.digits)
s4=list(string.punctuation)

characters_number=input("Enter the numbers of characters of your password: ")
while True:
    try:
        characters_number=int(characters_number)
        if characters_number < 6:
            print("you need at least 6 characters for a strong password !")
            characters_number=input("Enter the numbers of characters AGAIN: ")
        else:
            break
    except:
        print("X X X    please enter the number of characters ONLY !!!")
        characters_number=input("Enter the numbers of characters: ")

random.shuffle(s1)
random.shuffle(s2)
random.shuffle(s3)
random.shuffle(s4)
# 30% of the characters_number👇🏻
end1=round(characters_number * (30/100)) 
# 20% of the characters_number👇🏻
end2=round(characters_number * (20/100))    

s=[]
for i in range(end1):
    s.append(s1[i])
    s.append(s2[i])

for i in range(end2):
    s.append(s3[i])
    s.append(s4[i])

random.shuffle(s)
password="".join(s[0:])
print(f'your password is : {password}')
```

check the [output](https://vimeo.com/598966540)

---------------------------------------------------------------
##[Twitter](https://twitter.com/Sahilsaif2002)
JavaScript Fundamentals Part 1: Basic Variables/Data Types
Tags: codenewbie, javascript, webdev, programming
Published: 2021-09-06 16:24:46

I'm finally onto learning JavaScript, the language of the web. 
This blog is all about my learning journey of learning the fundamentals of JavaScript. I will start with the basic variables

Basic Hello World in JavaScript:

Console.log('Hello World')

What are variables?

- Variables in the programming world is a place where you can store information 

* How to create a variable?
  When defining a new variable in JavaScript it must start with the (let) keyword.

- let favoriteNumber = 14;
  console.log(favoriteNumber); // 14


DATA TYPES IN JAVASCRIPT:
* String
* Number
* Boolean
* Symbol
* Null
* Undefined

 String
 - Text that can be encapsulated in either single or double quotes
 example:
    "I love learning JavaScript"
    'I love football season'

 Number
- Represent numeric data (positive, negative, whole, decimal)
example:
 5, 2.4, 8.00

Boolean
- Information that is represented as true or false
example:
    true or false

Symbol
- A value that is not equal to any other value. 
example:
   let sym1 = Symbol();

Null
- represents the intentional absence of any object value
example:
   const relationshpStatus = null;

Undefined
- represents a variable that is not assigned a value
example:
 const noValue;

If you are looking for an amazing resource to learn JavaScript, MDN has amazing documentation

https://developer.mozilla.org/en-US/
Avail of Government Assistance For Getting Your Own Laptop
Published: 2021-09-06 16:22:19

You may or may not be aware that the government has specific programs offering individuals that have [free government internet](https://livingtricky.com/free-government-internet-and-laptop/). The question is, are you eligible to receive one? The only way to find out is to call or get in touch with the website called Benefits dot gov and they will assist you in finding out whether or not you meet the eligibility requirements for your own state to become a laptop beneficiary.

A network of businesses and people, Freecycle gives away freebies to individuals that need them more. This is a worldwide organization and it won’t be hard finding a chapter working nearby. Use the Freecycle site to see if anyone is giving away laptops or computers with no charge. You can post in the listings and explain the reason you need a laptop for free. Wait for other members to reply to your listing and see where it goes from there.

3. Get Free Internet and A Refurbished Laptop From PCs For People
PCs For People is another nonprofit organization that gives away free refurbished laptops for those that need it the most. Qualified recipients are able to get laptops that are complimentary. This organization donates computers that have Windows 10 licensed copies since it is a refurbishing organization registered with Microsoft. All you need to do is to get on their website and see if you meet their eligibility requirements to get a laptop for free. The best part is that this organization even offers free unlimited internet plan for eligible applicants. Make sure you look at the list and see if you can avail of free internet from this organization.
Disclaimer - Why am I writing?
Tags: beginners, aws, kubernetes, bash
Published: 2021-09-06 16:22:01

Consolidate learning and help others speed up their growth avoiding road bumps that I had.

**What are you expected to find here?**
Description of problem that I had and how did I solve.
Everything in your life is (will be) a problem to solve. So, from cleaning your bathroom till tech daily challenges, anything has a hack to you solve it.

**What am I (currently) familiar?**
Environment - Linux
Cloud - AWS
Services Orchestration - Kubernetes
Developer - Bash (working in Python)
IaC - Ansible / Terraform
Tips to overcome Imposter Syndrome
Tags: productivity, programming, career, webdev
Published: 2021-09-06 16:20:31

> Let me start by saying that I am not a professional but I have gone through this phase myself. So this is what I have done to overcome my self-doubts.
# What is imposter syndrome?
Imposter syndrome is loosely defined as doubting your abilities and feeling like a fraud. It disproportionately [affects high-achieving people, who find it difficult to accept their accomplishments](https://www.apa.org/gradpsych/2013/11/fraud).You're not alone if you've been feeling this way. The impostor phenomenon affects [70% of the population](https://so06.tci-thaijo.org/index.php/IJBS/article/view/521), causing anxiety, fear of failure, and unhappiness with life.

# Tips to overcome Imposter Syndrome
With a little patience, self-awareness, and self-love, dealing with impostor syndrome may become bearable. Here are a few pointers that have helped me deal with my impostor syndrome:

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3xmjwbla57q0d1pa1x4p.png)

## 1. Don't Make Comparisons to Others
When you compare yourself to another developer, you immediately feel inferior.
In reality, you never compare two things objectively. You always make a comparison between what that person knows and what you don't know. Yes, you've guessed it: that's a losing comparison.

![Imposter Syndrome](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4elt4luzu8kqpv5iys84.png)

## 2. You are not alone 
Know that usually overachieving people experience imposter syndrome.

## 3. Ask for help 
I've discovered that when I'm working on anything new, I experience impostor syndrome. I expect myself to be able to figure things out instantly and to "just know" things. Getting advice from someone made me feel weak and stupid.However, I've come to see that this treatment of me is absolutely unjust. When we're first starting out, we all need support, and our peers frequently encourage us to ask for it. When you're in unfamiliar terrain again, remember yourself to let go of your unreasonable expectations of yourself and enlist the aid of others.

## 4. Analyze Your Accomplishment
Take the time to reflect on each step that lead to that achievement. It may be challenges you've faced, lessons you've learned in the past that helped you succeed, and so on.
This way, you'll be able to understand that your achievement was earned by hard work rather than chance or ease. To attain that result, you used your knowledge and experience.

If you've reached this point, thank you very much. I hope that this tutorial has been helpful for you and I'll see you all in the next.


If you like my work, please consider
[![Buy me a coffee](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jm11knj7d8zwcvo150q2.png)](https://www.buymeacoffee.com/cglikpo)
so that I can bring more projects, more articles for you


If you  want to learn more about Web Development don't forget to to [follow me on Youtube!](https://www.youtube.com/c/ChristopherGlikpo/featured)
CliFM, the command line file manager for Unix-like operating systems
Tags: showdev, linux, programming, c
Published: 2021-09-06 16:04:52

![CliFM's logo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/borienzyrhqok2vygon7.png)
Unlike most terminal file managers out there, CliFM does not rely on the TUI (aka, curses interface), but entirely on the command line: it's more like an extension of the shell than a separate program running on top of it. It is, _verbatim_, a **C**ommand **L**ine **I**nterface **F**ile **M**anager.

Written in C, it is super fast, lightweight, heavily customizable, and full-featured: bookmarks, files search and selection, trash system, resource opener, workspaces, commands and directory history, TAB completion, Fish-like auto-suggestions, autojump-like directory jumper, autocd and auto-open, plugins (including files preview and Git integration), and more.

Take a look at it [here](https://github.com/leo-arch/clifm).

Comments and suggestions are really appreciated!

Thank you very much in advance.
theEnd
Tags: 100daysofcode, programming
Published: 2021-09-06 15:55:05

Hellloooo world,

I've completed 190 days successfully in 200DaysOfCode. I feel mentally sick. I need rest. So I decided to stop here.

My little achievement is 3 kyu Rank on Codewars. My total Honor is 3,335. This is the top 0.664% Honor Percentile on Codewars. And I've completed some JavaScript, React, Webpack, & other courses at Frontend Masters.

I have learned, practiced, frustrated, inspired, and enjoyed. And It was a worthy journey of my life.

[myGitHub](https://github.com/Rb-wahid) | [myLinkedIn](https://www.linkedin.com/in/rb-wahid/) | [myTwitter](https://twitter.com/Rb_wahid) | [myCodewars](https://www.codewars.com/users/Rb_wahid)


![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wno3wpgg31wkfx75cf4y.png)
Two Dates in The Same Week
Tags: javascript, codesnippet
Published: 2021-09-06 14:59:15

---
title: Two Dates in The Same Week
published: true
description: A snippet of javascript that allows you to check if two dates are within the same week
canonical_url: https://gist.github.com/Mellen/61bada8b3e6d0763c9f95da55d5f0b4b
tags: javascript, codesnippet
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6rcwytqnoutt56fe1ydh.png
---

Have you ever wondered if two dates are in the same week? I have. So I wrote this function to detect such an event.

Enjoy!

``` javascript
function areSameWeeks(date1, date2, boundaryDay=0)
{
    if(date1 > date2)
    {
        let t = date1;
        date1 = date2;
        date2 = t;
    }
    
    if(((((date2 - date1)/1000)/3600)/24)>6)
    {
        return false;
    }

    let day1 = date1.getUTCDay();
    let day2 = date2.getUTCDay();
    
    if(day1 == boundaryDay)
    {
        return true;
    }

    if(day2 == boundaryDay)
    {
        return false;
    }

    let d1BoundaryDist = ((day1-boundaryDay)+7)%7;
    let d2BoundaryDist = ((day2-boundaryDay)+7)%7;

    if(d1BoundaryDist <= d2BoundaryDist)
    {
        return true;
    }
    
    return false;
}
```
🧠 Access and process nested objects, arrays & JSON
Tags: javascript
Published: 2021-09-06 14:51:39

For more useful content, please follow me on [@aliboukaroui](https://twitter.com/Aliboukaroui)

With the onset of ES2015 there are alternatives to get a hold of the data you require. There is now a feature called object destructuring for accessing nested objects.

The above example creates a variable called secondName from the name key from an array called items, the lonely , says skip the first object in the array.

Notably it's probably overkill for this example, as simple array acccess is easier to read, but it comes in useful when breaking apart objects in general.
First time with a Data Base
Tags: ruby, activerecord, react, photography
Published: 2021-09-06 14:51:20

After building a couple of [front end projects](https://dev.to/alex514x/creating-your-camera-gear-with-react-47kg) emulating a database via db-json the time had come to go a step further and jump into *the real world of databases*. Let me tell you all abut it in this short and screenshot intense blogpost.




#How was it like to be working with a db-json


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

During the previous project at Flatiron School - Phase 2, I built a web app that was able to keep a log of my photographic equipment. I needed to store that information somewhere, but I had no idea about data bases, Ruby, ActiveRecord or any of that fun stuff. So what we were encouraged to do was to build a db-json with all our information and *fake* a DB that way.

At its core, a db-json is an object with data in it, and the greatest perk of this is that you can get to see what is going on in your code editor.

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

Adding items to your DB, deleting or updating them is as easy as opening the file on your editor and type it yourself. That is a very big perk!

#Adding a layer of complexity with relational databases

During Phase3 of our course we started learning the powerful but old-timey language of Ruby with the intention of creating a strong foundation of the technology before getting into the most popular Ruby on Rails.

With Ruby we learnt about Object Oriented Programming and got introduced to Active Record and RACK, two powerful tools that allow you to program your server and communicate that way with the database.

At this point, the databases we were building looked nothing like the db-json ones, and special software was needed to visualize the data.

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

Instead you have to use software like DB Browser for SQLite

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

This made adding/modifying/deleting data a rather cumbersome process, but came with added powers that working with a non-relational DB didn't: the ability to have a DB formed with many different tables that talk to each other via *foreign keys* and that facilitate data retrieval via Querying.

As an example,  here you can see the schema of my database, formed by 3 tables: Brands, Formats and Rolls.

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

And here you can see the relations in between tables, in which you can notice that every Roll belongs_to a Brand and a Format, every Brand has many Rolls and Formats, and every Format has many Rolls and Brands.


![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1xmdu3n0tpjwfq5bfq5s.png)

With a structure like this, every time you create a new Roll object you are creating an association in between the three tables and unlocking the true potential of relational databases.
🧠 How to access the correct `This` inside a callback
Tags: javascript
Published: 2021-09-06 14:46:50

For more useful content, please follow me on [@aliboukaroui](https://twitter.com/Aliboukaroui)

This is a special keyword inside each function and its value only depends on how the function was called, not how/when/where it was defined.

❌ Don't use `This`

You actually don't want to access `This` in particular, but the object it refers to. That's why an easy solution is to simply create a new variable that also refers to that object. The variable can have any name, but common ones are 'self' and 'that'.

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

✅ How to refer to the correct this

👉 Use arrow functions 👈

ECMAScript 6 introduced arrow functions, which can be thought of as lambda functions. They don't have their own this binding. Instead, this is looked up in scope just like a normal variable.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ymf5j08cmbaqi7p86wlg.png)
Understanding Java packages for the absolute beginner.
Published: 2021-09-06 14:36:47

What are Java packages?
We all began from somewhere in our journey to learning how to code and software development in general. One characteristic of seasoned developers is not that they can write codes or their thought processes, it is that their foundational knowledge is solid. They know this stuff. So, any beginner Java programmer aspiring to be great should get an excellent grasp of the basics, especially Java Packages.

When you see the term “package,” don’t think of it as jargon to deceive you. Instead, think of folders and folder structures, because thats what a package is in the most basic form. Java packages are clusters of comparable varieties of categories, interfaces, and sub-packages. It is a mechanism for encapsulating teams of Java packages, classes, sub-packages, and interfaces.

Types of Java packages
There are essentially two types of Java packages, namely the User-defined packages and the built-in packages.

Built-in package
The built-in package consists of the many categories that constitute a part of the Java API. A number of the inherent packages are:

java.lang: Contains language support categories (for example, categories that outline default knowledge varieties, like math).
java.io: Contains categories to support input / output operations.
java.util: Contains utility categories for implementing knowledge structures like a List of collections and dictionaries to support date/time work.
java.applet: Contains categories for making applications programms.
java.awt: Contains categories for implementing elements of graphical user interfaces (for example, buttons, menus, etc.).
java.net: Contains categories that support network operations.


User-defined packages
As the name suggests, these packages are user-defined. We create a folder whose name should be the same as the name of the package. Next, we create a class inside the folder.

Package names and directory structure are closely related. For example, if a package name is school.faculty.department, then there are three directories school, faculty, and department. The school package can be thought of as a tier one package, while faculty is a school sub-package and department is a sub-package of faculty.

Why do we need packages in Java?
Java packages make it easy to find or locate classes and interfaces.
Java packages help to avoid name conflicts. For example, there could be two classes with the name Student in two packages, school.scienceDepartment.Student and school.educationDepartment.Student.
Java packages perform data encapsulation (or data masking).
Java packages provide controlled access. Access designations are protected and have packet-level access control by default. A member declared as guard is accessible by classes of the same package and its subclasses. A member without an access specifier is a default identifier that can only be accessed by classes in the same package.
Java packages reuse classes contained in packages from other programs.
Java packages provide a unique comparison of classes in other packages.
📝3 Simple ways to create a README.md
Tags: markdown, documentation, productivity
Published: 2021-09-06 14:31:29


# First of all, why have a well designed README.md?

Having a well designed README.md would give you the following benefits:

 - Makes the project documentation much easier to understand
 - It would give others the impression that your work is organized.
 - It could even help you point out and plan what you want to do with your project
 - It makes your project stand out from other projects

> This is an example of a **well designed** README.md

![enter image description here](https://i.imgur.com/PoxMR2E.png)

>On the other hand this is an example of a **poorly designed** README.md

![enter image description here](https://i.imgur.com/vDdF8RJ.png)

# Automation

> “You're either the one that creates the automation or you're getting automated“ ~ Tom Preston-Werner

Some developers would rather spend time on the project itself than to spend it on a README.md, this is why automation is a key component here.

Here are a few examples of websites/apps that (almost) automate creating README.md files.

## [Readme.so](readme.so)
> A really simple to use web app that simplifies creating README.md which is so close to automating it compared to the original way of creating README.md files, where you could add templates of sections and it makes it easier to know what to add to your README.md file.
> 
![enter image description here](https://i.imgur.com/ogYwgAG.gif)

## [Typora.io](typora.io)
> A more minimalistic downloadable app that shows you a live preview of markdown language being written, it's not that much of automation but it helps you visualize what you type in a better way. (Available on Windows/OSX/Linux)
> 
![enter image description here](https://im2.ezgif.com/tmp/ezgif-2-9438a6715777.gif)

## [StackEdit.io](stackedit.io)
> StackEdit is more of a markdown editor than a README.MD automation tool, but the way it's accessible is similar to Microsoft Word or even Google Docs which might be familiar to people who were used to working on those type of platforms.
> 
![enter image description here](https://imgur.com/FTZlUkI.png)

# In conclusion
The key component in making markdown files is finding an easy way to do them which doesn't cost a lot of time, the tools above are examples that could help you as a developer/writer to write a README.md file.

### Thank you for reading my article!
Resource Helper website for easy access to daily usable links
Tags: resources, learning, sharing
Published: 2021-09-06 14:27:43

Hi all, 

I am happy to announce the Resource Helper website, which I have been working on for the last 2 weeks. The link is https://reshelper.netlify.app/ .
I thought to make an app like this because many a time we need to go through google for simple links again and again and sometimes we even bookmark them but it gets lost in the huge list. You can also add your links on the website which you think might be helpful. I will make this GitHub repo public in a week as I need to check some more things. If you have any suggestions for improvement please let me know.
If you liked the concept please share it in your network so that it is helpful for more people.
How to make a series of posts on dev.to
Tags: help, discuss, series
Published: 2021-09-06 14:25:21

How to make a series of posts on dev.to

Here is a example of a series post :-
https://dev.to/dailydeveloperjokes/daily-developer-jokes-sunday-jan-12-2020-6fm

Thanks for reading my post please press the like and the unicorn button while going.
Thank you.
Darsh kulthia.