teleren/devto huggingface dataset:
Adding Google Auth to Kubernetes Clusters with Red Hat OpenShift and IBM AppID
Tags: googlecloud, kubernetes, security, serverless
Published: 2021-07-15 15:49:24

This document collects some of the links that you'll need in our lab. This is an interactive lab, so we will assume you have some knowledge of Kubernetes.

🎓 What will you learn?

* How do I build an application using Java and Open Liberty?
* What is Red Hat OpenShift and how does it compare to Kubernetes?
* How do I deploy a Red Hat OpenShift/Kubernetes cluster?
* We'll conclude with an interactive lab where you'll be able to add IAM to your own Red Hat OpenShift cluster.

This lab was presented live on Crowdcast. Here is a link to the recording: https://www.crowdcast.io/e/hybrid-cloud

## Table of Contents
* [Create your IBM Cloud Account](#ibmcloud)
* [Grab your Kubernetes/Red Hat OpenShift Cluster](#openshift)
* [Create an AppID Instance](#appid)
* [Resources](#resources)

### Create your IBM Cloud Account<a name="ibmcloud"></a>

First, you'll need an IBM Cloud account so that we can assign your free Red Hat OpenShift cluster to you.

Register here: https://ibm.biz/Bdfvch

Once you've registered, you'll need to activate your account by clicking a link in your email.

### Grab your Kubernetes/Red Hat OpenShift Cluster<a name="openshift"></a>

Visit https://idlab.mybluemix.net and sign up using the email address you used to sign up for your IBM Cloud account. The *key* is *oslab*

Once you've submitted this form, you'll be *invited to join* our advocacy account. You have to **accept the invite** by clicking on the **notifications** icon in your IBM Cloud control panel (it's the bell in the upper right.)

Once you've accepted the invite, you'll be able to see the Red Hat OpenShift cluster we've assigned to you at https://cloud.ibm.com/resources.

### Create an AppID Instance<a name="appid"></a>

Navigate to: https://cloud.ibm.com/catalog/services/app-id and follow the instructions in the lab

Here is Jenna's GitHub containing the application source code: https://github.com/jritten/secure-openshift-w-appid

### Resources<a name="resources"></a>
* [Jenna's Twitter](https://twitter.com/jritten)
* [David's Twitter](https://twitter.com/drnugent)
* [Slides](https://ibm.biz/os-appid-slides)
* [Live recording of this lab](https://www.crowdcast.io/e/hybrid-cloud)
You'd Better use Asynchronous Communication
Tags: asynchronous, communication, devteam, management
Published: 2021-07-15 15:40:05

After years of experience managing dev teams asynchronously, Cate Huston, Engineering Director at DuckDuckGo, joins [Dev Interrupted](https://devinterrupted.com/podcast/asynchronous-communication/) today to discuss why communicating asynchronously makes more sense for distributed dev teams.

#**Listen to the full episode**
{% spotify spotify:episode:5OAgyUXcSFsAwNWJBWgOIx %}

#**Episode Highlights include:**
* How DuckDuckGo utilizes transient and permanent spaces differently
* Completing product feedback sessions [asynchronously](https://linearb.io/blog/asynchronous-development/)
* Helping new remote employees feel a sense of belonging and accomplishment
* The unique relationship between asynchronous managers and developers


#**Join the Dev Interrupted Discord Server**
With over 1200 members, the Dev Interrupted Discord Community is the best place for Engineering Leaders to engage in daily conversation. No sales people allowed. [Join the community >>](https://discord.gg/tpkmwM6c3g)
![Join the Dev Interrupted Discord Community!](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/19j3dzgz4r4kzav3w6z8.png)
What are some things that only someone who has been programming 20-50 years would know?
Tags: programming, webdev, devops
Published: 2021-07-15 15:26:32

- Programming in 1980: "Everything is a pointer to a contiguous buffer of values… because… C."

- Programming in 1990: "Everything is an object, we care about business logic and databases.”

- Programming in 2000: “Code readability and extreme use of design patterns is so much more important than performance. Hardware is cheap. Anyone can code.”

- Programming in 2010: "Of course we are an agile team. We have daily scrums to find out which JavaScript framework our team will try today."

- Programming in 2020: "Everything is a pointer to a contiguous buffer of values… because data-oriented-design and cache-misses…”
Deploying my budget tool to Heroku
Tags: heroku, php
Published: 2021-07-15 13:20:18

---
title: Deploying my budget tool to Heroku
published: true
description: Describes how to deploy a php app to Heroku
tags: heroku,php
series: online budget in javascript
//cover_image: https://direct_url_to_image.jpg
---
I thought I would just make a really quick post about deploying my budget tool to Heroku as a static web application.

Heroku is a hosting platform owned by Salesforce that provides a free hosting tier.

So I have created a free account on Heroku and I have then selected the New app option.

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

Next I create a pipeline called “deploy-production” and set the Deployment method to GitHub.

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

I then connect to GitHub and select the muncey/MyBudgetFrontEnd project.

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o109mhxhaio29qw5je0w.png)
I setup Automatic deploys and kick of a manual deploy

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kdyfm1pxkcteuie8mx88.png)
Because I have not set up a buildpack yet, when I attempt to deploy to Heroku I received a no buildpack error.

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yapupyquvfzcmrxeac3p.png)
So to fix this I went to settings and added a php buildpack

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vhmb1pe8hdsj9190wv7j.png)
I also changed index.html to be index.php without making too many other changes.

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ox1jgaormm1rtij38h97.png)
I was then able to deploy a branch to Heroku

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uo584u2ie3jxli771vsk.png)
And I can access my app at url: https://my-easy-budget.herokuapp.com/index.php

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2z7nhk8kaqjjjs1zggnt.png)
So that is about it, I can now deploy my app up to heroku where anyone can access it. In my next article I am going to show a technique for saving and persisting the data for a user.
How to manage complex configuration of esbuild
Tags: esbuild, javascript
Published: 2021-07-15 15:19:50

When you get to the point in your esbuild journey when you want to start using plugins, you can be surprised that all those are not available from the CLI interface. The only way of using them is from the build script, and therefore you will have to move the whole build configuration there.  [The documentation](https://esbuild.github.io/plugins/) mentions the build script can be either in JS or GO - in this article I'll cover only the JS side.

# The starting point
As an example, I'll move the CLI build command from [create-react-app article in this series](https://how-to.dev/how-to-build-code-generated-by-create-react-app-with-esbuild#build-script):

```json
  "scripts": {
    ....
    "esbuild": "esbuild src/index.js --bundle --outfile=dist/main.js --loader:.html=text --loader:.js=jsx --loader:.svg=dataurl"
  }
```

and replace it by a build script. The example provided by [the documentation](https://esbuild.github.io/getting-started/#build-scripts):
```js
require('esbuild').build({
  entryPoints: ['app.jsx'],
  bundle: true,
  outfile: 'out.js',
}).catch(() => process.exit(1))
```

let us start, but leaves few important things out.

# Working configuration

The build script that builds our code is as follow
```js
#! node

require("esbuild")
  .build({
    entryPoints: ["src/index.js"],
    bundle: true,
    outfile: "dist/main.js",
    loader: {
      ".js": "jsx",
      ".svg": "dataurl",
      ".html": "text",
    },
  })
  .catch(() => process.exit(1));
```

If you save it as `build.js` in the top-level directory, you can run:
```sh
$ chmod +x build.js
```

If you compare how both scripts work, you will see one difference:
```sh
% npm run esbuild

> esbuild-cra@0.1.0 esbuild
> esbuild src/index.js --bundle --outfile=dist/main.js --loader:.html=text --loader:.js=jsx --loader:.svg=dataurl


  dist/main.js   903.0kb
  dist/main.css   1019b 

⚡ Done in 60ms
% ./build.js                            
%  (no output)
```

If you like the default logging level that is set for CLI build, you need to add:
```js
require("esbuild")
  .build({
    logLevel: "info",
    ...
    // rest of the configuration
```

after this change, the `build.js` runs like:
```sh
% ./build.js 

  dist/main.js   903.0kb
  dist/main.css   1019b 

⚡ Done in 62ms
```

# Links
* [my course about esbuild](https://bit.ly/esbuild-course)

# Summary
In this article, we have seen how to move non-trivial esbuild command from CLI parameters to JS script. You can find the complete code - the app & the build script in this [repo+branch](https://github.com/marcin-wosinek/esbuild-cra/tree/build-script)
Что может означть слово "runtime" в .NET
Tags: dotnet
Published: 2021-07-15 15:12:07

Если начать искать его значение, то можно наткнуться на [голлосарий](https://docs.microsoft.com/en-us/dotnet/standard/glossary#runtime)

В общем runtime - это набор чего-то (компонент, библиотек, инструментов), который необходим для работы определенного типа приложения.

Часто под runtime подразумевается механизм выполнения (среда выполнения) .NET приложения, например: CLR, .NET Native или Mono runtime. Этот механизм овечает за управление памятью, загрузку сборок, выполнение, генерацию и компиляцию JIT кода.

Также рантаймом может называться набор компонент, который необходим для работы приложения, например, ASP.NET runtime или .NET runtime (Это две разных среды выполнения, т.к. они опираются на разный набор компонент, в ASP.NET Core runtime входят библиотеки, которые расширяют набор библиотек .NET runtime).

Слово "runtime" может использоваться в определениях, например, Runtime Identifier (RID) - здесь runtime - это ОС и архитектура CPU, на которой запускается .NET приложение, например, linux-64.

Рантаймом тажке называют определенную релизацию .NET. Вариантов Реализаций .NET уже несколько, например: .NET Framework, .NET 5 (.NET Core), UWP, Mono.
RPA in 2021
Published: 2021-07-15 15:03:19

RPA in 2021

[RPA](https://fastpathautomation.com/), a hot topic among the C-suite, has been making rapid progress over many businesses, including Manufacturing, Retail, Telecommunications, BFSI, protection, and Telecommunications. The list doesn't stop there, it just gets started.

While innovation has been rapid in recent years, there has been much debate about automation and related breakthroughs such as Artificial Intelligence. This relationship is intelligent when you consider how automation tools are interwoven with technology. [Robotic Process Automation](https://fastpathautomation.com/), is the future of automation.

According to IDC, the world's largest enterprises will need to invest around $2.3 trillion in Digital Transformation by 2023. All prospects are already open for digital transformation in the world.

Robotic Process Automation is a major advance in business operations. This is a great option if you're constantly stressed about the efficiency of your business operations.

<h2>RPA will be the new ERP</h2>

A large number of workers will embrace automation thanks to the community of global system integrators and audit-based counseling organizations. 

These companies see the potential for rapid development in the automation industry and are ready to sell business systems and provide enable services that help customers receive new rewards.

<h2>Rise of SPA</h2>

Smart Process Automation (SPA) is a form of RPA expansion. RPA's previous generation was designed to automate structured data using a pre-defined set of rules. With the advancements, Machine Learning-SPA bots are now available to replace RPA's If-Then’ rules and statements.

SPA allows RPA bots to benefit from the capabilities of the entire automation circle, including a huge amount of information, machine learning and artificial intelligence.

<h3>Combination of manual and digital efforts</h3>

Software robots can automate most people's work by automating monotonous, predictable and tedious tasks. This can lead to a combination of manual and automated efforts.

RPA's future will be determined by the adoption of new innovations such as Advanced-Data and Analytics Business Process Automation, Artificial Intelligence, Blockchain, Optical Character Recognition, OCR, etc. RPA can be combined with it to provide powerful automation. The future will see increased development in robotic process automation companies.

<h3>More Prominent RPA Vendor Differentiation Insights</h3>

There are more than 150 RPA-branded products available to companies today. They all differ in terms of profitability claims, design quality and approach. To understand these technical nuances, it is crucial to have a better understanding. In 2021, a clearer picture of RPA products will be available.
 
These products fall into two categories: those that provide quick strategic benefits across desktop environments and those which enable strategic transformation across large enterprises.
El mejor curso gratuito de Node y Express de 2021
Tags: node, backend, javascript, spanish
Published: 2021-07-15 14:52:31

Hace poco decidí aprender **Node** y **Express** de manera autodidacta, honestamente el material en español que encuentras en internet no es tan bueno, por ello busqué cursos en inglés y encontré esta mina de oro.
Son 2 cursos, el primero de más de **8 horas** explica desde las bases de Node, hasta una pequeña API de prueba con Express.js.

El segundo , de poco más de **3 horas**, es la continuación del primero donde se aplican los conceptos aprendidos haciendo una pequeña pero funcional app de tareas.

La verdad los recomiendo mucho, la calidad del maestro es genial, se comprende muy bien todo.

Y si te lo preguntabas, no se hablar ingles, pero con los subtítulos de la plataforma se llega a entender prácticamente todo.

Te dejo ambos recursos por si deseas darle una vista.

{% youtube TNV0_7QRDwY %}

{% youtube jIsj0upCBAM %}
Awesome GitHub Repositories to Learn CSS
Tags: css, github, webdev
Published: 2021-07-15 14:35:25

Hello, everyone! As a developer, whether a novice, intermediate, or senior, we all struggle to grasp or address CSS-related issues at some time during development. 

Well, I suppose that's typical, however, I did some research into how we may learn or resolve CSS-related issues.

In this post, I'll reveal to you some fantastic CSS repositories where we can find CSS principles, resources, and courses, among other things.

## 1. [Awesome CSS Learning](https://github.com/micromata/awesome-css-learning)

A fantastic collection of the top CSS learning resources.

This list focuses on CSS, both as a language and as a set of modules. It's not about naming conventions, architecture paradigms, frameworks, pre-processors, post-processors, CSS-in-JS, or any other component of the CSS ecosystem today.

{% github https://github.com/micromata/awesome-css-learning %}

## 2. [Learn CSS Today](https://github.com/WebDevSimplified/Learn-CSS-Today)

A place where you may find excellent collections of CSS projects to learn from.

{% github https://github.com/WebDevSimplified/Learn-CSS-Today %}

## 3. [CSS Topics](https://github.com/trending/css)

Trending CSS-related topics.

https://github.com/trending/css

## 4. [CSS Secret](https://github.com/luctst/CSS-Secrets)

You'll find some solutions to common CSS issues in this repository.

Starting at the beginning
- You can fork this repo using this if you wish to use it as a memo.

Each section is kept in its own folder.
- There are subfolders in each folder.
- There are README files in each subfolder that describe the problem we're trying to solve.

{% github https://github.com/luctst/CSS-Secrets %}

## 5. [CSS Framework](https://github.com/troxler/awesome-css-frameworks)

A curated list of awesome CSS frameworks.

{% github https://github.com/troxler/awesome-css-frameworks %}


I hope you find these Resources Useful.

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

Feel free to reach out to me on [Twitter](https://twitter.com/olanetsoft)
Swift além do iOS e do macOS - Parte 1
Tags: swift, backend, vapor, linux
Published: 2021-07-15 14:26:41

Eu trabalho com desenvolvimento iOS e não costumo fazer nada no backend, o que é um problema em projetos pessoais. Não quis investir tempo estudando JS e seus frameworks (não tenho nem espaço pro cache do npm) e comecei a procurar uma solução mais prática, foi aí que encontrei o Vapor.

## Instalação
🍎 A instalação do Vapor é feita através do [homebrew](https://brew.sh)

```sh
$ brew install vapor
```
Para ter certeza que a instalação foi feita corretamente:
```sh
$ vapor
```
E essa deve ser a saída:
```sh
Usage: vapor <command>

Vapor Toolbox (Server-side Swift web framework)

Commands:
       build Builds an app in the console.
       clean Cleans temporary files.
      heroku Commands for working with Heroku
         new Generates a new app.
         run Runs an app from the console.
             Equivalent to `swift run --enable-test-discovery Run`.
  supervisor Commands for working with Supervisord
       xcode Opens an app in Xcode.

Use `vapor <command> [--help,-h]` for more information on a command.
Error: Missing command
```

🐧 No Linux é necessário que o Swift 5.2 (ou superior) esteja instalado.
A instalação é feita compilando o toolchain.
```sh
git clone https://github.com/vapor/toolbox.git
cd toolbox
git checkout <versao>
make install
```

## Hello, Vapor.
Criando um novo projeto:
```sh
vapor new first-project -n
cd first-project
``` 
A flag `-n` responde não automaticamente para todas as perguntas feitas depois de clonar o template.

![Captura de Tela 2021-07-15 às 11.13.32](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0ncz20gy8q41qk10z6se.png)

Rodando o primeiro projeto:
🍎 no macOS
```sh 
vapor xcode
```
🐧 no Linux
```sh
swift run
```
Se tudo ocorrer bem, a saída no console deve ser essa:
```
[ INFO ] Server starting on http://127.0.0.1:8080
```
E pra testar, basta abrir o endereço no navegador.

![Captura de Tela 2021-07-15 às 11.23.05](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s1brwxm8u05dlgkfkchp.png)
How an (almost) argument landed me a new friend
Tags: todayilearned, devjournal, watercooler
Published: 2021-07-15 14:04:42

Misunderstandings between people can happen anywhere but it is more prevalent during online interactions than in real life interactions. The primary reason for this is the lack of non-verbal cues that we naturally pick up when interacting with someone in real life. I am writing about an incident that happened today, and hope that others can be inspired by it and have more positive interactions online.

I was going through an article on Indie Hackers and came across a very valid point that was added on by someone in the comments. It resonated with me and I replied to them with the intention of agreeing with him. The comment author mistakenly understood my intent and they got angry because they felt I was insulting them.

The person then went through my almost empty profile and commented on the one other post on Indie Hackers that I had written, and said I was a bad person spreading negativity. He also replied to my original comment in a negative way. I was very sad to say the least, and also felt so bad that someone felt that way about me.

> To clarify, (and I am not bragging) I am someone who loves people and I try to add value to people wherever I am and whatever I do. So these negative responses from that person made me feel super bad.

I took a look at their profile, and realized that it was not a troll account, and that it was just a misunderstanding and I responded with a reply saying that I was sorry for the misunderstanding. I also mentioned that it felt hurtful to me because I was not intending to hurt him or provoke a negative reaction in the first place. Then the person understood the situation.

He apologized in the comments and deleted/reworded his original comments. I also accepted that my reply was ambiguous and could have been interpreted the way he did. I told that I would edit my reply to make it more clear, and he said he would be more careful too.

I put the incident behind me and wanted to be friends with them. We followed each other and I am happy to have made one more internet friend today 💙

> Text as a medium is difficult because you don't have the context of body language as we normally would.

So be careful when writing online to ensure that the correct intent and meaning is coming through. Also, don't lose your cool online 🙂 you might just make a new friend like I did. And be nice to people.
A Python native engine for Web Development
Tags: python, webdev, html, css
Published: 2021-07-15 13:48:33

[Sierra](https://github.com/BrainStormYourWayIn/sierra) is a Python native engine for Web Development, which makes integration with the backend faster, as well as have full control on your frontend. You can now develop your web application purely in Python, taking full advantage of its powerful functionalities with simple and elegant.

It's got features like displaying a table on the web application by loading in a .csv file, adding a bulleted list (ol/ul) by just passing in a Python list, automatic support for CSS styling arguments and more! You can use for loops, variables, functions - you name it, you have it, with Sierra. Improvement in the overall look of the code and intelligent handling of tags with autoPrettify(), a feature like no other. Harness the power of Python for your web applications!

Do check it out and any feedback is welcomed!
Jak przekonwertować wideo MP4 na SCORM
Published: 2021-07-15 13:45:01

Pokażemy, jak przekształcić wideo MP4 na SCORM za pomocą zestawu narzędzi iSpring Suite. Jeśli wciąż go nie masz, możesz teraz bezpłatnie pobrać oprogramowanie do tworzenia kursów.

Czytaj dalej > https://www.ispring.pl/blog/mp4-video-to-scorm