teleren/devto huggingface dataset:
Skip pull request and push GitHub Action workflows with [skip ci]
Tags: devops, github, githubactions
Published: 2021-02-09 15:54:31

GitHub Actions now supports skipping push and pull_request workflows by looking for some common keywords in your commit message.

If any commit message in your push or the HEAD commit of your PR contains the strings [skip ci], [ci skip], [no ci], [skip actions], or [actions skip] workflows triggered on the push or pull_request events will be skipped.

There are certain situations where I don't want CI run. Mostly this happens when I plan to push a cascading wave of commits to a branch. Rather than watch my build minutes tick up, I would prefer to skip the CI entirely.

![Screen Shot 2021-02-09 at 10.44.26 AM](https://dev-to-uploads.s3.amazonaws.com/i/2w6ck2zs2tnczphonhqu.png)
 
Here's an example of me with a Vercel deployment, which is running, but my integration test with Cypress is not. This is because those tests are required.

![Screen Shot 2021-02-09 at 9.41.52 AM](https://dev-to-uploads.s3.amazonaws.com/i/sedzo24rig5hnk4asi05.png)

So keep that in mind if you do enable this.

I also want to point out that this feature came through to [gitHub.community](https://github.community/t/idea-conditional-job-ci-skip-skip-ci-keyword/16211) forums. If there are aspects of GitHub Actions that are missing in its feature set, definitely head over to the community forums and drop us a note.

_This is part of my 28 days of Actions series. To get notified of more GitHub Action tips, follow the GitHub organization right here on Dev._

{% link https://dev.to/github/keeping-github-action-workflows-secure-p8h %}
Welcome Post!
Published: 2021-02-09 15:54:21

Hi Dears!
I am happy to be here with you. If you people run a business online or planning to run a personal blog, it would need a website to create for it. So, I came here to provide you a complete source for finding all about blogging.

Visit here <a href="https://bloggingvolt.com">blogging volt</a>

We would teach you from start to finish! Just keep visiting our blog for getting any help or when you face any problem during the occurrence of any issue.

What Additional Do You Get?

Let's say what else you get while visiting our site. We also accumulate different web hosting coupons and deals for various companies and brands. You can use these coupons to save a great amount on your purchase.
Simple bash timeout for operation
Tags: bash, devops
Published: 2021-02-09 15:46:30

Recently I was writing bunch of automation scripts that were waiting for some file on a disk to appear. 

I was in need of some kind of timeout `if` operation that would wait for few minutes for that file, and fail if that file will not appear. 

As I like to do I set up to search something like on internet, unsuccessfully. So I wrote it myself. 

```bash
TIMEOUT_MINUTES=10
WAIT_SECONDS=5
START=1
END=$((($TIMEOUT_MINUTES * 60) / $WAIT_SECONDS))

for i in $(seq $START $END); do
    if [  ! -f "/deploy/transfer_ok" ]
    then
        sleep $WAIT_SECONDS
    else
        break
    fi
done

if [  ! -f "/deploy/transfer_ok" ]
then
    echo "File transfer_ok not found."
    exit 1
fi

echo "Complete."
```

Let's go over it to explain.

First few lines are basically our settings. 
We want to wait up to 20 minutes, check each 5 seconds. 
`START` and `END` will calculate how many tries we will do. 

The `for` cycle will go over a sequence created from `START` and `END`. Every step will check if the file is not present on disk. If no it will sleep for the `WAIT_SECONDS` seconds. If so it will break the cycle. 

After we are out of the loop, we will check one more time. If the file is still not present we will exit the script with error code. 

---
If you want to see more like this you can follow me on [Twitter](https://twitter.com/pavel_polivka).
Kenapa saya masuk jurusan RPL?
Published: 2021-02-09 15:45:31

saya disini akan bercerita tentang hidup saya khususnya hoby saya yaitu menjadi web developer, kenapa saya bisa menjadi web developer, yu simak cerita saya :).

Awal cerita kelas 7 smp saya itu sering banget bermain game di warnet dan saya sering bermain game bersama teman saya, saya menjadi anak warnet itu sejak kelas 7 smp sampai kelas 9 smp. Semenjak saya bermain game terus saya berfikir "Game terbuat dari apa ya, terus siapa yang buat ya", rasa penasaran saya yang buat saya tertantang dengan diri saya, saya search di google bagaimana cara membuat game itu, dan ternyata dibalik game itu ada yang namanya bahasa pemogramman dari itu saya mulai berfikir "hmm gimana kalau saya juga belajar bahasa pemogramman juga ya", suatu hari saya menanyakan teman saya tentang ini, dan teman saya itu sudah handal duluan saya sering menanyakan tentang bahasa pemogramman dengan dia. Sampai lulus smp saya masuk ke SMK jurusan RPL (Rekayasa Perangkat Lunak) menurut saya RPL adalah hoby saya bukan pelajaran sekolah, jadi saya sekolah itu dengan senang hati tidak ada beban karna saya anggap sebagai hobi bukan pelajaran, dari jurusan RPL saya mulai berkembang bagaimana membuat website,dan sampai waktu itu pernah ditawari project dengan orang lain, allhamdulilah dapat rezeki dari RPL dan sekarang saya menjadi web developer khususnya pembuat aplikasi dan webiste.

Jangan pernah anggap hobi anda itu remeh karena bisa jadi hobi anda adalah teman hidup anda.

See you soon!
Full-Screen Bottom Sheet With Social Share Button In Angular Material
Tags: angular, material, webdev, programming
Published: 2021-02-09 15:44:39

Full-Screen Bottom Sheet With Social Share Button In Angular Material

Social share is the most important part for sites to get visitors. So here we made In Angular Material Full-Screen Bottom Sheet With Social Share Button/icons.

To make this more attractive we modify the bottom sheet class and we use font awesome icons to show which brand or which social icons it is. Also, we use flex CSS proprieties with justify-content to make this button proper center aligns. This is a fully responsive element for mobile and tablet views.

Make it yours now by using it, downloading it and please share it. we will design more elements for you.

[Source code](https://w3hubs.com/full-screen-bottom-sheet-with-social-share-button-in-angular-material/)
MMT Tech Meetup January 2021 - Mental Health & Wellbeing
Tags: mentalhealth, wellbeing, meetup
Published: 2021-02-09 15:44:02

---
title: MMT Tech Meetup January 2021 - Mental Health & Wellbeing
published: true
description: This meetup covers Mental Health & Wellbeing
tags: mentalhealth, wellbeing, meetup
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/thr4e5qpamso7vsp1e6g.png
---

## MMT Tech Meetup - January 2021 featuring Mental Health & Wellbeing

Mental Health & Wellbeing are important aspects of our lives and can cause strains on us. It's important to understand that you are not alone and if you can talk about it, it will help. 

"We all have mental health. But not all of us live with good mental health" - Mental Health Foundation

Meetup agenda:
- Experiences from launching a site before Christmas (Ilesh Mistry)
- Wellbeing at work (Charlotte Murdin)
- Mental Health hygiene for practitioners (Beata Bikowska)

This is the recording from the tech meetup https://www.youtube.com/watch?v=M9-3eLXLBKM
[![MMT Tech Meetup - February 2021 - Featuring Mental Health & Wellbeing](https://dev-to-uploads.s3.amazonaws.com/i/thr4e5qpamso7vsp1e6g.png)](https://www.youtube.com/watch?v=M9-3eLXLBKM)

This is the recording from the MMT Tech Meet-up where we have the following content in this video:
00:00:00​ - Welcome to the MMT Tech Meetups by Ilesh Mistry
00:03:10​ - Experiences from launching a site before Christmas by Ilesh Mistry
00:29:11​ - Wellbeing at work by Charlotte Murdin
00:54:22​ - Mental Health hygiene for practitioners by Beata Bikowska
01:33:58​ - End

Useful links
- https://www.newstatesman.com/politics/health/2021/01/it-s-not-just-you-why-current-lockdown-having-extreme-effect-mental-health
- https://www.mentalhealth.org.uk/

Slides
- Launching a website before Christmas (https://www.slideshare.net/IleshMistry/launching-a-website-before-xmas)
React-toastify v7 is live
Tags: react, webdev, javascript, opensource
Published: 2021-02-09 15:38:31

---
title: React-toastify v7 is live
published: true
description: React-toastify v7 is live and better than ever
tags: #react #webdev #javascript #opensource
//cover_image: https://direct_url_to_image.jpg
---

The v7 react-toastify has been released. Besides the bug fixes, this version brings really nice improvement.

- CSS animation just works! Changing the animation should be as easy as a copy/paste. 
{% codesandbox react-toastify-animatecss-jxrx9 %}
 
- Provide a way to load the CSS without a CSS loader. 
{% codesandbox react-toastify-inject-style-qfg0l %}

- Specify swipe direction.
{% codesandbox react-toastify-drag-y-lh88i %}

- Last but not least, the bundle size has been reduced from ~7k to ~5k 🎉  

Repository: https://github.com/fkhadra/react-toastify
Documentation: https://fkhadra.github.io/react-toastify/introduction/

Enjoy !
VS Code Extension
Tags: vscode
Published: 2021-02-09 15:37:33

## Tabnine Autocomplete AI
![Tabnine Autocomplete AI](https://miro.medium.com/max/700/1*SDDNM_qQOIyLvJlpNkzpFA.jpeg)

Tabnine is a powerful Artificial Intelligence assistant designed to help you code faster, reduce mistakes, and discover best coding practices — without ever leaving the comfort of VSCode.​
Tabnine studies publicly shared code and use A.I deep learning algorithms that provide us with the ability to predict your next coding needs and suggest one-click code completion.​
Tabnine works with all major programming languages including JavaScript, Python, TypeScript, PHP, C/C++, HTML/CSS, Go, Java, Ruby, C#, Rust, SQL, Bash, Kotlin, Julia, Lua, OCaml, Perl, Haskell, and React.​

## Live Server

![Live Server](https://miro.medium.com/max/700/1*ODiIXTQTsMG5JYmsFah9FA.jpeg)

Launch a development local Server with live reload feature for static & dynamic pages

## Path Intellisense
![Path Intellisense](https://miro.medium.com/max/700/1*nKfBuhPJS8slfRxXpJ7I0g.jpeg)
Visual Studio Code plugin that autocompletes filenames.

## GitLens — Git supercharged
![Path Intellisense](https://miro.medium.com/max/700/1*gmWu_6iH-Y6oDgL71ltL-g.jpeg)
 

GitLens simply helps you better understand code. Quickly glimpse into whom, why, and when a line or code block was changed. Jump back through history to gain further insights as to how and why the code evolved. Effortlessly explore the history and evolution of a codebase.

## Git History
![Path Intellisense](https://miro.medium.com/max/700/1*A2le3fNAaJF8RqvHr9ezzg.jpeg)
This will help you to view line by commit history and previous copy of the file

## Git Graph

![image](https://dev-to-uploads.s3.amazonaws.com/i/8w5qvl7cu6g56wtuu29g.png)
 
  
View a Git Graph of your repository, and easily perform Git actions from the graph. Configurable to look the way you want!

## Auto Close Tag
![image](https://dev-to-uploads.s3.amazonaws.com/i/l9ld18jhktltq7k4fc7n.png)
 
Automatically add HTML/XML close tag, same as Visual Studio IDE or Sublime Text does.

## Auto Rename Tag
![image](https://dev-to-uploads.s3.amazonaws.com/i/y6vmpluf8la8hqthtw6h.png)
 
Automatically rename paired HTML/XML tag, same as Visual Studio IDE does.

## Bracket Pair Colorizer 2
![image](https://dev-to-uploads.s3.amazonaws.com/i/vmqy96bqkbyr9ph1i7ui.png)
 
This extension allows matching brackets to be identified with colors. The user can define which tokens to match, and which colors to use.

## Prettier — Code formatter
![image](https://dev-to-uploads.s3.amazonaws.com/i/bb1xfxjtuu81vryfehg2.png)
 
Prettier is an opinionated code formatter. It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary.
Adding Stripe Checkout and Customer Portal to your Laravel application
Tags: laravel, stripe, cashier, checkout
Published: 2021-02-09 15:32:58

---
title: Adding Stripe Checkout and Customer Portal to your Laravel application
published: true
description: Setup Stripe Checkout and Customer Portal using Laravel Cashier
tags: laravel,stripe,cashier,checkout
cover_image: https://owenconti.com/images/adding-stripe-checkout-and-customer-portal-to-your-laravel-application.png
canonical_url: https://owenconti.com/posts/adding-stripe-checkout-and-customer-portal-to-your-laravel-application/
---

With the latest version of Laravel Cashier, you can very quickly connect your application to Stripe using Stripe's Checkout feature and Customer Portal feature.

This allows you to get a new application up and running with payments and subscriptions in very little time.

Read the [full post on my website](https://owenconti.com/posts/adding-stripe-checkout-and-customer-portal-to-your-laravel-application/) or check out the YouTube video below!

{% youtube RRCHnpqdsAs %}
Introducing DBJson Document Database.
Tags: json, database, python, nosql
Published: 2021-02-09 15:30:57

Hello guys today I am here to introduce my 🐶pet project DBJson. It is a Document Oriented Database.

This is a simple data base which stores its data in the form of `collections` and `records` format in `JSON` files!

Structure of data: 

![](https://i.imgur.com/yzaK90f.jpg)

DON'T WORRY IT IS AUTOGENERATED.

This was made by me as sometimes I don't like to setup ORM or Databases for small projects that are never going to production ever.

So I though why not make a make a database for such thing only. I decided to make a `NoSQL` database as it can store any data without setting up tables as we need to do it with RDBMS.

At its current you can download/view it on [Github](https://github.com/KetanIP/dbjson) also check out [DBJson's docs here](https://ketanip.github.io/dbjson/).

At its current stage it can do the following things:

1. Creating records
2. Reading records
3. Updating records
4. Deleting records
5. Filter records

### What are its inspiration ?

It has got its inspirations from [tinyDB](https://github.com/msiemens/tinydb) ( for its simplicity ) and [Firestore](https://firebase.google.com/docs/firestore)( NOSQL database offered by firebase for its document style datamodelling ).

## Getting Stated
Getting stated with it is damn easy,

```python
from dbjson.main import DB

# Instatilizing DB class
db = DB()

# Test Data
data = {
  "id": 1,
  "first_name": "Vivyan",
  "last_name": "Treherne",
  "email": "vtreherne0@jigsy.com",
  "ip_address": "94.254.247.240"
}
collection = "users"

# Adding Record
data = db.createRecord(collection, data)
print(data)
# Response -> {'__id__': 'f00ae4e3ca8c3e318a68acc460e5f401', '__data__': {'id': 1, 'first_name': 'Vivyan', 'last_name': 'Treherne', 'email': 'vtreherne0@jigsy.com', 'ip_address': '94.254.247.240'}}

# Updating Record
record_key = "f00ae4e3ca8c3e318a68acc460e5f401"
to_update = [
    {"email": "jhon@email.com"},
    {"ip_address": "google.com"}
]
data = db.updateRecord(collection, "f00ae4e3ca8c3e318a68acc460e5f401", to_update)
print(data)
# Response -> {'id': 1, 'first_name': 'Vivyan', 'last_name': 'Treherne', 'email': 'jhon@email.com', 'ip_address': 'google.com'}

# Deleting Record
db.removeRecord(collection, record_key)
```

That's all you need to generate use your db. This is still in its very early stage of development so it may be unstable and may be subjected to change, so if you want to follow it updates you can follow it on GitHub or you can follow me here on dev.to.

You can explore all its features at [https://ketanip.github.io/dbjson/main.html](https://ketanip.github.io/dbjson/main.html).

Hope you guys like it. You can contribute it too at [https://github.com/ketanip/dbjson/](https://github.com/ketanip/dbjson/).
MAGENTO TO SHOPIFY MIGRATION
Published: 2021-02-09 15:26:26

Migration from Magento to Shopify looks like migrating the entire house from one location to another. Sometimes, it is a very desired and even necessary thing. Though, moving the entire house is a huge deal because it needs thorough preparation and large commitment from all members of the migration process. If you need to migrate your eCommerce project from Magento to Shopify, the best move to decide on is to contract professionals. Of course, you can do everything yourself but contracting SoftLoft for the deal is going to save you tons of time.

WHY MIGRATE TO SHOPIFY
Anyway, whether you decide to do a migration yourself or you want to contact professional help, you will want to know a few things. First, migration to Shopify is going to be a nice move if you are running an online store. Shopify was initially developed to help entrepreneurs to build and manage their online stores. So, ideally, the process of migration and consequent business processes are going to be simple.

However, the benefits of migrating to Shopify are multiple. First, after investing in migration, you are going to get an online store that needs minimal effort and minimal time for support and maintenance. That said, when the online store is running on Shopify, minimal developer support is necessary. Practically, this means lower maintenance costs and therefore comparatively cheaper prices on the market. Eventually, this might become a part of the cost-effective market strategy. Read the article with a complete guide on Magento to Shopify migration https://soft-loft.com/magento-to-shopify-migration/
Ensemble methods in Simple terms
Published: 2021-02-09 15:24:53


One of my friends once spoke to me on how they assembled at a colleagues place in order to pool heads together and try to ace a skills screening test in codility. Their expectations must have been that they would produce more accurate answers together. On a sad note though, they all ended up not passing through for an interview.
While this might not be the exact replica of how ensemble methods work the analogy is the same together with what ensemble learning hopes to achieve which is better accuracy and more stable algorithms(models).
Ensemble methods are largely used with unsupervised learning algorithms when making predictions.
It is a technique that involves combining a diverse range of algorithms in order to come up with a better and more optimized output(better accuracy).
Ensemble methods have not only been known to improve the overall accuracy of the models but have also been very effective for winning competitions in which candidates are required to come up with the most accurate model.
For more visit https://datascienceafrica.medium.com/ensemble-methods-in-simple-terms-6dc1bef49907
List files from directory with PHP
Tags: php
Published: 2021-02-09 15:15:40

In PHP, you can list a directory using the class `RecursiveDirectoryIterator`.

View the follow code:

```php
$dir = __DIR__ . '/folder';

$directory_iterator = new RecursiveDirectoryIterator(
	$dir, 
    FilesystemIterator::SKIP_DOTS
);

$iterator = new RecursiveIteratorIterator($directory_iterator);

foreach ($iterator as $file) {
	echo $file, "\n";
}
```

If you need sort the file list, you can convert the directory iterator instance to `array` and use the `ksort` function.

View bellow:

```php

$dir = __DIR__ . '/folder';

$iterator = new RecursiveIteratorIterator(
  new RecursiveDirectoryIterator(
      $dir, 
      FilesystemIterator::SKIP_DOTS
  )
);

$array = iterator_to_array($iterator);

ksort($array);

foreach ($array as $file) {
  echo $file, "\n";
}
```
GIT - Committing Changes
Published: 2021-02-09 15:11:44

Change. Commitment. Two words that are synonymous with this new venture I have taken on in my career. One does not happen without the other. Software engineering is a truly daunting career path but commitment is the vessel to take me through this journey. I knew my first job out of college in logistics was not the career path I truly wanted, so I committed to a change....

Through one week and a few days of the SE course, I feel completely empowered by my decision. As I dive through the Ruby docs I see methods and functions that I can call, making complex problems easier to solve by the day. When running code through a terminal, seeing 10 examples, 0 failures has become one of the most rewarding feelings I have had in a long time. To know that I am not only learning the code but applying in certain use cases shows me that this career, while challenging as anything I have ever done, is manageable with the correct approach. 

What excites me most is seeing what is possible, and what we will be able to create from now until our final project. I mean right now, creating a CLI application seems like it will be the test of a lifetime, let alone a final project. But by the end of this course, I hope to be the better person for it and cannot wait to see what I can create. Committing on a daily basis to this journey is the only way to get the desired change to not only create what I would like to create, but also change my life for the better.


git committing changes ..... done.
[BenchP0rn] AMD Ryzen 5950x + Node.js, discover the real power of Node.js Workers
Published: 2021-02-09 15:06:49

I've just received my new computer based on Ryzen 5950x, it's a real Beast!

One of the first thing I did was to benchmark it with my favorite language, Node.js :)


I've made all the tests below with WRK as the client

for the server part I used Cloudgate which is an open source multi-threaded Node.js application server, more details here: https://github.com/elestio/cloudgate


If you want to run the benchmark on your own hardware:

Install cloudgate:

`wget -O - https://cloudgate.terasp.net/CDN/cloudgate.sh | bash` 

Create a sample project based on a template:

`cloudgate --create /tmp/myproj`

then type 0 to create a project based on "CatchAll" sample

Finally start cloudgate on your new project path:

`cloudgate -r /tmp/myproj`


&nbsp;


***My benchmark results:***



***Single thread test:***

> wrk -t1 -c256 --latency http://127.0.0.1:3000/cloudgate/debug/raw

Running 10s test @ http://127.0.0.1:3000/cloudgate/debug/raw

1 threads and 256 connections

Thread Stats Avg Stdev Max +/- Stdev

Latency 1.03ms 464.75us 4.59ms 53.66%

Req/Sec 123.98k 6.97k 131.51k 74.00%

Requests/sec: 123391.18

Transfer/sec: 6.00MB





***Low concurrency:***

> wrk -t2 -c16 --latency http://127.0.0.1:3000/cloudgate/debug/raw

Running 10s test @ http://127.0.0.1:3000/cloudgate/debug/raw

2 threads and 16 connections

Thread Stats Avg Stdev Max +/- Stdev

Latency 50.77us 28.37us 2.82ms 93.06%

Req/Sec 111.51k 8.43k 123.75k 59.90%

Requests/sec: 221909.26

Transfer/sec: 10.79MB





***High concurrency:***

> wrk -t16 -c1024 --latency http://127.0.0.1:3000/cloudgate/debug/raw

Running 10s test @ http://127.0.0.1:3000/cloudgate/debug/raw

16 threads and 1024 connections

Thread Stats Avg Stdev Max +/- Stdev

Latency 1.61ms 3.37ms 57.94ms 89.52%

Req/Sec 128.50k 24.87k 160.21k 81.75%

Requests/sec: 2038979.20

Transfer/sec: 99.17MB






***High throughput:***

> wrk -t16 -c256 --latency http://127.0.0.1:3000/68kb.jpg

Running 10s test @ http://127.0.0.1:3000/68kb.jpg

16 threads and 256 connections

Thread Stats Avg Stdev Max +/- Stdev

Requests/sec: 307312.06

Transfer/sec: 19.50GB




***Execute Node.js function (simple calculation + string manipulation)***

> wrk -t16 -c256 --latency http://127.0.0.1:3000/tests/simple

Running 10s test @ http://127.0.0.1:3000/tests/simple

16 threads and 256 connections

Thread Stats Avg Stdev Max +/- Stdev

Latency 799.45us 0.98ms 36.20ms 94.11%

Req/Sec 23.18k 3.32k 64.08k 91.03%

3704901 requests in 10.10s, 1.89GB read

Requests/sec: 366835.61

Transfer/sec: 192.06MB