teleren/devto huggingface dataset:
Voices from Women in the digital industry Pt. 1
Tags: career, interview, womenintech, motivation
Published: 2021-03-24 15:40:58

*Illustration by [Gloria Shugleva](https://dribbble.com/shots/7045097-Female-leaders/attachments/45347?mode=media)*

*As part of International Women's Day, we at SinnerSchrader created an internal website that was filled with content from our employees. Among other things, we asked various women in leadership positions the same three questions. The answers were so inspiring that we didn't want to withhold them from the rest of the world. We start with Daniela Kirchner (Director Strategy).*

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7qgyhdgqvpp23868tr2y.jpg)

## What does female leadership mean to you?

Daring greatly.

These two words pointed out by Brené Brown are the essence of what Female Leadership means to me:

"Working hard towards a healthier future, taking courage and pride in addressing things that should be changed, deciding based on common sense, accepting the existence of emotions (to mention the infamous word here, but passion for great results comes with emotions), constant attention, integrity, acknowledgement for our fears of failure, showing up anyways and having a backbone."

During my studies and my professional career so far I have always entered an industry or zone dominated by men. My first three leaders were women. And outstanding role models. It just feels great to be surrounded and inspired by strong women. And I met awesome men who feel the same and who are also daring greatly.

## Would you say that being a woman has influenced your way of leading and/or did you have to acquire (or drop) certain qualities to be successful?

My way of leading is influenced by who I am, my beliefs and the experiences I made. Leading means having tangible and intangible interactions in various directions. I adapt the style based upon the person in front of me while staying true to myself. Continuous learning is mandatory to do so. I refuse focusing on "female/male only" qualities. That ends up in copying, tightening boundaries or limiting oneself.

## What would you like to tell young women who aim to take a leadership role in the future?

Trust yourself! Reach out to other women in charge and connect with authentic leaders of any gender who help you to grow.
Where (and how) can a web developer learn more about cyber security?
Tags: discuss, webdev, cybersecurity, security
Published: 2021-03-23 16:34:45

The world is getting scary. 

In the last few years I've been getting increasingly uneasy about the internet. Things like…

- Data Breaches
- Identity Theft
- Scams
- Surveilance capitalism
- Nations destroying other nations' digital infrastructure
- Oppressive regimes tracking dissidents

When these things occur, you can bet it's the most vulnerable people in society who are hardest hit.

Several people close to me have been hacked — one even had her entire savings stolen (she is fine now).

**Where can we learn to protect ourselves, the people around us, and the people who rely on our products?**

…and how can we get really deep into cyber security — with the goal of building tools to help people?
My Azure Notebook: Key Things
Tags: azure, devops
Published: 2021-03-23 17:23:02

**Organisation**— An organization represents a business entity that is using Microsoft cloud offerings. The organization is a container for subscriptions.


**Azure subscription**— A subscription is an agreement with Microsoft to use one or more Microsoft cloud platforms or services

**User Acccount**— User accounts for all of Microsoft’s cloud offerings are stored in an Azure Active Directory (Azure AD) tenant. An Azure AD tenant can be synchronized with your existing Active Directory Domain Services. Multiple subscriptions of an organization can use the same Azure AD tenant.

**Azure AD tenant**— A dedicated and trusted instance of Azure AD that’s automatically created when your organization signs up for a Microsoft cloud service subscription, such as Microsoft Azure, Microsoft Intune, or Microsoft 365. An Azure tenant represents a single organization.

**Resource**— A manageable item that is available through Azure. Virtual machines, storage accounts, web apps, databases, and virtual networks are examples of resources. Resource groups, subscriptions, management groups, and tags are also examples of resources.

**Resource group**— A container that holds related resources for an Azure solution. The resource group includes those resources that you want to manage as a group. You decide which resources belong in a resource group based on what makes the most sense for your organization. See Resource groups.

**Resource provider**— A service that supplies Azure resources. For example, a common resource provider is Microsoft.Compute, which supplies the virtual machine resource. Microsoft.Storage is another common resource provider. See Resource providers and types.

**Azure Stock Keeping Unit(SKU)**— It represents a purchasable Stock Keeping Unit (SKU) under a product. It can be of different type depends on product. Kind of Item for sale !

**Azure compute unit (ACU)**— The Azure Compute Unit (ACU) is used in understanding the relative compute performance between different Azure compute series VMs. Microsoft uses the ACU concept to help you compare computing performance across the different types of compute VM SKUs.

**Azure Service principal**— An Azure service principal is an identity created for use with applications, hosted services, and automated tools to access Azure resources.

**Azure App Registration**- In order to delegate Identity and Access Management functions to Azure AD, an application must be registered with an Azure AD tenant. When you register your application with Azure AD, you are creating an identity configuration for your application that allows it to integrate with Azure AD.
Backstage architecture
Tags: backstage
Published: 2021-03-29 21:57:16

Originally published on [mccricardo.com](https://mccricardo.com/backstage-architecture/).

In [Backstage intro](https://mccricardo.com/backstage-intro/) we talked about what kinds of problems Backstage aims to solve and got our first taste of how to launch and play with it. Although we're now ready to start getting our hands dirty we'll take a moment to understand the pieces that make Backstage the great piece of software that it is. This will give us a better feel for what's under the hood and how everything fits together.

## What it looks like

The setup we did in [Backstage intro](https://mccricardo.com/backstage-intro/) hides some of the complexity so that we could get up-and-running quickly. When deployed with the goal of being used by our target users, Backstage will be composed of:

  - the core UI
  - the UI plugins and their backing services
  - databases

The image below shows an example of a Backstage deployment with a few plugins.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a8s33rzlnzrf2y3hn5vv.png)
<sub>(image source: Backstage official documentation)</sub>

The UI depicted above is a client-side wrapper around a set of plugins. It is responsible for providing some core UI components and libraries for shared activities. 

Plugins can be of three types:
  - standalone - run entirely in the browser
  - service backed - make API requests to a service within the Backstage installation
  - third-party backed - make API requests to a third-party service (through a proxy)

Each plugin will make itself available on the UI on a dedicated URL since they are client-side applications. Plugins are written in TypeScript or JavaScript and live in their own directory in **backstage/plugins**. For more information on how to build and integrate plugins check [Intro to plugins](https://backstage.io/docs/plugins/).

Backstage uses the [Knex](http://knexjs.org/) library which supports a multitude of databases. Despite that, Backstage has been tested to work with SQLite (for testing purposes) and PostgreSQL (for production workloads).

Backstage can also be [containerized](https://backstage.io/docs/getting-started/deployment-docker) as well deployed deployed on [Kubernetes](https://backstage.io/docs/getting-started/deployment-k8s) (you can even use [Helm](https://backstage.io/docs/getting-started/deployment-helm)).

This was a quick overview of how Backstage looks under the hood. Next, we will see some of the pieces that make Backstage (even more) valuable.
C Preprocessor cheatsheet
Tags: cpreprocessor, cheatsheet
Published: 2021-05-10 08:06:08

The C preprocessor is the macro preprocessor for the C, Objective-C, and C++ computer programming languages. The preprocessor provides the ability for the inclusion of header files, macro expansions, conditional compilation, and line control. [C Preprocessor Cheat Sheet](https://cheatsheetmaker.com/c-preprocessor) is quick reference for the C macro preprocessor, which can be used independently of C/C++.



## File and line

```
#define LOG(msg) console.log(__FILE__, __LINE__, msg)
#=> console.log("file.txt", 3, "hey")

```

## Stringification

```
#define STR(name) #name
char * a = STR(object);   #=> char * a = "object";

```

## Token concat

```
#define DST(name) name##_s name##_t
DST(object);   #=> object_s object_t;

```

## Macro

```
#define DEG(x) ((x) * 57.29)

```

## Error

```
#if VERSION == 2.0
  #error Unsupported
  #warning Not really supported
#endif

```

## [\[Reference\] If](/post/c-preprocessor_reference_if)

```
#ifdef DEBUG
  console.log('hi');
#elif defined VERBOSE
  ...
#else
  ...
#endif

```

## Defines

```
#define FOO
#define FOO "hello"

#undef FOO

```

## Includes

```
#include "file"

```

## Compiling

```
$ cpp -P file > outfile

```

## Reference

* https://en.wikipedia.org/wiki/C\_preprocessor
* https://cheatsheetmaker.com
What's the difference between Continuous Delivery and Continuous Deployment?
Tags: cicd, continuousdelivery, continuousdeployment, devops
Published: 2021-04-05 10:59:14

---
title: What's the difference between Continuous Delivery and Continuous Deployment?
published: true
date: 2021-04-02 00:00:00 UTC
tags: cicd, continuousdelivery, continuousdeployment, devops
canonical_url: https://jhall.io/archive/2021/04/02/whats-the-difference-between-continuous-delivery-and-continuous-deployment/
---

Continuous Delivery and Continous Deployment are frequently conflated with each other. This is at least in part because they have the same common abbreviation: CD.

And while thes concepts are technically related, it is important to understand their differences, and be clear about which one we mean when communicating.

In short, **Continuous Delivery** is the practice of continuously and automatically building and delivering a software package whenever a code change is committed. The end result is typically a Docker image, .zip file, or APK package uploaded to a centralized server for access by users or testers.

**Continuous Deployment** goes one step further, and not only builds the software, but also _deploys it_ into _production_.

In a technical sense, the difference between continuous _delivery_ and _deployment_ is conceptually as small as running `dpkg -i` or `brew install`. In human terms, there can be a huge psychological difference between the two.

Which of these is your team using, and why? If you have a moment hit REPLY, and let me know. If you’re doing neither, what is stopping you?
What's your favorite programming channel?
Tags: webdev, youtube, programming, discuss
Published: 2021-04-09 18:41:18

What's your favorite programming YouTube channel?
Mine are Web Dev, Web Dev Simplified, Codingflag, and Online Tutorials.

Also, I am making programming tutorials too! Here is the link to my channel
https://www.youtube.com/channel/UCFzeA3xC-_i4ZT-XwcwsJxQ/featured
Please Subscribe!
Day 342 : RIP DMX
Tags: hiphop, code, coding, lifelongdev
Published: 2021-04-09 21:27:12

_liner notes_:
- Professional : Pretty chill day to start the weekend. Had a meeting with the team and then I worked on a demo to help with a question that we got in the community Slack channel. The original poster said that it helped with what they were ooking for. Cool. Pretty much that was it. The day went by pretty quick.

- Personal : Last night, I worked on the layout for my side project. Worked on tabs and some buttons. Also added some elements into details so that things take up less space. Also got it so that it can be navigable with the keyboard. Came out pretty good.

![View though the trunks of trees in a Ardennes, Belgium forest on a foggy day](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/a8xmwx7hwaz695wpnwxw.jpg)

It's the weekend! This week flew by!!! Working on tracks for the radio show tomorrow. Learned that DMX passed away. Damn. Sucks. Rest in Power DMX. May do some more coding. Really want to watch the new episode of "Falcon and Winter Soldier" and maybe an anime. We'll see how soon I can get the show set up.

Have a great night and weekend!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube sB2_MmtMoIc %}
If you were to uninstall all secondary extensions in your text editor and leave just Three(3) what will they be?
Tags: discuss, codenewbie, dev
Published: 2021-06-19 20:33:51

## Introduction :
A code editor simply put is a playground that aids you write your code in a nice, easy and quicker way.

There are several code editors both free and paid out there. They all share some commonalities. One of which is the ability to install additional helpers (extensions) to facilitate your development. In-built or primary extensions comes pre installed with the editor while secondary extensions are installed by users when need be. 

In the comments, drop your 3 secondary extensions (extensions you find absolutely necessary) as well as the code editors respectively

I'll start:
1. Live server --Vscode
2. Beautify --VScode
3. ES6/ES7 JavaScript Snippets --Vscode
Encrypting cron emails with GPG
Tags: cron, gpg, linux
Published: 2021-04-10 21:12:57

## Introduction

You might have your server setup in such a way that it runs a few tasks with cron so you don’t have to worry about them. Except.. you should. That is if the scheduled tasks send mission critical information over the internet. Now assume you have some kind of security audit software running like say lynis. You sure don’t want that report in the wrong hands since an attacker could really use that information to break into your server way easier than otherwise.


## Assumptions

* You are familiar with GPG
* You have root access to your linux web server
* Your server runs on a recent Ubuntu
* Cron is already configured to send emails

## Encrypting

There are basically two ways of encrypting emails one is GPG and the other S/MIME. We will be using GPG. Further this article assumes you are familiar with GPG.

1. Upload your public key (ending in .asc) to your server /home is a good place.
2. that the key can actually be read by the command we will be using, it has to be slightly modified. To be precise the ASCII amor has to be removed we need the key in binary form. This is archived by the following command. 
```
gpg --dearmor < /home/YOURPUBLICKEY.asc > /home/YOURPUBLICKEY.asc.gpg
```
3. Add this line at the top of your /etc/crontab just after MAILTO=you@example.de. You need to replace the email address and the public key path. 
```
GPG_CMD = "ifne /usr/bin/gpg --batch --armor --trust-model always --no-default-keyring --keyring /home/YOURPUBLICKEY.asc.gpg --recipient you@example.de --encrypt"
```
4. For this command to work we need the program ifne installed. Usually if a command has no output to /dev/stdout or /dev/stderr gpg would encrypt an empty string and you would receive an encrypted email that has no content once decrypted. This would be annoying ifne  prevents this. To install it run. 
```
apt-get install moreutils
```
5. Now in /etc/crontab you can simply pipe the output to gpg and enjoy encrypted emails. 
```
* * * * * root /bin/echo "gpg test" | $GPG_CMD
```

I got the inspiration for this from [this](https://www.zulius.com/how-to/send-encrypted-email-from-shell-scripts-cron/) a site that is unfortunately offline for a few days now (checked April 2021).
49 Days of Ruby: Day 19 - Exceptions
Tags: ruby
Published: 2021-04-15 04:38:12

---
title: 49 Days of Ruby: Day 19 - Exceptions
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 19 of the 49 Days of Ruby! 🎉**

Today we are going to discuss a topic that can strike fear in the hearts of developers everywhere! 😱 We are talking about exceptions. Why are they so scary?

Take a look at this:

```ruby
irb(main):001:0> puts "Hi, #{name}"
Traceback (most recent call last):
        4: from /Users/bengreenberg/.asdf/installs/ruby/2.7.2/bin/irb:23:in `<main>'
        3: from /Users/bengreenberg/.asdf/installs/ruby/2.7.2/bin/irb:23:in `load'
        2: from /Users/bengreenberg/.asdf/installs/ruby/2.7.2/lib/ruby/gems/2.7.0/gems/irb-1.2.6/exe/irb:11:in `<top (required)>'
        1: from (irb):1
NameError (undefined local variable or method `name' for main:Object)
```

We start seeing a lot of things that don't make a lot of sense to us. Items like `Traceback (most recent call last)` and `NameError`. It's no wonder that exceptions are intimidating.

What specifically is an exception?

An exception is a language, in this case, Ruby, telling us that something is not quite right. 

Exceptions are actually trying to be helpful. Let's break down the example above to see what we mean.

## Exceptions in Ruby

In the above example, I tried to output the following interpolated string: `"Hi, #{name}"`. That looks okay, what could be wrong? What does the exception say?

```ruby
NameError (undefined local variable or method `name' for main:Object)
```

If we look closely we see it says that there is an undefined local variable or method called `name`. This is called a `NameError`. What do you think that means?

Perhaps you think it means Ruby is trying to tell us we don't have a variable called `name`? You would be right!

We can view exceptions as guides along our development journey. They can help us return back to the path when we veered off course.

There are many different sub-classes of the main `Exception` class. Each sub-class is communicating a different type of error. The `NameClass` is an example of one of those sub-classes.

The [Ruby docs](https://ruby-doc.org/core-2.7.2/Exception.html) list all the different sub-classes, and you can even click through to read about each one! 

The more you familiarize yourself with exceptions, the more helpful they will be in debugging what went wrong when things inevitably go wrong in your code.

**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).**
Cross-platform building instructions, using GitHub workflows (for webview/webview)
Tags: github, desktop, go, webdev
Published: 2021-04-11 14:45:43

I adapted from [tauri-action](https://github.com/tauri-apps/tauri-action#creating-a-release-and-uploading-the-tauri-bundles), but [for Golang](https://github.com/patarapolw/go-webview-launcher/blob/main/.github/workflows/go.yml).

{% github patarapolw/go-webview-launcher %}

Why GitHub Action? Because xgo not only doesn't always work / outdated (failed with gojieba), but also that `webkit2gtk-4.0` is required in addition to xgo.

I need to do this, because [Neutralino.js](https://github.com/neutralinojs/neutralinojs) documentation is currently broken, and [webview/webview](https://github.com/webview/webview) documentation sucks; and I don't know how to maximize in [Tauri](https://github.com/tauri-apps/tauri).

Otherwise, [the guidance on security from Tauri](https://tauri.studio/en/docs/usage/patterns/about-patterns) is quite understandable.
How to get started with programming
Tags: beginners, programming, webdev
Published: 2021-04-15 12:49:14

_If you found value in this thread you will most likely enjoy my tweets too so make sure you follow me on [Twitter](https://twitter.com/VladPasca5)  for more information about web development and how to improve as a developer. This article was first published on my [Blog](https://vladpasca.hashnode.dev/)_

### 1. Do some research

First you need to know what you want to do and go from there

Search some fields like web development, machine learning, game development

Watch some videos/read articles and see which one you would like to work in

### 2. Choose your first programming language

Now that you know what field you want to get into it's the time to choose your first programming language

If you choose Web Development learn HTML, CSS and JavaScript

If you choose Machine Learning learn Python

### 3. Choose your resources

You need to take your time with this

Do some research and find the best resources for the programming language you want to learn

Then choose video courses, docs, interactive lessons and see which one works the best for you

### 4. Join a community

This is one of the most important steps

But why should you join a community of developers?

-You'll stay more motivated
-You'll help and get help from others
-You'll get more job opportunities

### 5. Use coding platforms like Codewars

After you learned the basics in the programming language you choose it's important to practice that syntax

The best way to do it is by doing coding problems on websites like Codewars

Don't focus on writing "smart" code, just practice

### 6. Start Building projects

Now that you have more experience you should be able to build some small projects

Start with something simple and improve every day

There is no shame if it's bad, as long as you built it on your own it's great

### 7. Contribute to open source

This is the step that will prepare you for jobs

Why?

Because at a job you will code on top of existing projects and this is exactly what you do when contributing to an open-source project

Start with an easy project and go from there

### 8. Keep learning

From here you should already know what path you want to take and what technologies you want to learn next

Keep learning those

Build projects

Contribute to open source 

When you feel confident in your skills go to the next step

### 9. Build a portfolio and apply for jobs

Now it's the time to build a portfolio and showcase all your projects and open source contributions you made

After you built it start applying for jobs

Use LinkedIn, Twitter, or other communities you joined in the past

### The end

_I hope found this useful and if you did please let me know. If you have any question feel free to DM me on  [Twitter](https://twitter.com/VladPasca5) ._
Repeated Capturing Group
Tags: java, regex, code, note
Published: 2020-04-04 00:00:00

---
title: 'Repeated Capturing Group'
date: '2020-04-04'
author: 'Ethan Lee'
tags: 'java, regex, code, note'
published: true
---

Regular expression can be used to check a string or a pattern is repeated in a string. For example, if you want to check if the string 'abc' is repeated for exactly 3 times in a string, you can use the following regex: `(abc)\1{2}`, or it would be like this in Java after adding the escape characters:
```java 
Pattern.compile("(abc)\\1{2}");
```

The `\1` in the regex matches the first capturing group in the regex. If you want it to match the second capturing group, you can use `\2` and so on.
 
It is also possible check if a capturing group is repeated at least `n` times or more than `n` times. For examples,
- to check if `abc` is repeated in a string for at least 5 times, `(abc)\1{4,}`
- to check if `abc` is repeated in a string for less than 5 times, `(abc)\1{0,4}`