teleren/devto huggingface dataset:
YAGNI Principle in 100 seconds
Tags: javascript, webdev, design, architecture
Published: 2021-05-30 07:20:45

## :bulb: What does YAGNI stand for?
**YAGNI** stands for *You Ain’t Gonna Need It*. It’s a principle from software development methodology of Extreme Programming (XP). This principle says that you should not create features that it's not really necessary.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tq3ggyimlj9h32ektgrx.png)

This principle is similar to the **[KISS](https://dev.to/richardwynn/kiss-design-principle-in-100-seconds-3ca6)** principle, once that both of them aim for a simpler solution. The difference between them is that YAGNI focus on removing unnecessary functionality and logic, and **[KISS](https://dev.to/richardwynn/kiss-design-principle-in-100-seconds-3ca6)** focus on the complexity.

## Why YAGNI?
- Any work that's only used for a feature that's needed tomorrow, means losing effort from features that need to be done for the current iteration.
- Creeping featurism leads to code bloat; the software will becomes larger and much more complicated.

## Quotes
- *Always implement things when you actually need them, never when you just foresee that you need them.* (Ron Jeffries, one of the co-founders of the XP)

## :memo: When not to practice YAGNI
- **Learning something new:** Evaluate a new technology exclusively to gain the time back later and minimize the risk of losing more time by making the wrong decision.
- **Current design decisions based on future needs:** Don't sabotage your efforts because you think they violate YANGI. Instead, make the future-proof design decision, but only implement enough to fulfill the current need.
- **Abstracting external dependencies:** Take time to astract these dependencies will avoid rework and decrease the complexity.
- **Testing, Security, Scale, and Business Requirements:** YAGNI is not a free-pass on writing tests, secure code, considering scale, or business requirements.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xzhlcc5kmgp61gmngpzp.jpg)

## :iphone: Keep in Touch
If you like this article, don't forget to follow and stay in touch with my latest ones in the future by following me via:

- **Twitter:** https://twitter.com/RichardWynn01
- **Medium:** https://richard-wynn.medium.com
- **Github:** https://github.com/richard-wynn

## :newspaper: Other Programming Principles
Be interested? :smiley: You can visit the links below read my other posts in my programming principles series 
- [Single Responsibility Principle (SRP) in 100 seconds](https://dev.to/richardwynn/single-responsibility-principle-srp-in-100-seconds-3b1d)
- [KISS Design Principle in 100 seconds](https://dev.to/richardwynn/kiss-design-principle-in-100-seconds-3ca6)
Discord Blogger Integration Using Python
Tags: discordbot, blogger, python, api
Published: 2021-05-30 07:19:00

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

It's a very simple discord bot created in python using blogger api in order to search and send your website articles in your discord chat in form of an embedded message. 

It's pretty useful for people who are on the blogger platform as there are not much you can do with blogger because of the restrictions.

I initially Created this bot for my website.

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

<h2>Features:</h2>

1. It uses [blogger.com](https://blogger.com/) API inorder to display data from your site to your users easily.
2. You just have to search the command ++meneed (topic you are searching) without brackets and it will work.

<h2>Note (Installation):</h2>
1. Download this repository.
2. Extract the folder.
3. Now Simply add your bot token to the code.
4. Change whatever you want in the code.
5. Add your [API key](https://developers.google.com/blogger/docs/3.0/using) and [Blogger ID](https://subinsb.com/how-to-find-blogger-blog-id/).

<h3>Upcoming Features:</h3>

I will add whenever you update any article on your website it will notify the users.

Have a nice day :)
How to gain funding from VC's , Angel Investors?
Tags: webdev, startup, showdev, help
Published: 2021-05-30 06:59:44

Current trends suggest that...

The startup culture in India today is moving towards how competent you are at cloning certain technologies, rather than your calibre for innovating new ones. Is this because Angel and VCs invest only in propositions that provide a 100% verified model of generating revenue with established results in the same market? Or are Indian entrepreneurs getting sceptical of trying something new? 

Dear connections. What advice would you give to an individual who aspires to have a workaround in this scenario?

Talking about the mindset-

Is it good to be a Jin-Yang or is it good to be a Richard?
Is it good to be a Zukerberg or is it good to be a Winklevoss?

What are your thoughts?
CSS INCLUSION.
Tags: css, html
Published: 2021-05-30 06:59:20

In this blog, we will learn about a specific CSS , i.e., CSS INCLUSION. We will understand how to embed css on hmtl. So, let us start our learning.

HOW TO INSERT CSS INTO HTML?

There are three ways of inserting a style sheet:

   #External style sheet📎
   #Internal style sheet📎
   #Inline style📎


##External Stylesheet:📎

 📍with an external style sheet,we can change the look of an entire website by chaning jush one file!
📍Each page must include a reference to the external style sheet file inside the <link> element. The <link> element goes inside the head 
section.


#syntax:✋✋✋
<head>
     
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>




##Inline Styles📎

📍An inline style may be used to apply a unique style for a single element.
📍An inline style loses many of the advantages of a style sheet (by mixing content with presentation ) . use this method sparingly!
📍To use inline style , add the style attribute to the relevant tag , the style attribute can contain any css proprety.


#syntax:✋✋✋

 <div id="text1" style="color:red">


Cascading Order:

What style will be used when there is more than one style specified for an html.

Generally speaking we can say that all the styles will 'cascade' into a new "📎virtual style" sheet by the following rules, where number three has the highest priority:

📎Browser default
📎External and internal style sheets(head section)
📎Inline style (inside an html element)


📒📒📒📒📒📒📒NOTED📒📒📒📒📒

if the link to the external style sheet is placed below the internal style sheet in 📒html <head>,the external sheet will override the internal style sheet!


happy learning:)
I made a Twitter-inspired CV
Tags: html, css, 100daysofcode
Published: 2021-05-30 06:33:16

I've been having lots of fun with recreating Twitter (and other famous platforms) designs lately (like my [Twitter 'Who to follow' card](https://dev.to/riyanagueco/i-recreated-the-twitter-who-to-follow-card-5867), or my [Google Search page](https://dev.to/riyanagueco/i-recreated-the-google-search-page-d3e)) that I thought it would be fun if I just made a whole CV inspired by Twitter's UI.

This is not my original idea, [somebody has done something like this before](https://twitter.com/emvutweets/status/1367221816985407488?s=20) and I thought it was super cool so I did one myself.

![Screen capture of the CV in full length](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u5ozag7xsi7y31q60jwk.PNG)

It's currently published via GitHub pages [here](https://rngueco.github.io/). Made entirely using HTML and CSS. I plan to add some more fun features soon, like theming and highlight color options. 🤓

Would love to hear what you think!
MacOS - VSCode sometimes prints z on pressing option+z
Tags: vscode
Published: 2021-05-30 06:03:29

MacOS - VSCode sometimes prints z on pressing option+z

You can fix this by changing the keyboard input type to "ABC" from whatever your input is.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4nng1m8xlh6zszku7z2p.png)
How to change font is VS Code
Tags: codenewbie, vscode, tutorial, computerscience
Published: 2021-05-30 06:00:23



- 
Search for the font you want or go to  [Google fonts](https://fonts.google.com/) 

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1622350695833/fW-UlMuMH.png)



- 
I want Noto Sans JP font. So, I searched for it and clicked on the first one.

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1622350825497/RTfjxN1G8.png)


- 
Click on Download family on the top right

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1622350880508/8VTe7LMyI.png)


- 
Extract the downloaded file.


![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1622350978121/WsLfHzpHO.png)


- 
Either your fonts are inside Folder -> fonts -> ttf or Directly inside the Folder


- 
Here, the fonts are directly inside the Folder, select the file with type OpenType font file

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1622351110611/HirE03pcg.png)


- 
Search Control panel

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1622351170539/s9BvKNuo-.png)


- 
Click on large icons on the top right

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1622351187346/JSU8GadMP.png)


- 
Click On Fonts

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1622351211014/mclwfuhrJ.png)


- 
This type of page will open up

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1622351232676/TgvCYju-O.png)


- 
Copy all your fonts from the extracted folder

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1622351259482/DuWb0mhVHR.png)


- 
Paste them on the fonts page


![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1622351304975/xIGn3mXIDo.png)


![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1622351335081/oLH22bqs-.png)


- 
Open VSCode and Go to file -> preferences -> settings

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1622352058095/99tOJLFqt.png)


- 
Search for Font Family
![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1622352101161/5u_TdZYJ8.png)


- 
My editor before adding font

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1622352365856/CbSeONdVy.png)


- 
My Editor after adding font

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1622352390072/m8vIDE93I.png)


- 
You have to add 'Noto Sans JP' or the font you want at the start and then add a comma(,) after it. Save the file Restart the IDE,
If you want to add the font and it doesn't work, ping me on Twitter I will try to help you asap!




- 

{% youtube k2Rl4U3qg5A %}



- 
Twitter:
https://twitter.com/NewGenDeveloper
HTML : Disable resizing of textarea
Tags: html, css, webdev, tutorial
Published: 2021-05-30 05:42:13

# What is textarea?
The `<textarea>` element is often used in a form, to collect user inputs like comments or reviews.

A text area can hold an unlimited number of characters.

# How to resize texarea?
You can resize a textarea by clicking on the bottom right corner of the textarea and dragging the mouse.

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

# How to disable resizing textarea?
The following CSS rule disables resizing behavior for textarea elements:
```css
textarea {
  resize: none;
}
```
With above code all of your textareas will be disabled to resize.

You can use class attribute in your tag - 
```html
<textarea class="textarea1" rows="4" cols="50">
 Enter your message here...
</textarea>
```
```css
.textarea1 {
  resize: none;
}
```

To disable a specific textarea with the name attribute set to foo 
```html
<textarea name="foo" rows="4" cols="50">
 Enter your message here...
</textarea>
```
```css
textarea[name=foo] {
  resize: none;
}
```

Or, using an id attribute -
```html
<textarea id="foo" rows="4" cols="50">
 Enter your message here...
</textarea>
```
```css
#foo {
  resize: none;
}
```

> This property does nothing unless the overflow property is something other than visible, which is the default for most elements. So generally to use this, you'll have to set something like `overflow: scroll`;

# Demo
resize has below values that you can use with your text areas - 
`none:` the element is not resizeable. 
`both:` the user can resize the element’s height and/or width.
`horizontal:` the user can resize the element horizontally (increasing the width).
`vertical:` the user can resize the element vertically (increasing the height).
`inherit:` the element inherits the resize value of its parent.

Below is the demo where you can click on the value names and can see the demo of selected value version of textarea -
{% codepen https://codepen.io/team/css-tricks/pen/QbJqMG %}


<a href="https://www.buymeacoffee.com/rkycom" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>

With all that being said, I highly recommend you keep learning!

Thank you for reading this article. Please feel free to connect with me on [LinkedIn](https://www.linkedin.com/in/www-rajeshkumaryadav-com/) and [Twitter](https://twitter.com/rky_com).
Laravel 8 Mail Send using Queue Example 
Tags: laravel, programming, php, tutorial
Published: 2021-05-30 05:20:21

<p>Hi Dev</p>
<p>In this article we will provide example tutorial of laravel 8 mail send utilizing queue. you will learn mail send utilizing queue in laravel 8 application. I will give simple example for how to send mail utilizing queue in laravel 8. In this tutorial we will visually examine example of laravel 8 mail send utilizing queue.</p>

<p>This tutorial will give you mail send utilizing queue in laravel 8. We will discuss laravel 8 mail send utilizing queue. let's discuss about laravel 8 mail send utilizing queue.</p>

<p>Here i will give you full example for send mail utilizing queue in laravel 8 application. So let's visually perceive bellow step by step:</p>

more..

https://codingtracker.blogspot.com/2021/05/laravel-8-mail-send-using-queue-example.html
Keycloak: Enable Javascript-based policy
Tags: javascript, keycloak, authentication, authorization
Published: 2021-05-30 05:14:58

The recommended way to add Javascript based policy in Keycloak is to upload a JAR file. 
However, if you are a Javascript developer with no clue what a JAR file is and have a deadline for your POC, then follow the below steps:

1. In the *keycloak* folder from where you start your server using `./bin/standalone.sh`, create a file `profile.properties` in `standalone/configuration`

2. Paste `feature.upload_scripts=enabled` in the above created file

Run the server and you should be able to see "Javascript"  under *Clients* > *Authorization* > *Policies* > *Create Policy* dropdown box
pre-commit-golang v0.8.3 - Now with revive support
Tags: showdev, go, git, github
Published: 2021-05-30 04:10:47

## About

pre-commit-golang is a set of [pre-commit](https://pre-commit.com) hooks for Golang with support for Modules.

Quick Links: [Project Page](https://github.com/TekWizely/pre-commit-golang) | [Available Hooks](https://github.com/TekWizely/pre-commit-golang#hooks) | [Installation](https://github.com/TekWizely/pre-commit-golang#installation) | [Releases](https://github.com/TekWizely/pre-commit-golang/releases)

## Release Announcement: v0.8.3

This release adds support for [revive](https://github.com/mgechev/revive), a ~6x faster, stricter, configurable, extensible, and beautiful drop-in replacement for golint.

### revive hooks
The following revive hooks are now available:

| Hook ID   | Description
|-----------|------------
| `go-revive`          | Run `'revive [$ARGS] $FILE'` for each staged .go file
| `go-revive-mod`      | Run `'cd $(mod_root $FILE); revive [$ARGS] ./...'` for each staged .go file
| `go-revive-repo-mod` | Run `'cd $(mod_root); revive [$ARGS] ./...'` for each module in the repo

##### Installing revive
```
go get -u github.com/mgechev/revive
```

##### Learning More About revive
 - https://github.com/mgechev/revive#usage
 - `revive -h`

## Conclusion

If you use git for your golang project's source control, I hope you will give my project a try.

I am happy to answer any questions you might have.

Thank you for your time,

-TekWizely ( https://github.com/TekWizely )
The First Computer Bug Was Actually a Dead Bug
Tags: fact, computerscience
Published: 2021-05-30 05:11:06

Do you know, The First Computer Bug Was Actually a Dead Bug. We know computer bug is a known as a error or a fault due to a flaw in the computer program or system.

This bug makes various problems and we google the that bug right.

The first person to use the word “bug” to describe a technological error was Thomas Edison.

He used it in a letter that dates back to 1878. However, it wasn’t until 70 years later that the term became so popular.

At 3:45 p.m, September 9, 1947, the first actual incident of a computer bug was recorded. It was recorded by Grace Hopper, an American computer scientist, and member of the U.S. Navy. She was working on a Harvard Mark II computer and recorded the bug in the computer’s logbook.

![](https://www.codesnail.com/wp-content/uploads/2021/05/first-computer-bug.jpg)

After she noticed a hindrance in the computer’s operation, she started tracing the problem. Hopper found a dead moth that was stuck between the relay contacts of the computer. She removed the moth and taped it into Mark II’s Log. Beneath the moth, she wrote “First actual case of bug being found.”

Although there are some claims that other people found the moth in the computer, Hopper remains the one who did the logbook entry.

So this is the story of first computer bug.
Most useful javascript math functions
Tags: javascript, webdev
Published: 2021-05-30 04:45:26

## **abs**

**Math.abs function returns the absolute value of a number**


![carbon (22).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1621746409131/jlbMbOXQL.png)

## **ceil**

**Math.ceil function rounds a number up to the next largest integer**


![carbon (23).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1621746494532/mY9EPGuj_.png)

## **floor**

**Math.floor function rounds a number down to its nearest integer**


![carbon (25).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1621746571356/Jz98tAaox.png)

## **round**

**Math.round function rounds a number to its nearest integer**

![carbon (24).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1621746550932/MkIxsqGy3.png)

## **trunc**

**Math.trunc function returns the integer part of a number**


![carbon (26).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1621746689915/uo-SMmKzr.png)


## **max**

**Math.max function returns the number with the largest value**


![carbon (55).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1622557110008/1rcH6dRfP.png)



## **min**

**Math.min function returns the number with the lowest value**

![carbon (54).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1622556945751/NZNJuBS4S.png)


## **pow**

**Math.pow function returns the base to the exponent power**


![carbon (31).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1621747253211/OqwJHwiwW.png)


## **sqrt**

**Math.sqrt function returns the square root of a number**


![carbon (32).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1621747311129/JfjcDppwb.png)


## **cbrt**

**Math.cbrt function returns the cubic root of a number**


![carbon (33).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1621747363289/DoLcBeSkk.png)

## **random**

**Math.random return random number between 0 to 1**


![carbon (35).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1621747953309/95wzHlvVt.png)


# **Bonus**

## **sign**

**Math.sign return an argument is negative, positive or NaN**


![carbon (34).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1621747721304/-qtsj2IV32.png)


# **Wrapping up!**

Share this blog with your friends 👩🏼‍🤝‍🧑🏼 and developers 👨‍💻 you know and let them know these

Your feedback and comments are very important to me. 💌

# **Get in touch 🤜🤛**

 [Instagram](https://www.instagram.com/technonic)
Any good digital nominee YouTube channel and channels for learning digital marketing in the beginning – SabDataScientist 
Tags: datascience, marketing, leadership
Published: 2021-05-30 04:28:23

Any good digital nominee YouTube channel and channels for learning digital marketing in the beginning – SabDataScientist 


https://sabdatascientist.com/2021/05/11/any-good-digital-nominee-youtube-channel-and-channels-for-learning-digital-marketing-in-the-beginning-sabdatascientist/
If a film was made in the era of social media, how would it change?
Tags: discuss, digital
Published: 2021-05-30 04:22:46

If a film was made in the era of social media, how would it change?
https://sabdatascientist.com/2021/05/29/if-a-film-was-made-in-the-era-of-social-media-how-would-it-change-sabdatascientist/
I Started a JavaScript Stream on Twitch!
Tags: javascript, learninpublic, twitch
Published: 2021-05-30 03:58:33

The title says it all. I started a JavaScript (JS) Twitch stream!

As some of you know, I co-host the [DEV Twitch stream](https://twitch.tv/thepracticaldev). I'm also learning Rust on Tuesdays on my own stream.

{%link https://dev.to/nickytonline/learning-rust-1h2n %}

But now there is some JavaScript goodness too. I decided to start streaming on Thursdays at 2pm UTC (10am Eastern for me) for an hour about all things JavaScript.

To follow along visit [JavaScriptHours.com](https://JavaScriptHours.com)

So what is the purpose of the stream? Well it's a few things:
* Do some katas to get back in the habit
* Answering folks questions in the stream. I can't guarantee I will have all the answers (who does?), but we can have fun figuring it out if I don't know. 😎
* Anything JS related honestly, including TypeScript
* Hanging with all you awesome folks on the stream.

If you missed the inaugural stream, here's the recording up on YouTube.

{%youtube uCP7aczdh6M %}

We covered the following on the first stream:
* purpose of the stream
* some katas from jskatas.org
* object and array spread

Come by and lurk, ask questions, or just move a lobster or doughnut for fun on the screen!

See you at the next stream!
Lib/framework that provides out-of-the-box common functionalities (users, permissions, folders) of file storage like GDrive.
Tags: help, filestorage, library
Published: 2021-05-30 03:35:28

---
title: Lib/framework that provides out-of-the-box common functionalities (users, permissions, folders) of file storage like GDrive.
published: true
description: 
tags: help, filestorage, library
cover_image: https://support.aodocs.com/hc/article_attachments/360030805552/image02.png
---

Hey folks, looking for a lib, boilerplate, framework or similar that provides out-of-the-box the common functionalities of file storage like Google Drive, MS Onedrive, Nextcloud/Owncloud etc.
Imagine you need to build something like Google Docs, so you need functionalities (apart from the text editor itself) like:
- authentication (of course)
- user roles
- teams/organizations
- file (document) CRUD
- files explorer
- file permissions
- file sharing
- folders
Do you know any software that will provide those quite common features out-of-the-box so that you don't have to implement them from scratch and i.e., focus on developing the core thing - the document (text) editor.

I personally, at some point had an idea of using my own custom instance of Nextcloud, which has the features above, and I'll just implement a specific plugin for document editing and maybe do some styling customizations. But after all, it requires some PHP knowledge so I abandoned the idea.

Other similar software that might give you a clue what I mean:

(https://gitlab.coko.foundation/editoria/editoria)
(https://github.com/outline/outline)