teleren/devto huggingface dataset:
Using gitattributes to make releasing WordPress themes easier
Tags: wordpress, git
Published: 2020-07-24 12:01:10

Zuari releases have been [few and far apart](https://wordpress.org/themes/zuari/#theme-download-stats-zuari) in the last year. While I work on Zuari often, I cut a release only when I know I’ll have time to fix things in case they break for someone. This has meant that I haven’t paid much thought to the release process. Till now, I would create a copy of the directory, go through my list of files to delete, delete them and create an archive to upload to [WordPress.org](http://wordpress.org/). As you can see this process is manual and error prone.

While looking at [David](https://david.shanske.com/)’s [syndication-links](https://github.com/dshanske/syndication-links) repository I saw a <a href="https://git-scm.com/docs/gitattributes"><code>.gitattributes</code></a> file. I had seen it before but never looked into it. Turns out, that among other things, you can use it to define a list of files to ignore when creating a <a href="https://git-scm.com/docs/git-archive#ATTRIBUTES"><code>git archive</code></a>!

So, I setup the following `.gitattributes` file for my WordPress themes:

```
# Git
.gitignore export-ignore
.gitattributes export-ignore

# Styles
.sass-cache export-ignore
*.css.map export-ignore
**/*.scss export-ignore
.stylelintrc.json export-ignore

# Scripts
Gruntfile.js export-ignore
package.json export-ignore
package-lock.json export-ignore
node_modules export-ignore
.storybook export-ignore
.babelrc export-ignore

# Github
README.md export-ignore
.github export-ignore

# Composer
composer.json export-ignore
composer.lock export-ignore
vendor export-ignore
phpcs.xml.dist export-ignore
```

And now, to create the zip file for uploading on WordPress.org I simply run:

```
git archive master -o theme-name.zip
```

No more manual work, no more slips and mistakes.


Releasing a theme (or any other package for that matter) requires quite a few steps. And if you don’t release often it’s easy to forget and miss something. For this reason, the most important thing in Zuari’s otherwise inadequate [README](https://github.com/prtksxna/zuari/#zuari) are the [release steps](https://github.com/prtksxna/zuari/#release). Documentation is as important for our future-selves as it is for others.


<small>Cover photo by <a href="https://unsplash.com/@catvcarvalho?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Catarina Carvalho</a> on <a href="https://unsplash.com/s/photos/archive?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></small>
<small>This post was originally published at <a href="https://prtksxna.com/gitattributes-releasing-wordpress-themes-easier/">prtksxna.com</a>. </small>
How I pwned hundreds of users for less than $25?
Tags: security, devops, docker, kubernetes
Published: 2020-07-24 12:00:50

#Introduction

As long as employees do not consider security as their responsibility and use insanely Easy to Guess Passwords, no matter how much time and money organisations invest in training, right tools, and strict policies, security compromises are inevitable.


{% medium https://medium.com/the-innovation/how-i-pwned-hundreds-of-users-for-less-than-25-24a08322af4a
 %}

A while ago, I was engaged in performing an internal Penetration test for a reputed organisation which heavily relied on Windows infrastructure. The infrastructure was spread across different locations with a design called for every location to have its own domain, complete with numerous domain controllers (DCs), DNS servers, WINS servers, DHCP servers and work stations with so many missing patches.

This blog post explains the different stages involved in a penetration testing and gaining access to a infrastructure

Originally Published at: https://www.cloudsecguy.dev
sequel-activerecord_connection now fully supports Sequel's transaction API
Tags: ruby, rails
Published: 2020-07-24 11:56:27

A while ago I created the [sequel-activerecord_connection](https://github.com/janko/sequel-activerecord_connection) gem, which allows you to use [Sequel](https://github.com/jeremyevans/sequel) alongside ActiveRecord and reuse the same database connection. This makes it easier to try Sequel out or use libraries that depend on Sequel (e.g. [Rodauth](https://github.com/jeremyevans/rodauth/)) in ActiveRecord-based projects.

Originally the transaction support was partially implemented, where the most common Sequel transaction options were emulated with the ActiveRecord API. In the latest version I've [rewritten the transaction code](https://github.com/janko/sequel-activerecord_connection/pull/8) to fully support Sequel's transaction API, including transaction/savepoint hooks.

```ruby
require "sequel"

DB = Sequel.postgres(test: false) # avoid creating a database connection
DB.extension :activerecord_connection # use ActiveRecord's database connection

DB.transaction(isolation: :serializable) do # handles isolation levels
  DB.after_commit { ... } # runs after transaction commits
  DB.transaction(savepoint: true) do # creates a savepoint
    DB.after_rollback { ... } # runs after savepoint rolls back
  end
  DB.in_transaction? #=> true
end
```
Attacking CI/CD Tools The Crown Jewels — Series 2
Tags: devops, aws, security, bash
Published: 2020-07-24 11:54:53

#Introduction

Automating to build projects based on pull requests is something DevOps teams cannot avoid in CI/CD pipelines. When you set up automated builds (also called auto builds), you create a list of branches and tags that you want to build. When you push code to a source code branch for one of those listed image tags, the push uses a webhook to trigger a new build.

In the [previous blog post](https://dev.to/cloudsecguy/attacking-ci-cd-tools-the-crown-jewels-series-1-d5o), we have seen different techniques such as gaining access to build servers, cloud infrastructure, and backdooring build servers. 


{% medium https://medium.com/@vasantkumarchinnipilli/attacking-ci-cd-tools-the-crown-jewels-series-2-fb97aba7bca7 %}


In this blog post, we will see how internal users with no access to build servers harness automated build triggers to their advantage to gain access to the build servers and infrastructure.

Such attacks are evident in companies that open-source their projects and accept contributions from external sources.
What do I build?
Tags: codenewbie, todayilearned, womenintech
Published: 2020-07-24 11:45:25

_What do I build?_

I think this is probably the largest sticking point for me. I look around and developers are producing really adventurous and ingenious ideas and I am left wondering _'well thats done, what can I do?'_. For a long time, I kept thinking that I should not focus on creating things that are _'already done'_ but on _'something new'_. I recently came across a quote that has snapped me out of this self-sabotaging and limiting bubble.

**"It doesn't matter that it has already been done - you just need to do it better."**

Keeping that in mind, I started to explore some ideas. The first place I thought to look was outwards -<center>_'what are the problems in the world that I can fix'_</center>That is a **_big_** question for a first project. So I decided to change tact and look inwards - <center> _'what problem of mine can I fix?'_ </center> I realised that *that* excited me! It enables me to pick a problem that I am passionate about and (_fingers crossed_) will drive me to complete!

### Watch this space!
Test your Laravel project easily with Phone. 📲
Tags: laravel, database, mobile
Published: 2020-07-24 11:44:57

Hi guys, this is a small tutorial for test your local developing Laravel Web Application with your Phone easily.

###1) Wi-Fi Hotspot Phone: 📶

- Open setting on your mobile phone -> activate Wi-Fi Personal Hotspot.
- Connect your PC to the Wi-Fi network of your Mobile Hotspot.

###2) Check your IP adress by terminal: 👨‍💻

- Windows: `ipconfig`
- MacBook: `ifconfig`

Copy the address situated here:

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

###3) Last step: 🖥

- Go to your Laravel application project -> open terminal -> run the following command to turn on the built in server.

`sudo php artisan serve --host 192.168.43.181 --port 80`

- Insert your Password and *well done*, you have id for test your Laravel project on you mobile phone browser!

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


###4)Enjoy! 🤳

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/eg3z6owu52cijbfrglnb.jpg)
Eleventy — Dynamically Inlining Google Fonts
Tags: eleventy, performance, css, fonts
Published: 2020-09-17 09:32:24

---
title: Eleventy — Dynamically Inlining Google Fonts
published: true
date: 2020-07-24 11:33:00 UTC
tags: [eleventy, performance, css, fonts]
canonical_url: https://www.denizaksimsek.com/2020/11ty-inline-google-fonts/
---

When you add Google Fonts to your website by copying the link from the [fonts.google.com](https://www.rarrw.com/blog/2020/11ty-inline-google-fonts/fonts.google.com) website, you create a request chain. That is, after loading the HTML of your page, the browser then needs to request a bit of CSS from Google, and only then can it start loading the fonts themselves.

A simple solution to this is to copy the CSS returned by Google and paste it into a `<style>` element in your page. However, I like to change fonts quite frequently, and I’d like to automate this process. This is easy with Eleventy.

## A JavaScript data file

We simply fetch the CSS at build time.

```
// _data/googleFontsStylesheet.js
const fetch = require('node-fetch')
const url = 'the URL in the Google Fonts stylesheet link href'
module.exports = fetch(url).then(res => res.text())
```

And include it in our base layout.

```
<style type="text/css">{{googleFontsStylesheet|safe}}</style>
```

Enjoy your improved Lighthouse scores!
Attacking CI/CD Tools The Crown Jewels — Series 1
Tags: devops, security, aws, azure
Published: 2020-07-24 11:23:18

CI/CD toolchain which builds and deploys the infrastructure and code into production is as critical as a production-grade system. CI/CD pipelines are at the heart of daily operations for many organisations today, also the place in our technology stack where our infrastructure has access to many different resources, from development and production environment to analytics keys and code signing credentials.

With such wide access comes security considerations making CI/CD tools effectively extend the attack surface of our production system to our build and automated test and deployment environment. We should always keep in mind that the attack vectors are not always external, internal threats always exist.


{% medium https://medium.com/@vasantkumarchinnipilli/attacking-ci-cd-tools-the-crown-jewels-series-1-519ce3619ad6 %}


This blog post is an attempt to explain how malicious insiders, penetration testers, or attackers with limited privileges can target CI/CD tools to penetrate deep inside and gain access to the information infrastructure. The term developer in the blogpost refers to Developers with limited access, Grey box Penetration testers, and hackers who gained access to internal infrastructure.

This blog post is originally published at https://cloudsecguy.dev
How to load many <img> assets in 2020.
Tags: help, webdev
Published: 2020-07-24 11:04:50

Hello dev people ! I want to generate a "movie" based on requested frames (images) from the external service. So the idea is that I would like to create 3 sec "movie" that user could control with scroll event on the page. In other words: when user is scrolling the item is rotating (for example 180 deg) and it works both way. To get this as fluent as I can I need many frames: 3 seconds * 25 frames = 75 images. The question is how can I make this whole process modern, fast and optimized ? What 2020 can offer me ? What i was thinking was to get all the images and display them using `<canvas>`


cheers :)
Django random password Generator(Project)
Tags: django, python, webdev
Published: 2020-07-24 10:51:10

In this project, First, we’re going to create two pages. In which, one page will take input and then other pages will display processed data. In this project, we would deal with only two files e.g: urls.py and views.py. Here, we don’t need to create any database for this project.

So, Without wasting any time, Let’s start our Django beginner project to build the Random Password Generator.

First, Let’s create our project. I’m going to give “pass_gen” name to my Django Project. Because we’re building Password Generator Website. To create a project you’ve to type following command:

django-admin startproject pass_gen

In Django, we can create different apps for different operations inside our main project. So, here we’re going to create our app called “generator” inside our main project . To create an app you have to type following command inside your project folder.

python manage.py startapp generator

open settings.py that you will get inside your main app folder. Here, list you can list your created apps e.g

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'generator',
]

Setting Up Url Paths:
Now let’s setup our url path for both pages. To setup url path you need to get inside your urls.py file of main root folder. Here, you need to edit your code like this:

pass_gen/urls.py:
from django.urls import path
from generator import views

urlpatterns = [
    path('', views.home, name="home"),
    path('password/',views.password, name="password"),
]


Creating Templates:
Now Let’s create our required tempates, so that later on our views function can call them. Here we will create 3 html file.

Home.html: It will be used to display our form to generate password.
password.html: It will be used to display user random generated password
base.html: It will be our base html, which means any html file can inherit this template.
But first, we need to create our folders, inside which we will place our all folders and files related to templates.

First create a folder called “templates” inside your generator folder. Now inside this folder again create a folder called “generator“. Inside this generator folder, we will place our all html file.

Read Full Article: <a href="https://hk2lite.com">(Click Here)</a>
How I added my Spotify statistics to my GitHub readme 📜
Tags: github, showdev, javascript
Published: 2020-07-24 10:50:24

So there was a new GitHub feature spotted in the wild, where you could have a README on your GitHub profile. So I had an idea, why not build a dynamic README using GitHub actions

## GitHub profile README
So what is that GitHub profile README thingy? Its a cool new feature by GitHub which allows you to have a README on your profile. Sounds cool? Surely it is. Time to get creative 😋.

## How did I include the Spotify stats on my README?
#### Part 1: Introduction
The Spotify API allows you to fetch a ton of info, including your liked tracks, your saved albums and your playlists. It requires an OAuth2 authentication for the API
#### Part 2: Getting an OAuth2 token
So to access the Spotify API, you need to have an OAuth2 token. So how do we get one? Well, the answer is really easy. So we will do it in NodeJS, as I am really comfortable with it. So first, we need to install some dependencies. We will use yarn for it, however, npm will work just fine too.
```
yarn add isomorphic-unfetch express dotenv
```
We installed 3 dependencies here, but `express` and `dotenv` are only required to obtain a token. So how do we obtain it? Firstly, we need and OAuth2 `client_id` and `client_secret`. Visit [here](https://developer.spotify.com/documentation/general/guides/authorization-guide/) to learn more.
{% gist https://gist.github.com/gargakshit/c7545e8c002cabe80ebc216d5997b15b %}
So what we did here was used the Spotify API to obtain an `access_token` and a `refresh_token`. Keep both of them safe, as we need them for later use.
#### Part 3: The self updating README
So now create a README.template.md with replacement tags like `I like {sp_liked} songs accross {sp_abl} albums. I have {sp_pl} playlists of awesome music`. Now we need to create an `index.js` file which does all the magic.
{% gist https://gist.github.com/gargakshit/057dc3a56b68c36bafc443e083928c64 %}
Here, we use the `refresh_token`, the `client_id` and the `client_secret` to get a new `access_token` and get our profile information. As a bonus, I also used the [Programming Quotes API](https://programming-quotes-api.herokuapp.com/) to get the quote of the hour.
#### Part 4: Putting it all together
Now we have created the scripts, we need to automate it to update the README every hour. For this, we will use GitHub's actions.
Before that, we need to put out `refresh_token`, the `client_id` and the `client_secret` in out GitHub secrets as we will need them for the action.
{% gist https://gist.github.com/gargakshit/5827e63c4db1daf98906665578d4ef7f %}
Here, we run the action every hour, and boom, the magic happens :P

## Conclusion
The finished README
![The finished README](https://dev-to-uploads.s3.amazonaws.com/i/ngnp5htamtsfz8lrhq62.png)
This was my first dev article, please comment on how can I improve them. Also, don't forget to checkout my [README](https://github.com/gargakshit).
NodeJS recommandations?
Published: 2020-07-24 10:34:36

Hej community!

I've completed  some courses around nodejs on udemy the last days. Yeah, I'm pretty new to Server-Side JS.

I would like to build an simple interface as frontend which can trigger an api that serves the following functions: donwload a website via wget; push that website to an git repo.

Any recommandations on what frameworks i should look at, respectively are easy to start with?

Thanks so far!
BR Bernd
Roles and Responsibilities  of Automation Test Engineers learnt in Automation Testing Course
Tags: automationtraining
Published: 2020-07-24 10:28:41

Roles and Responsibilities  of Automation Test Engineers learnt in Automation Testing Course
Importance of an Automation Test Engineer
Automation Testing Course tells one about the significance of an Automation Test Engineer. They are professionals who work designing, programming, simulation, and testing of new or existing software. Their role is important because testing plays a major role in the development of new software. Furthermore, they work together with s software developers and managers to smoothen and improve the quality of the final market product. It is a major reason why such a role is covered in an Automation Testing Course. 
 
https://www.technobridge.in/selenium-certification-training-course.php
12 Main Roles and Responsibilities of Automation Test Engineers
There are several roles and responsibilities of Automation Test Engineers. Some of the major roles and responsibilities of Automation Test Engineers are taught in Automation Testing Course. They include :
1.	Detecting and choosing the automation test cases
2.	Using various designs and documenting the automation test strategy
3.	Developing an automation test plan and obtaining approval
4.	Configuring Selenium Test Environment (STE) for its set up 
5.	Taking  part in Selenium Environment Setup with an Integrated Development Environment (IDE)
6.	Automating the design of a framework
7.	Executing it as per the structure of the project
8.	Developing , improving, debugging, and running the test cases
9.	Checking and monitoring the defect management process
10.	Handling the changes and performing regression tests
11.	Get exact solutions for problems related to object identity and error handling
12.	Networking with customers/clients to resolve various problems

All in all, these were a few roles and responsibilities of Automation Test Engineers. An Automation Testing Course would elaborate on further responsibilities.
Skills required for an Automation Test Engineer given in a Automation Testing Course 
There are basic pre-requisites for the job profile of an Automation Test Engineer. They should have technical knowledge and hands-on experience. This can be got from a Automation Testing course. Furthermore, they need to be an excellent team player.  Here are some of the other skills: 
•	An excellent business method for the software or the system
•	A clear understanding of the software life development cycle
•	Excellent analytical skills
•	Good decision making skills
•	Precision in their tasks.
•	An attention for minute details
•	Capability to work single-handedly as well as in a team
•	Ability to work under great pressure
•	Fulfilling deadlines
Overall, these were few of the basic skills to be known to a Automation Testing Engineer. Students can gain knowledge about additional responsibilities in an Automation Testing Course.
How Blockchain wallet works?
Tags: blockchain, cryptocurrency, blockchainwallet, python
Published: 2020-07-24 10:19:32

###What is block chain wallet?###

Block chain wallet is a program that allows monitoring and conducting crypto currency between two wallet addresses which can be accessed using private and public key. Both key will be in Hash format. A hash is a string of numbers and letters, produced by hash functions.

Transactions are being recorded on the block chain in crypto wallets. If someone wants to send you crypto currency, it means they are assigning blocks to your block chain wallet.

###How blockchain wallets work?###

Blockchain is an digital database which keeps an unchangeable record of data operations. Group of these operations called “blocks”. Here is general flow of how it works:

1. If someone want to send money using crypto wallet. Transaction is represented as block.
2. The Blocks which is broadcast to every party in network.
3. Those in the network approves the transaction is valid or not.
4. If block is valid, it will be assigned to receiving crypto wallet
5. Received block is permanent and unalterable.
6. Commit the transaction

###Type of Wallet###

1. **Mobile wallet** — A wallet which run from the smartphone application.
2. **Web based wallet** — A Web based wallet is hosted on any VPS or real device. Sometime it is called as hot wallet or web wallet.
3. **Desktop wallet** — A wallet which run from the desktop devices. Safer compared to mobile and web wallet.
4. **Hardware wallet** — Required dedicated hardware to hold crypto currency. USD sticks can be used for this wallet. This kind of wallet require internet to perform transaction and it will be offline after transaction commit successful.
5. **Coin wallet** — Wallet which only work for specific coin.

###Top 10 Crypto Currency###

1. BitCoin
2. BitCoin Cash
3. LiteCoin
4. Dogecoin
5. Ethereum
6. BAT
7. NEO
8. Ripple XRP
9. Steller (XLM)
1o. Cardano (ADN)

###Top 5 Crypto wallet name###

1. Uphold — Mobile & Web based wallet
2. Atomic Wallet — Desktop Client wallet
3. Ledger Nano S Wallet — Hardware based wallet
4. Ledger Nano X Wallet — Hardware based wallet
5. Trezor One Wallet — Hardware based wallet

VIBIDSOFT offering crypto currency wallet development services. Contact Us for more information.
Explain API gateway to me like I’m five
Tags: explainlikeimfive, api, discuss, microservices
Published: 2020-07-24 10:18:48

---
title: Explain API gateway to me like I’m five
published: true
description: 
tags: explainlikeimfive, api, discuss, microservice,
//cover_image: https://direct_url_to_image.jpg
---

Many large applications uses the Microservice architecture, which has an API gateway. How would you explain an API gateway to a newbie to Microservice architecture?
Enterprise Architecting - The Workforce
Tags: ea, enterprisearchitecture, entarch, business
Published: 2020-07-24 10:14:42

One of my favourite ways to visualize the relationship between workforce and enterprise. Very handy, for instances, to visualise how one person can improve own value and express that in a way that's understandable and structured.

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

By Marc Gewertz

 #entarch #ea #work