teleren/devto huggingface dataset:
Top 15 Password Alternatives with Pros and Cons
Tags: password, passwordles, authentication, biometrics
Published: 2022-12-12 10:49:43

The increasing amount of data breaches and cyber-attack success against password-based authentication is the biggest reason to look for password alternatives. Also, the pain of considering passwords’ do’s and don’ts is so much so that it impacts user experience that bothers both users and businesses. Using no password authentication is the best fit to combat both security and experience concerns.

Let’s first dig into the frustrating do’s and don’t of passwords:

**Password Do’s and Don’ts for Users**

- Don’t create common passwords or use common patterns in passwords
- Don’t reuse passwords across accounts
- Don’t use short passwords
- Don’t write down passwords but remember them
- Do create complex and lengthy passwords
- Do store passwords in a secure location like password managers

**Password Do’s and Don’ts for Businesses**

- Don’t let users use common or dictionary passwords
- Don’t let users reuse their previous account passwords
- Do set policies for users to create complex passwords
- Do offer multi-factor authentication (MFA) to enhance the security of password-based authentication
- Do ensure user convenience and security
- Do educate users not to reuse their passwords across accounts
- Do invest in securing access against common password attacks like credential stuffing
- Do invest in hashing and encrypting the password data
- Do manage the cost of passwords

Despite all the efforts that businesses put into educating users not to use common or dictionary passwords, a large number of user segments still end up creating weak and common passwords.

**Top 15 Passwords Alternatives with Pros and Cons**

There are many good alternatives to passwords that not only resolve security concerns but provide a great user experience too. The following is the list of 15 top password alternative authentication:

1. Fingerprint scan
2. Facial recognition
3. Retina scan
4. Voice recognition
5. Magic Link or Email Link
6. Email OTP
7. SMS OTP
8. Two-factor authentication
9. Security key authentication
10. Social login
11. Passkey authentication
12. Single-sign On
13. PIN authentication
14. Pattern authentication
15. Keystroke authentication

Read more about password alternatives in detail on our [blog here](https://mojoauth.com/blog/password-alternatives/).
To create an email template for a time off approval request in Django
Published: 2022-12-12 10:48:46

To create an email template for a time off approval request in Django, you can use the django.core.mail module to define the email's subject, message, and recipient. Here is an example of a time off approval email template in Django:

```
from django.core.mail import EmailMessage

def send_time_off_approval_email(employee, start_date, end_date):
  subject = 'Time off request approved'
  message = (
    f'Dear {employee.name},\n\n'
    f'Your time off request from {start_date} to {end_date} has been approved. '
    'Please let your manager know if you have any questions.\n\n'
    'Best regards,\n'
    'HR team'
  )
  to = [employee.email]
  email = EmailMessage(subject, message, to=to)
  email.send()

```

In this example, the send_time_off_approval_email function takes the employee's name, start date, and end date as arguments and uses them to create the email's subject and message. The function then sends the email using Django's EmailMessage class and the send method.

To use this template in your Django application, you would call the send_time_off_approval_email function whenever an employee's time off request is approved, passing in the employee's information and the start and end dates of the time off. For example:

```
send_time_off_approval_email(employee, '2022-12-01', '2022-12-05')

```

This would send an email to the employee with the subject "Time off request approved" and a message thanking them for their time off request and letting them know that it has been approved.
ECE Projects
Tags: programming, ece, beginners, webdev
Published: 2022-12-12 10:43:04

Final year projects if done right can help enthusiastic ece engineering students to develop the skills needed for an exciting career in core technologies. Since practical skills are very important to work on core industries, experts tend to analyze candidate's performance based on their project experience during the interviews.

Final year projects provide an excellent opportunity to learn and showcase your practical skills to your future interviewers easily. Since final year projects provide you with enough time duration, if spent qualitatively you can build very innovative ece projects and get a great learning experience. 

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

By doing so, you will not only develop an innovative final year [ece project](https://www.youtube.com/watch?v=ge0Aailr3ao&t=703s) but also develop valuable skills needed for a successful career in core technologies related to electronics engineering. So in short, doing good ece final year projects can help you develop the needed skills.

Engineering student projects for B.Tech and M.Tech final year students. Takeoff Edu Group offers a wide range of projects best for [ece projects](https://www.youtube.com/watch?v=ge0Aailr3ao&t=703s) looking for magnificent final projects at low cost.

Electronics & Communication Engineering Projects List

- Clustering based on Whale Optimization Algorithm for IoT over Wireless Sensor Nodes
- Lifetime improvement of Wireless Sensor Network Energy and Distance Parameters on LEACH Protocol
- A Node Overhaul Scheme for Energy Efficient Clustering in Wireless Sensor Networks
- An Improved Energy Efficient Clustering Protocol to Prolong the Lifetime of the WSN-Based IOT
- LEACH Protocol Enhancement for Increasing WSN Lifetime
Running Golang program as systemd service in Ubuntu
Tags: go, ubuntu, systemd, devops
Published: 2022-12-12 10:39:43

## Test your binary file

Assum that you have golang binary file `my-api-service` located in folder `/home/dev/my-app`

So you can test your file if it can run as normal:

```bash
$ cd /home/dev/my-app
$ chmod +x my-api-service
$ ./my-api-service
```

If it running success, go to next step

## Create system service file

Create a file `/etc/systemd/system/my_api_service.service` as `root` user with below content:

```text
[Unit]
Description=My API Service
ConditionPathExists=/home/dev/my-app
After=network.target

[Service]
Type=simple
User=dev
Group=dev

WorkingDirectory=/home/dev/my-app
Environment="YOUR_ENV_1=YOUR_ENV_1_VALUE"
Environment="YOUR_ENV_2=YOUR_ENV_2_VALUE"
ExecStart=/home/dev/my-app/my-api-service
Restart=on-failure
RestartSec=10

StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=my-api-service

[Install]
WantedBy=multi-user.target
```

You can export more environment variables by adding row `Environment="..."`

## Config rsyslog

Create folder for log:

```bash
mkdir /var/log/my_api_service
chown syslog:syslog /var/log/my_api_service
```

Create config file at `/etc/rsyslog.d/my_api_service.conf` and paste below content:

```bash
if $programname == 'my-api-service' then
  /var/log/my_api_service/output.log
& stop
```

Restart syslog:

```bash
$ systemctl restart rsyslog.service
```

## Active service

Running command as `root`:

```bash
$ systemctl daemon-reload
$ service my_api_service start
$ service my_api_service status
```

If you want to auto start your service after reboot:

```bash
$ systemctl enable my_api_service
$ systemctl start my_api_service
```

Tail the log file:

```bash
$ sudo tail -n 10 /var/log/my_api_service/output.log
```

---
Read the root post at [my site](https://duczk.com/posts/running-golang-as-systemd-service-ubuntu/)
MySQL Import SQL file in Simple Words
Published: 2022-12-12 10:38:29

---
title: MySQL Import SQL file in Simple Words
published: true
description: Let's read about importing SQL file into MySQL database
tags: 
# cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2vfwpndeijs12djt19r3.png
# Use a ratio of 100:42 for best results.
# published_at: 2022-12-12 10:36 +0000
---
This article will show you several ways to import an SQL file into your MySQL database. It also describes the possibility of using automation tools to speed up such tasks - https://codecondo.com/mysql-import-sql-file-in-simple-words/
Testing Business Ideas Before Investing in Them
Tags: analytics, product
Published: 2022-12-12 10:25:57

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/47qvuvy0vlkm2fwe8szc.png)

Testing business ideas before investing in them is crucial for any entrepreneur looking to maximize their chances of success. One effective way to do this is through the use of Mixpanel, a powerful analytics platform that allows businesses to track and analyze user interactions with their products.

One of the key benefits of using Mixpanel is its ability to help businesses conduct A/B testing. This is a method of comparing two versions of a product or feature to see which performs better with users. By conducting A/B tests, businesses can gain valuable insights into what works and what doesn’t, and make informed decisions about how to improve their products.

Another tip for testing business ideas before investing in them is to build an email list. This can help businesses gather feedback from potential customers and gain a better understanding of what their target market is looking for. Building an email list can also be an effective way to build anticipation for a product launch and drive traffic to a business’s website.

One technique that can be particularly effective for building an email list is the “painted door” technique. This involves creating a landing page for a product or service that is not yet available, and asking interested users to sign up for a notification when the product is ready to launch. By doing this, businesses can build a list of interested customers who are eager to learn more about their products.

In conclusion, testing business ideas before investing in them is essential for any entrepreneur looking to maximize their chances of success. By using tools like Mixpanel and conducting A/B testing, businesses can gain valuable insights into what works and what doesn’t. Building an email list and using the painted door technique can also be effective ways to gather feedback and build anticipation for a product launch.

_image by [Hellsjells](https://dribbble.com/hellsjells)_
Here is why you need to use form tag!
Tags: html, beginners, webdev, javascript
Published: 2022-12-12 10:25:14

#### In this short blog we are going to see why wrapping input fields in a form tag is important

><p>Note that, the only pre-requisite is HTML. Even if you are not familiar with HTML5, you can follow along. It is simply written.</p>

In **HTML(Hyper text markup language)** we are familiar with a variety of elements ranging from `semantic` (form, section, article, li) to `non-semantic` (div, span) elements.

Often we require to accept `data` from users/clients. For example, when registering/signing up to a certain website, we enter our name, email and password.This data is usually entered in the `input fields` which are the elements of the `form`.

Following shows an example : 
```html
<form id="register">
    <input type="text" class="form-name" id="form-name" 
    placeholder="Enter your name.."/>
    <input type="email" class="form-email" id="form-email" 
    placeholder="Enter your email.."/> 
   <input type="password" class="form-password" id="form-password" 
    placeholder="Enter your password.."/>
    <button type="submit">Submit</button>
</form>
```
>Note: The action tag in the form element is usually for the script which contains the logic of the backend, i.e., how this data is used in the server.

Now let's jump into the importance of it.

1. Once the data is filled up in their respective fields, it has to be submitted. When the user clicks on the submit button with attribute `type`="submit", the form will have an attribute `action`, which will get triggered automatically. Now, this reduces our work as we had to listen to the click event with javascript event listeners and deal with the data.

2. Often we have to make sure the user has filled in details before clicking submit. This is done by <b>form validation</b> using javascript. Now, if we wrap our `input` in `form`, we can use a `boolean attribute` known as <b>`required`</b> in the **input** tag. This will make sure, that all the <b>required input fields</b> are filled before submitting without writing extra code.

   In the picture below, you can see how it looks like 
  ![Required attribute in html5](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/00e9ax2950zc5njhi2ap.png)

 3.A form is a `semantic` tag, a tag which conveys a meaning to both the browser and the developer. Using semantic tags helps assistive devices like `screen readers`, `bots`, `web-crawlers` better understand the content of the page in the website or web application and help in **SEO** and ranking of the site.

---

That is the end. I would personally suggest you to use form tag for forms. I hope I could bring clarity on the **why** of the topic. If you liked it, share it. Also, if you think there is something wrong or you have any questions, please drop a comment down below so that we can fix it.

Till then, keep developing ! 💙

Follow me on:
[Linkedin](https://linkedin.com/in/sumanroy369)
[Github](https://github.com/Suman373)
[Twitter](https://twitter.com/sumanroy369)
Solving day 12 of Advent of Code 2022 in JavaScript
Tags: challenge, adventofcode, javascript, video
Published: 2022-12-12 10:22:43

---
title: Solving day 12 of Advent of Code 2022 in JavaScript
published: true
description: JavaScript walkthrough of Advent of Code 2022 (day 12)
tags: challenge, AdventOfCode, javascript, video
series: Advent of Code 2022 in Javascript
---

{% youtube oHNfF8a_cBs %}
Mona Host - Chuyên cung cấp dịch vụ Domain, Hosting, VPS, chứng chỉ SSL cao cấp
Tags: html, ssl, programming, domain
Published: 2022-12-12 10:10:13

Mona Host - Đơn vị chuyên cung cấp dịch vụ Domain, Hosting, VPS, chứng chỉ SSL cao cấp với nhiều ưu đãi gia tăng cho khách hàng. Cung ứng hệ thống hạ tầng vững mạnh đảm bảo việc quản lý máy chủ ổn định.

Mọi thông tin liên hệ công ty:

Mona Host Chuyên Cung Cấp Dịch vụ Domain - Hosting - VPS 
- Địa chỉ : Tầng 2, 1073/23 Cách Mạng Tháng 8, Phường 7, Tân Bình, Hồ Chí Minh
- Điện thoại: 1900 636 648
- Email: monahost@mona-media.com
- Website: https://mona.host/
How to Install and Set Up Rank Math SEO Plugin in 6 Easy Steps
Tags: seo, rankmath, blog, blogging
Published: 2022-12-12 10:04:41

If you want to rank higher in search engines and attract more traffic to your WordPress site, then you need to use a good SEO plugin. 

_Disclosure: This post may contain affiliate links. Making a purchase through one of these links may generate a commission for us at no additional expense to you. Check our disclaimer for details.
_
Though there are a handful of amazing SEO plugins out there Rank Math Free plugin offers you way more features than any other plugin. 

**How to Install and Set Up Rank Math SEO Plugin in 6 Easy Steps
**
If you are wondering how to install and set up Rank Math SEO plugin through WordPress for your SEO needs then don’t worry. Just following these quick steps will do the trick:

Install Rank Math on your WordPress site through the WordPress plugin repository or by downloading the plugin from Rank Math’s official website.
When the plugin is installed, activate it and that will redirect you to the Rank Math setup wizard. 

The setup wizard will help you configure the plugin and get started with Rank Math SEO.
After you have finished the setup wizard, you can access all the Rank Math features from the SEO menu in your WordPress admin area.

However, I am guessing that you are a beginner here and this may sound too overwhelming process to you. 

Hold on! I have it all explained in detail with screenshots. 

[READ MORE](https://bloggingskool.com/how-to-install-and-set-up-rank-math-seo-plugin/)
InversifyJS has reached 100,000,000 downloads on npm 🎉 🚀
Tags: javascript, typescript, opensource
Published: 2022-12-12 09:49:21

---
title: InversifyJS has reached 100,000,000 downloads on npm 🎉 🚀
published: true
description: InversifyJS is a lightweight (<50KB) but powerful Inversion Of Control (IoC) container for JavaScript applications powered by TypeScript.
tags: javascript, typescript, opensource
---

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

It blows 🤯 my mind to think that my #opensource project [InversifyJS](https://inversify.io/) has reached over [100 MILLION DOWNLOADS](https://npm-stat.com/charts.html?package=inversify&from=2015-04-15) on npm. InversifyJS is a lightweight (<50KB) but powerful Inversion Of Control (IoC) container for #JavaScript applications powered by #TypeScript. It is used to implement Dependency Injection (DI) in thousands of applications, including high-profile products like Microsoft Sway and over forty thousand open source repositories on #GitHub and over two thousand open source packages on #npm.

Since its release in 2015, many developers have reached out to share things they have built using InversifyJS. Of all the stories, my favourite one ❤️ is from a developer in Augsburg (Germany) that uses InversifyJS in a solution that "controls and measures the production of multiple megawatts of solar ☀️ power generation daily" 🌈 🌎

I cannot finish this post without thanking all the developers who have contributed to InversifyJS (especially Daniel Cavanagh). In 2019 I abandoned the project because I became too busy with [JSDayIE](https://www.jsday.ie/) & [Wolk Software](https://www.wolksoftware.com/). However, many volunteers jumped to the rescue, and InversifyJS not only survived but also continued to grow. Thank you! 🙌
Things that are perfectly acceptable to say during a Stand Up
Tags: scrum, productivity
Published: 2022-12-12 09:34:27

StandUp meeting value is often underestimated as most of the time, it is a boring reporting meeting where everyone details what they did yesterday and what they will do today.

Instead of describing again and again the theory of this meeting, let's see some example of thing that are perfectly acceptable to say during a Stand Up.

- Working on bugs, nothing to highlight.
- I spent the day trying to understand what's going on. Can anyone help me on this topic ?
- I'll merge my big refact today. Please think about rebasing your branch, as there will probably have conflict.
- We are generating new release. You know our infrastructure is crappy as f*** so please, don't run any pipeline for the moment. I'll tell you when you can go.
- Oh, you worked on this ? I think I have already fixed it, let's see after the daily.
- I'm on vacation tomorrow, if you need anything from me, it's today or in 3 weeks.

And probably the most important one:
- I think we are going too deep in details, could you two guys discuss this after the daily ?

Keep in mind: StandUp is the place where you raise concerns, not the place where you fix them 😉

And you, how are your standups going ?
Will your app fail when throttled?
Tags: microsoftgraph, microsoft365, webdev, javascript
Published: 2022-12-12 09:33:01

---
title: Will your app fail when throttled?
published: true
tags: microsoftgraph,microsoft365,webdev,javascript
canonical_url: https://blog.mastykarz.nl/app-fail-throttled/
---

![#66 Will your app fail when throttled?](https://blog.mastykarz.nl/assets/images/2022/12/banner-proxy.png)

On a tenant of one, your app never fails. Calling Microsoft Graph and other APIs on Microsoft 365 _just works_. But when it gets used at scale in production, only then you get to see if you built it correctly.

When you build a great application, and it gets widely adopted, it's used a lot. Depending on the size of your organization, your app might be used by hundreds or thousands of simultaneous users, issuing even more requests to Microsoft Graph and other APIs. Microsoft Graph can handle a lot, but even it has its limits, and when you reach them, by calling Graph APIs too often, instead of a response with data, you'll get errors like `429 Too Many Requests`. **You're throttled**.

**Throttling is temporary.** It's a mechanism to help servers resume regular service operation. By instructing clients to back off for a bit, servers hosting cloud APIs get a chance to get back to normal operation. That's the good news. The bad news is, that, **unless you use an SDK that does it for you, you need to handle throttling yourself.**

The problem with throttling is that it's elusive. It occurs only in certain conditions. This makes it really hard to test how your app will react when throttled: **will it back off and wait as instructed, or will it break with an exception**?

This is exactly why we built the [Microsoft Graph Developer Proxy](https://github.com/microsoftgraph/msgraph-developer-proxy): a tool to help you **test how your apps respond to API errors**. Seeing is believing for a reason. With the Graph Developer Proxy, you no longer need to hope for the best. You can verify, even on your tenant of one, how your app will react when suddenly Graph APIs will return errors.

🙋‍♂️ [Download the Graph Developer Proxy](https://github.com/microsoftgraph/msgraph-developer-proxy), test your apps, and I'm looking forward to hearing what you learned.

_PS. You can use Microsoft Graph Developer Proxy with any type of app: client-side apps running in the browser or back-end services running on a server._
Shuffling Array's Elements in JavaScript 😀 👌
Published: 2022-12-12 09:27:22

## There a lot of ways to shuffle array's elements in javascript

One of those ways is to loop through all the element and during each iteration try to generate a random index,
and using array destructuring we can replace each element with another one like the code below :

`function shuffle(array) {
  for (let i = array.length - 1; i > 0; i--) {
    let j = Math.floor(Math.random() * (i + 1));
    [array[i], array[j]] = [array[j], array[i]];
  }
}

var arr=[1,2,3,4]

shuffle(arr)
console.log(arr)     // [4, 1, 2, 3]

  
shuffle(arr)
console.log(arr)     //[3, 1, 2, 4]
  
  
shuffle(arr)
console.log(arr)     //[4, 3, 1, 2]
`

**Share your thoughts with me , Have a nice day
**
GitHub README template for learners
Tags: github, readme, documentation, markdown
Published: 2022-12-12 09:13:35

---
title: GitHub README template for learners
published: true
description: 
tags: github, readme, documentation, markdown
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
---

If you're learning something like web development, you'll be building a lot of projects and showcase it to the world. One way to do so is by uploading your project as repository on GitHub. GitHub repositories often have a README file, which is used to tell visitors about what this repository is about and provide relevant information.

You may be wondering about what exactly should you write in it, or what is a good way to present it. So, I have created a README template inspired by the [Frontend Mentor IO](https://frontendmentor.io/). It has a great structure, and helps you write a good README for you repository.

Here's the link to the repo: [README Template](https://github.com/CharanMN7/README-Template)

![Preview of the readme template](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6vhzvn9zw78wp3mp1ga9.jpg)