teleren/devto huggingface dataset:
Chrome DevTools: Flex Debugger
Tags: chrome, devops, testing, css
Published: 2021-04-26 07:49:53

Chrome DevTools finally introduced a nice Flex debugger.
In Chrome 87 they came with the [Grid debugger](https://daily-dev-tips.com/posts/chrome-devtools-grid-explorer/) and now in version 90, we can leverage the cool flex debugger.

Let's see what this amazing tool can do for us.

## Chrome Dev Tools CSS Flex debugging

First, we need to open the Chrome Dev Tools.

> Mac `Cmd` + `Shift` + `C` or Windows: `Ctrl` + `Shift` + `C`.

Now we can use the `Elements` inspector where we can see all the elements in there you will see the `[flex]` block behind grid elements; this was the existing feature.

![Chrome DevTools grid explorer](https://cdn.hashnode.com/res/hashnode/image/upload/v1619157409629/Auqmno_mT.gif)

As you can see in the above GIF, clicking on the flex item which now has a small icon next to it gives us a flex menu.

![Flex menu](https://cdn.hashnode.com/res/hashnode/image/upload/v1619157518908/7hKN_DhwI.png)

Clicking on these options will quickly add the corresponding styles to our element.
Any existing styles will be pre-checked.

At this point we have the option to change the following properties:

- flex-direction
- flex-wrap
- align-content
- justify-content
- align-items

I must say I'm super stoked about this feature, it's a quick visual way to check out what's going on with our flex elements.

We also got the option to check certain flexbox overlays via the Layout tab.

This will put an outline on specific flex items, so we can quickly see what's going on relative to other ones.

![Flex section overlays](https://cdn.hashnode.com/res/hashnode/image/upload/v1619157876987/RHKpawECG.png)

And on-screen, you will see each element in a specific color gridded.

![Gridded view for Flexbox](https://cdn.hashnode.com/res/hashnode/image/upload/v1619157917090/ldp9o1Qz-.png)

### Thank you for reading, and let's connect!

Thank you for reading my blog. Feel free to subscribe to my email newsletter and connect on [Facebook](https://www.facebook.com/DailyDevTipsBlog) or [Twitter](https://twitter.com/DailyDevTips1)
HTML+CSS - is it worth to start?
Tags: html, webdev, tutorial, beginners
Published: 2021-04-26 07:49:45

If you are a beginner, you face to some problems such as **Which language to choose"** and so on. Then you discover _(hopefully)_ that HTML and CSS are the easiest to "learn" _(I really try to avoid this word)_ and the creativiest direction at the same time, cause it is built on design and its solution. But then happens this: you discover that experts say nothing good about it and moreover it is not the programming lanuage at all..

###So... What to do?

HTML and CSS can be named as **base** or **foundation** for real web development. You can try your best building you first simple website using just notepad app. Nobody says it's bad, if you study HTML and CSS, if it is not the end of your self-development.

###Advantages
- Easy to learn. Each tag is understandable, the structure is usual for everyone.
- A lot of books are free available on the Internet to study or to find the meaning of each tag.
- Creativity. That won't be boring, I promise.
- Can be studied to check if programming is yours. If it is hard to you, then other languages will be impossible to you.

So, first of all if you try HTML and CSS forget about templates on the Internet. 
>The goal - to make yours. (individuality) 

####Helpful online apps to create your website layout
- [Moqups](https://moqups.com)
- [UXPin](https://www.uxpin.com)
- [Figma](https://www.figma.com)

####Where to make?
- Chrome Dev Tools - F12
- IDE: Intellij IDEA
- IDE: Webstorm
- Sublime Text

Start today, don't leave it until tomorrow and you will see that there is nothing hard. After HTML and CSS your direction will be PHP, JS and databases, so you can be a competitive web developer.

The question I put into the heading is for you. If you are interested to be a web developer in the future, then of course, as a beginner you have to try. 

Check my website for more information

Good luck in your job!
How to deploy a MERN Stack Application to the Server 🚀 | Video Tutorials
Tags: react, node, webdev, codenewbie
Published: 2021-04-26 07:37:49

Hello devs, in the following two video tutorials we are going to deploy a MERN backend(`node.js app`) to `heroku` and a MERN frontend(`React app`) to `netlify`.

In case you are interested in learning how to create a `complete MERN stack app` (`CRUD operations` with `Auth` and `deployment`), you can watch the entire series on my channel [here](https://youtube.com/playlist?list=PL63c_Ws9ecIQkH5xD6JW4cf2VporjzSRW)

If you have any questions you can leave them at the comment section below or find me on [twitter](https://twitter.com/ChaooCharles)

Enjoy and always stay awesome 💙

## 1. DEPLOYING THE BACKEND
{% youtube R49qFTftImQ %}
## 2. DEPLOYING THE FRONTEND
{% youtube hw-Ki84QXmA %}
Set up a clean Rails development environment 
Published: 2021-04-26 07:27:47

Recently I tried to setup Solidus (a Rails engine for e-commerce) and faced tons of issues, mostly not related to Solidus but Ruby, Rails and Node environments. The following is the note on how I finally resolved all the issues faced.

1. If your brew is messed up or you have used brew to install Ruby or Node, consider reinstall brew.

2. Use brew to install git, sqlite3 and imagemagick since they are Ruby/Node agnostic and wouldn't be affected by different Ruby or Node version.
 
3. Use version manager to install Ruby and Node.  
This is because the latest version of Ruby or Nodes may not work for your scenario and you would then need to install a different version of them. Version managers make it much easier.   
For Ruby, I used RVM since I used it before. For Node I used NVM since it switched node packages according to the current Node being used as well.  
*Important*: at the time of this writing, latest Node version is not working well with my Rails setup and I have to downgrade it to Node 14. (Thanks to https://dev.to/andrzejkrzywda/fixing-the-node-sass-problem-in-rails-node-downgrade-helps-16lh)

4. Use gem (from current Ruby version based on RVM) to install Rails (for current Ruby version). Don't use brew to install it which would be global.  
The Rails version installed will be according to the current gem based on the current Ruby version based on RVM.
5. Use npm (from current Node version based on NVM) to install Yarn (for current Node version).   
Don't use brew to install it which would be global.This is because Yarn is a node package and I used NVM to manage my node and node package accordingly. So whenever I switch my node version, Yarn will be switched accordingly as well. This may save some compatibility issue.
Access control gem for your Rails application (the 2nd)
Tags: rails, webdev, opensource
Published: 2021-04-26 07:21:18

---
title: Access control gem for your Rails application (the 2nd)
published: true
description: Active Entry is an authentication/authorization gem for your Rails application.
tags: rails, webdev, opensource
//cover_image: https://direct_url_to_image.jpg
---

**This article has been moved to [GeekOverflow](https://geekoverflow.net/access-control-gem-for-your-rails-application-the-2nd/)!**
WorkerKiller
Tags: ruby, rails, passenger, delayedjob
Published: 2021-04-26 07:08:00

Another [gem for handling memory](https://github.com/RND-SOFT/worker_killer) fragmentation and leaks. Working with Phusion Passenger and Delayed Job by Memory Limiter and Request Limiter.

[Expanded article(Russian)](https://blog.rnds.pro/015-workerkiller?utm_source=devto&utm_medium=post) about gem usage.
Plucking properties from object arrays in JavaScript
Tags: javascript
Published: 2021-04-26 06:55:35

One of the more common tasks when mapping over arrays in JavaScript is extracting properties from objects. Instead of using individual arrow functions, we can create a reusable helper function that does the plucking for us.

```js
const countries = [
  { name: 'France', capital: 'Paris'  },
  { name: 'Spain',  capital: 'Madrid' },
  { name: 'Italy',  capital: 'Rome'   }
]

// we can extract the attributes with individual arrow functions
countries.map(country => country.name)     // ⇒ ['France', 'Spain', 'Italy']
countries.map(country => country.capital)  // ⇒ ['Paris', 'Madrid', 'Rome']

// this function allows us to write that arrow function shorter
const pluck = property => element => element[property]

countries.map(pluck('name'))     // ⇒ ['France', 'Spain', 'Italy']
countries.map(pluck('capital'))  // ⇒ ['Paris', 'Madrid', 'Rome']
```
The Cloud Resume Challenge (series): Part 11 - JavaScript
Tags: devops, cloud, aws, serverless
Published: 2021-04-26 06:49:45

---
title: The Cloud Resume Challenge (series): Part 11 - JavaScript
published: true
tags: #devops #cloud #aws #serverless
---

Heyo cloud engineering friends! And I have just this morning hit publish on the next in a series of videos I've been putting out on the cloud resume challenge. 

If you've not already heard of [the cloud resume challenge](https://cloudresumechallenge.dev/), it's a free, online challenge started by the hero (AWS hero, and general cloud hero) Forest Brazeal to help people get into the cloud by giving you a real, hands-on project and challenge to complete. You can find [the original announcement post here](https://dev.to/forrestbrazeal/the-cloud-resume-challenge-503g).

In the last few parts of the series on YouTube I've been through most of the backend work (except the DynamoDB database), setting up an [S3 bucket to host our website](https://www.youtube.com/watch?v=HOxsacd8Frw&t=37s), and figuring out some of the more fiddly aspects, like [getting CORS configured on our API](https://www.youtube.com/watch?v=MsFYWnjP39M). Now, we're doing some front-end development, by [hooking up some JavaScript](https://www.youtube.com/watch?v=PKp5J4OcStM) to our AWS Lambda function on our website. 

{% youtube PKp5J4OcStM %}

If you're thinking about doing the challenge, or getting into cloud I can highly recommend it. 


---

Hey! 👋 If we haven't met, let me introduce myself, I'm [Lou](https://twitter.com/loujaybee), and I created _[Open Up The Cloud](http://thedevcoach.co.uk/)_ to help you get your start, and grow your career in cloud 🚀. 

If you're interested in cloud, the best way to keep up-to-date with news, and everything I publish is via the [monthly cloud newsletter](http://newsletter.thedevcoach.co.uk/). And find _Open Up The Cloud_ on [YouTube](https://www.youtube.com/channel/UCAklaE5D59xWtip-3Jwa7xA), [Twitter](https://twitter.com/openupthecloud), [Instagram](https://www.instagram.com/openupthecloud)... wherever you like hang out! 😄
what is spacebar 2000 challenge
Published: 2021-04-26 06:43:19

Spacebar counter assists you with checking the occasions you can hit the space bar clicker in a given time span. 

By and large, in games expect you to utilize the spacebar for some significant activities like shooting or bouncing, and so on In this way, you should be quick at that!
In Spacebar 2000 challenge, you are supposed to hit on the spacebar for 2000 times. The more quick you will be at it, the more it will speed up your tapping or hitting skill and it would be in return very beneficial for you in the game.

Take the challenge now. 
URL: https://spacebarcounter.info/press-the-spacebar-2000-challenge/
Tips dan Trik Mengatasi WC mampet 
Tags: sedotwctermurah, sedotwcterpercaya
Published: 2021-04-26 06:41:24

Pernahkah kamu mengalami kesulitan saat mem-flush WC usai kamu buang air besar atau kecil? Kemungkinan besar, hal ini terjadi karena WC-mu mampet. Kejadian seperti ini tentu sangat menjengkelkan karena bisa menghambat penghuni rumah lainnya saat ingin menggunakan WC. Tak hanya itu, WC mampet juga bisa menjadi biang bau tak sedap dalam rumah karena kotoran yang tidak bisa masuk ke dalam septic tank.

Sering kita temui imbauan untuk tidak membuang tisu ke dalam WC di toilet umum. Imbauan ini benar adanya karena membuang sampah ke dalam WC menjadi penyebab utama terjadinya mampet yang bisa menghambat kinerja WC dalam mendorong kotoran. Tak hanya tisu, ada beberapa barang lain yang menyebabkan WC mampet, yaitu pembalut, cotton bud, tusuk gigi, tisu basah, dan popok bayi.


Source :
https://sedotwc-bergaransi.com/
https://sedotwc-no1.com/
https://sedotwcsidoarjoonline.com/
Which FreeBSD directories to backup for bare metal recovery
Tags: freebsd, backup, recovery, bsd
Published: 2021-04-26 06:26:18

Like OpenIndiana, FreeBSD uses a ZFS root filesystem by default. Ergo, the backup method is [approximately](https://dev.to/jdrch/which-openindiana-directories-to-backup-for-bare-metal-recovery-3a3j) the same: backup everything that's a ZFS filesystem and exclude the rest. Additional exclusions:

```
/dev/*
/tmp/*
/mnt/*
/proc/*
/compat/*
```
Which Linux directories to backup for bare metal recovery
Tags: linux, debian, raspberrypios, backup
Published: 2021-04-26 06:14:35

This post pertains mostly to Debian(10 and distributions based on it) and Raspberry Pi OS, but can most likely be extended to other distributions. 

For Debian, backup everything except the following:

```
/proc/*
/sys/*
/dev/*
/run/*
/etc/mtab
/var/cache/apt/archives/*.deb
lost+found/*
/tmp/*
/var/tmp/*
/var/backups/*
.Private
/mnt/*
```

For Raspberry Pi OS, backup everything except the following:

```
/proc/*
/sys/*
/dev/*
/run/*
/etc/mtab
/var/cache/apt/archives/*.deb
lost+found/*
/tmp/*
/var/tmp/*
/var/backups/*
/mnt/*
/media/*
/svr/*
```
Topology fun
Tags: python, topology, knots, programming
Published: 2021-04-26 05:50:25

##Exposition
Not too long ago, in one of the final semesters of my undergraduate studies, I was programming in Topology. As a math enthusiast and programmer, I was working hard to complete a B.A. in Mathematics and a B.S. in Computer Science, and at the time, I was taking a few math upper-division electives that peeked my interest - the most interesting being Topology, of course. During that time, we were assigned two projects where we could do anything we wanted involving Topology up to what we had learned, and to my great creativity, I wrote two programs that solved (what could be considered) arduous tasks in the course.

##The Projects
1. 2D-Mainfold Glueing (*_see below_*) 
 - calculate three qualities that form a complete invariant 
 - determine the homogeneity class
2. Bracket/Jones Polynomial (*_see below_*)
 - parameterize and digitize a knot in space
 - calculate the bracket and Jones polynomial of that knot

{% github https://github.com/Patrickwalkstar/Topology %}
Sass: @use
Tags: css, programming, design
Published: 2021-04-26 05:35:05

I wrote a blog about using @import with your SASS projects to use variables and information from another file within your projects. There is another way to achieve this and that is with using @use.

*"The @use rule loads mixins, functions, and variables from other Sass stylesheets, and combines CSS from multiple stylesheets together. Stylesheets loaded by @use are called "modules". Sass also provides built-in modules full of useful functions."(Sass, Online Docs. 2021)*

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5w8u72wny775ix539o6r.png)

I am using this image straight from the Sass website. It clearly shows how to incorporate *use* into your files.  

Think of it this way, When speaking to your computer, you have organized your style sheets and all that wonderful glory, in your main style sheet that you want sass to run, say "hey I want you to *USE* my code style sheet found in the foundation folder (i.e. "foundation/_folder.sass") and also the lists style found within the same folder ("foundation/_lists.sass"). Just as a review, the underbar right before the file name tells the computer to ignore that file and not run it with the projects unless stated otherwise. 

Now you may be wondering what is the difference between using *use* and *import*. Well fundamentally they both do the same thing, but the main difference between the two is that *import* makes every variable globally accessible in the target file.

*"Import enables an endless chain of imported files where it's difficult to trace where your variables and mixins are coming from. It also allows for overlap and makes it difficult to trace back why your perfect css breaks. This is a problem especially with complex file structures and projects with multiple contributors and global libraries, which is why @import is no longer recommended by Sass."(liquidlight.co.uk, Minna Ylitalo 2020. online docs. 2021)*
49 Days of Ruby: Day 30 - CLI: Collecting Input
Tags: ruby
Published: 2021-04-26 04:50:13

---
title: 49 Days of Ruby: Day 30 - CLI: Collecting Input
published: true
description: Join us on a 49 day learning journey through Ruby!
series: 49 Days of Ruby
tags: #ruby
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/9m73qaetuse3nm3y3it8.png
---

**Welcome to day 30 of the 49 Days of Ruby! 🎉**

Yesterday, we began a look at building command line interfaces in Ruby. We built a small CLI that outputted some text when you ran it.

Today, we are going to collect user input in our CLI!

The examples from both yesterday and today are relatively small and concise, but they shed light on two fundamental jobs of a CLI: Sharing information and taking in information. Yesterday, we did the former, and today we'll do the latter.

How do you accept input in a CLI?

```ruby
#! /usr/bin/env ruby

puts "This is my CLI!"

puts ARGV
```

Now run this CLI script as such: `./cli.rb hi back at you`

What is returned?

```bash
$ This is my CLI
$ ['hi', 'back', 'at', 'you']
```

Did you notice that the string we added when we executed our CLI was turned into an array with each separate string as an item in the array?

That is what the `ARGV` keyword does.

As such, we can access specific parts of the user input like any other array:

```ruby
puts ARGV[1]
```

```bash
$ back
```

```ruby
puts ARGV[2]
```

```bash
$ at
```

Now you know one way to collect user input in a CLI and how to create a CLI! Tomorrow, we'll continue our Ruby adventure.

**Come back tomorrow for the next installment of 49 Days of Ruby! You can join the conversation on Twitter with the hashtag [#49daysofruby](https://twitter.com/hashtag/49daysofruby).**
【Redis Week】 - 7 Days Best Practice With Alibaba Cloud ApsaraDB - Day07
Published: 2021-04-26 04:15:28

### Day 7 - How To Choose The Right Redis Spec And Architecture For Your Application
[Watch Now (47 mins)>](https://www.youtube.com/watch?v=CphwxT_HU5k)

> This video is in Chinese, and it's free. The contents are suitable for all developers, DBAs and database enthusiasm. For English speakers, we recommended to click the playlist in the end of the video or you can click the link below to start learning directly.
[Best Practice of Redis (EN)>](https://www.youtube.com/playlist?list=PL54EFTJJZrwgfve8XuYSKTnIfve08WmfN)


### Main Contents
1. How ApsaraDB for Redis works? How high availability can be achieved?
2. What kind of storage is better for your specific scenario?
3. What problems you may have when using open-source Redis and how to deal with that?
My Zodiac CLI Project 
Published: 2021-04-26 04:38:44

Oh man oh man, this one was a doozy, BUT I did finish it. It took some time especially with a lot of multi-tasking needed on my part but it has been finished and now ready to be submitted for review. 

This is the usage for my CLI, and if anyone wishes to try out my gem, the link will be below 

ZodiacCLI will allow a user to input a Month, then Date and will print their Zodiac.
After it will prompt the user to input whether they would like to know their Horoscope or exit the program.
Once Horoscope is printed, user will be prompted if they wish to play again with new dates or exit the program 

https://github.com/Enchanting121/zodiac-cli.git

I had a bit of hard time with searching for my API as I was a little backwards and built my program before finding an one BUT atlas I did find one and fully succeed in inputting it into my program. Hopefully everyone enjoys my blood sweat and Yes lots of tears !
How to set up email notifications on OpenIndiana
Tags: email, notifications, openindiana, illumos
Published: 2021-04-26 04:33:08

Do you want your OpenIndiana instance to let you know when something has gone wrong or if a `cron` job has failed? Here's how you do it.

First, tell the operating system to email you if anything goes into the maintenance, offline, or degraded states:

```
# svccfg setnotify -g to-maintenance,to-offline,to-degraded mailto:YourEmailAddress
```

For failed `cron` jobs and the like, add the following lines to `/etc/mail/aliases`:

```
root:           YourEmailAddress
YourUsername:          YourEmailAddress
```

Ensure there are no other conflicting `root` & `YourUsername` definitions (read: lines beginning with either of those.) If there are, either comment them out or resolve the conflicts using the commented instructions in the file.

Save `/etc/mail/aliases` when you're done editing, then run the following in the terminal:

```
# newaliases
```

Now test your config by sending an email directly to `YourEmailAddress`¹, checking its inbox each time:

```
echo "This is the body of the email" | mail -s "This is the subject line" YourEmailAddress
```
 
Then try sending an email to `root`:

```
echo "This is the body of the email" | mail -s "This is the subject line" root
```

Finally, try sending an email to `YourUsername`:

```
echo "This is the body of the email" | mail -s "This is the subject line" YourUsername
```

Those should all work.

¹ The emails I sent using this method did not have a subject line, so the `-s` might not work OpenIndiana. To be honest, I stole this line from Debian tutorial, so 🤷‍♂️. In any case, automated emails will have their own programmatically generated subject lines and bodies.