teleren/devto huggingface dataset:
The Story of RemoteInclusive - How we got here
Tags: career, showdev, startup
Published: 2021-12-11 01:09:21



The first and foremost core value of RemoteInclusive is transparency. We genuinely believe that for a company to claim to be inclusive, they must start with hiring first.

{% youtube MPyQj4zco-g %}

I have been quite lucky in my career in tech to be both a hiring manager and an individual contributor. Over the past fifteen years, I have moved from a web developer, software engineer, senior software engineer, lead engineer, and ultimately engineering manager. Over the past few years as an engineering manager, I have had the privilege and honor to manage some very talented software and QA engineers. Unfortunately, due to unforeseen circumstances of the pandemic and managing a SaaS meant for small to medium-sized businesses. The pandemic ended up hitting the SMB segment pretty hard.

The organization decided to do some layoffs at the early stages of the pandemic. Luckily through some transparency of some of the higher-ups in the company, I was lucky enough to see this coming. Before the layoffs, I worked with my team to do resume reviews. I had my team pick out some jobs they could see themselves working at, and we updated their resume/linked-in profile to target those particular positions. Over the next few weeks, we met quite often to discuss interview processes, pay, policies, and how it seems like we are in the Wild West as each company does its own thing.

One of the most prominent topics of discussion for my team was pay. What should they make in their particular location? What companies should they apply to meet their needs for total compensation, benefits, etc.? When meeting quite regularly, we shared stories of how some positions wouldn't even provide a pay range until the individual completed the interview process. As someone who managed a team of nine engineers and QA, I am lucky to have a lot of diverse voices.

My team consisted of women engineers, people of color, and engineers working outside the United States. Every one of their own stories is quite different. Some of my team have children and don't have the time to maintain side projects. Some engineers are incredibly talented but don't want to spend hours completing unpaid take-home projects outside of working hours. In speaking with my team, they shared that they would decline to proceed with the interview if the process did not meet their personal needs.

I'm thrilled to say that every one of my engineers actively seeking positions landed at organizations that genuinely fit them. The problem was how much work it took to get there. However, what would have been excellent for them was having a site like RemoteInclusive. A job site to answer most of their questions without even getting on a phone or providing their current salary first would have saved them quite a bit of time!

If you've made it this far subscribe to my upcoming producthunt launch! https://www.producthunt.com/upcoming/remoteinclusive
Release 0.4 - My progress
Tags: opensource, programming, javascript
Published: 2021-12-11 01:03:28

## Instruction 
Hello everyone, it's me again. I am going to write this blog post to talk about my progress over the week. What issues I found for the open source project I am working on as well as the ideas of how to accomplish this. Let's get started!

## Process
The [first issue](https://github.com/Seneca-ICTOER/IPC144/issues/65) I was working on [IPC144 Course Note](https://github.com/Seneca-ICTOER/IPC144) is about improving the usability of the PDF file generated from the website. All contents are generated inside the PDF, however, we want to get this better since some of the pictures are not showing properly, and also the web-only artifacts are still on the PDF, which we do not want it when we use the "PDF" version. `convert-to-pdf.sh` file would be modified a bit to accomplish this.

The [second issue](https://github.com/Seneca-ICTOER/IPC144/issues/125) I also was working on is about implementing the search bar for client side. Since there are too many concepts in the course notes, so I want to implement this to enable user find the content they want in a short time. I think the search bar is needed for most user interfaces because of its convenience, and users can know the location of what they are look for. Docusaurus has some [search plugins](https://docusaurus.io/community/resources#search) for the documents, so I will use this to figure out how to implement the search bar and what steps are needed.

This blog post is all **for now**. I will go deeper as I implement my plan for the issues. Thank you for your time reading this.
100 días de código: 38, avanzando cada vez mas con The Odin Project.
Tags: spanish, 100daysofcode, webdev, javascript
Published: 2021-12-11 00:51:07

¡Hey hey hey!

Bienvenido a este día 38, hoy estuve bastante inspirado para trabajar realizando las cosas que ya hacia anteriormente como dormir bien, comer sanamente y hacer ejercicio entre sesiones de programación. Hoy ha sido un buen día asi que les recomiendo que intenten hacerlo a ver que tal les va.

Hoy he avanzado hasta la sección Interacciones dinámicas de Interfaz de usuario en The Odin Project. Estoy muy contento con mi avance porque dedique cerca de 8 horas hoy a codificar ya que tenia algo de tiempo libre. Ahora comencemos con la seccion regular...

### Ayer:
- Termine con el proyecto tic tac toe agregando todas las funcionalidades. Puedes verlo [aquí](https://darito97.github.io/tictactoe/).
- Refactorice el código del proyecto de mi Biblioteca con clases en JS, lo puedes visitar por [acá](https://darito97.github.io/Biblioteca/).
- Practique 30 min de Touch Typing.
- Modifique la información de mi pagina personal.
- Aprendí un poco sobre IA's.

### Hoy:
- Practique 30 min de Touch Typing.
- Aprendí los 5 principios de diseño SOLID y a pesar de que todos son importantes comprendí que el principio mas importante para desarrolladores JS es el principio de responsabilidad única.
- Aprendí mas sobre uso de los principios de programación orientada a objetos.
- Configure ESlint en un proyecto y prettier para mejorar la calidad de mi código.
- Aprendí a hacer algunas animaciones y buenas practicas en ello.
- Comencé a crear un modulo de encabezado para probar como crear módulos en JS y usarlos en otros proyectos.

Realmente hice muchas cosas. Así que me siento orgulloso pero también cansado. Por suerte se que se viene el fin de semana y para bien o para mal tendré que hacer cosas diferentes. Aun asi es bueno salir de la monotonía. 

Espero que tengan mucho éxito con sus proyectos!
Adiós mundo!
Import Existing Resources in Terraform | Prisma Cloud Compute
Tags: security, terraform, devops, tutorial
Published: 2021-12-11 00:35:54

In this video I am showing how to use import and output workflow in order to take obtain source code for Terraform resources that are tricky to create "by hand".

As in the previous vide, the focus is on Prisma Cloud Compute provider, however this workflow can be used with other Terraform providers too.

{% youtube kQa1JZOVjoo %}

This method works great, and have been proven to work especially well in situations were resources are easy to initially create in UI, but hard using HCL.

As always, let me know if you have any questions, or feedback in comments!

---

Reference
- Terraform import - https://www.terraform.io/docs/cli/import/index.html
- Terraform show - https://www.terraform.io/docs/cli/commands/show.html
TypeScript: Intro to JavaScript's mature younger brother  
Tags: typescript, programming, beginners, webdev
Published: 2021-12-11 00:18:41

If you are familiar with JavaScript, then you are probably familiar with the surplus of small errors that come while coding it. 
What if I were to tell you there was a way to code and avoid many of these errors? If you are unfamiliar with TypeScript you would most likely think I was lying. 

TypeScript is the older brother of JavaScript, and as its name implies; there are types present within the language. Being the oddball mature younger brother the language is **stricter** than its sibling JavaScript. 

To start a type can be declared as any with the any flag.
```javascript
let anyType: any = 23
```
Unfortunately, this defeats the point of TypeScript as there is no real check.

A _better_ use of TypeScript would be to declare a type like so:
```javascript
let numberType: number = 23
```
This would force a type of number onto our variable and would not allow the variable to be redeclared. While this seems trivial declaring types can be done for every single JavaScript data type.

This would allow for function parameters and return values to be declared. For example:
```javascript
function exponentiate(x: number, y: number) : string {
return Math.pow(x, y).toString();
} 
```
In this instance we declared our parameters both as numbers and our return value as a string.

By having to do this pre-emptively, many mistakes are avoided due to fully thinking our function out and not writing spaghetti code.

The last piece of TypeScript I want to talk about are interfaces.

An interface allows for object class types to be created.
It also prevents objects from having incorrect data being passed in.

```javascript 
interface Person {
first: string;
last: string;
[key: string]: any
}
```
Notice the difference in the syntax compared to an object.
This would force an object with a Person interface to be forced to have a first and last name with string.

Utilizing the interface for an object would look like this:

```javascript
const person: Person = {
first: "Hunt",
last: "Navar",
fast: true
}
```

This allows for first and last names to be forced but the fast parameter is optional!

I hope you learned something about JavaScript's brother. Use your new found powers for good!

Thanks for reading!
Kubernetes is the future of DevOps... or is it?
Tags: kubernetes, devops
Published: 2021-12-27 08:26:20

---
title: Kubernetes is the future of DevOps... or is it?
published: true
date: 2021-12-11 00:00:00 UTC
tags: kubernetes,devops
canonical_url: https://jhall.io/archive/2021/12/11/kubernetes-is-the-future-of-devops...-or-is-it/
---

Today I read an opinion that “Kubernetes is the future of DevOps.”

If you’re a long-time reader, you may be able to guess that I would take issue with such a claim. Let me explain why.

1. DevOps [is not about tooling](https://jhall.io/archive/2021/04/09/devops-is-not-a-set-of-tools/)

2. DevOps is a culture.

So where does that leave Kubernetes?

I love Kubernetes. I think it’s a great tool. And I _do_ think it’s influence will be growing in the future. But it really has nothing at all to do with DevOps.

Kubernetes is to DevOps as canvas is to art. Nobody would claim that “This new canvas technology is the future of art!”

Maybe some new canvas technology will take over the world, and all who paint on canvas will use that new technology. But there are still countless other artists not painting on canvas, or not painting _at all_, for whom that technology is irrelevant. Further, even if that new canvas technology never existed, painters would still paint on canvas.

Likewise, many will do DevOps successfully without Kubernetes. And even if Kubernetes never existed, DevOps would continue to grow and succeed.

* * *
_If you enjoyed this message, [subscribe](https://jhall.io/daily) to <u>The Daily Commit</u> to get future messages to your inbox._
Hi, I’m Drew 👋
Published: 2021-12-10 23:59:17

![Andrew Khoury](https://www.drewkhoury.com/images/drew-smaller-2.png)

Hi, I’m Drew 👋 aka [Andrew Khoury](https://www.drewkhoury.com/drew/), an advocate for [Good Software Delivery](https://www.drewkhoury.com/categories/gsd/), Business Value, Cloud, Automation, DevOps, Containers, and data-driven decisions. I believe that people and culture are critical components for transformational change. I'm a lover of open-source and a self-confessed ServerFault Addict.

With a strong background in IT development and a decade of experience consulting to enterprises, I have a passion for computers and problem-solving has made me a sought-after IT professional and thought-leader. 

My enthusiasm for Networking & Security as well as Automating All The Things™ allows me to offer a unique perspective to problem-solving.

Areas of expertise: DevOps, Cloud (AWS), CICD, Containers, Automation.

You can find out more about my [public appearances](https://www.drewkhoury.com/categories/public/).
Hurray!!! My first DEV Post!!!
Published: 2021-12-10 23:52:38

---
title: Hurray!!! My first DEV Post!!!
published: true
description: 
tags: 
//cover_image: https://direct_url_to_image.jpg
---
#I can't wait to experience fully the beauty of DEV... It has been nice so far...

`Let's Do more!!`
Good Software Delivery — Trust and Verify
Published: 2021-12-10 23:49:30

The concept of GSD is something I’ve implemented for clients in one form or another over the years, and you might have done something similar without knowing it.

I remember one particular collaboration with a small but amazing team. We helped implement a particular flavor of GSD and unlocked value for the business.

![Trust and Verify](https://miro.medium.com/max/1400/1*hN2CBgBbRI5Z-yOdc5ZSWA.jpeg)

In this diagram, we’re showing that the “path to production” can be codified. By making the process transparent and available to developers, we can show them “what good looks like” on day one.

The last thing you want as a developer is to find yet another requirement before you can push to production, so using the “Trust and Verify” model helps development move fast. This pattern also removes any manual surprises when trying to deploy to production, thus getting software in the hands of your users quicker!

The “Trust and Verify” Pipeline Pattern is part of a wider effort of [Transformation through Good Software Delivery](https://www.drewkhoury.com/categories/gsd/).
Better log/analytics for your Vercel projects
Tags: jamstack, vercel, logging, analytics
Published: 2021-12-10 22:56:24

At [Axiom](https://axiom.co) we put together a [Vercel integration](https://vercel.com/integrations/axiom), that enables you to monitor the health and performance of your Vercel deployments by ingesting all your request and function logs.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tjojp9p5j7bowozn0v6z.png)

Use Axiom's Smart Filters to easily filter down to specific Vercel projects or deployments, and use our Quick Queries to get deep insights on how functions are performing with a single-click.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/91p975wlmt0658dzdcu0.png)

Send structured logs directly from your code and query, stream, & analyze them together with Vercel logs. Create dashboards, setup alerts, share queries with team members, and easily integrate Axiom with other services you use.

Check out the integration [here](https://vercel.com/integrations/axiom).
Day 495 : That Thing
Tags: hiphop, code, coding, lifelongdev
Published: 2021-12-10 22:55:53

_liner notes_:
- Professional : Pretty chill day. Had a group hangout out session and then just worked on my blog post for the day.

- Personal : Last night, I worked on my side project. Started taking the vanilla JavaScript and translating it into Svelte to use in the framework I'm using. As I was doing that, I ran into some CORS issues when send requests to the serverless functions so I spent a bunch of time figuring out how the hosting platform handles it. The issue was when the browser makes the "OPTIONS" call before doing my "POST" call and the functions weren't returning the appropriate response. Got that worked out, just needed to check to see the type of call/request being made and respond accordingly. Went back to converting the code and went to sleep.


![Photo of a field in Great Bookham, United Kingdom where a few blades of grass in the foreground are in focus and the rest of the field is blurry ](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7hb948653rrvaexpwy34.jpg)

Going to work on putting together the radio show for tomorrow, then maybe work on converting the code. I can see there will be a bunch of places I can refactor the code, but for now, I want to get that thing working and think about that later.

Have a great night and weekend!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube T6QKqFPRZSA %}
DataBindingUtil.inflate vs View Binding Inflate
Tags: android, beginners, kotlin
Published: 2021-12-10 22:44:24

**You can inflate your fragment views either with data binding or view binding. Which one should be used?**

If you turn on `dataBinding` in your `build.gradle`, it is likely you use the "**data binding layout**". 

> As mentioned in previous article [here](https://vtsen.hashnode.dev/view-binding-vs-data-binding-gotchas), when "**data binding layout**" is used, `viewBinding` is created automatically. Thus, you don't need to explicitly set the `viewBinding true` in the `build.gradle` file.

So you have 2 ways to inflate your fragment views in your `onCreateView()` - data binding method and view binding method.


## 1. Data Binding Method

`FragmenMainBinding` is the view binding class. To inflate fragment view, you need to pass in the `LayoutInflater`, `layoutId`, parent `ViewGroup`, `attachToParent` flag. 
 
```kotlin
val binding: FragmenMainBinding = DataBindingUtil.inflate(
    inflater, R.layout.fragment_main, container, false)
```
Well, that is awesome! Let's look at the second method using View Binding


## 2. View Binding Method
It is even more simple! You just need to pass in one `LayoutInflater` parameter. 

```kotlin
val binding = FragmentMainBinding.inflate(inflater)
```


## Which One is Better?

It is obvious that the second View Binding method is better. It can be used either with `dataBinding true` or `viewBinding true` in your `build.gradle` file.

So why and when `DataBindingUtil.inflate()` is needed then? Well, if you look at the official document [here](https://developer.android.com/reference/android/databinding/DataBindingUtil#inflate), it states that 

> Use this version only if layoutId is unknown in advance. Otherwise, use the generated Binding's inflate method to ensure type-safe inflation.

My next question is in what scenario the `layoutId` is unknown? I don't have the answer because I don't have such use case, do you?


## Summary
`DataBindingUtil.inflate` data binding method is unnecessary in most cases. The view binding inflate method should be used instead.

---

## See Also
- [View Binding vs Data Binding Gotchas](https://vtsen.hashnode.dev/view-binding-vs-data-binding-gotchas)

*Originally published at [https://vtsen.hashnode.dev](https://vtsen.hashnode.dev/databindingutilinflate-vs-view-binding-inflate)*.
Advent.js🎅🏼| #10: La máquina de cambio
Tags: javascript, webdev, adventofcode, spanish
Published: 2021-12-10 22:29:06

## [La máquina de cambio](https://adventjs.dev/challenges/10)
Para mejorar la productividad de la tienda en la que trabajamos, vamos a crear una pequeña máquina que calcula el mínimo número de monedas que debemos usar para dar el cambio de una compra en metálico.

Las monedas para cambio que puedes usar son estas:

```js
coins[0] = 1 céntimo
coins[1] = 2 céntimos
coins[2] = 5 céntimos
coins[3] = 10 céntimos
coins[4] = 20 céntimos
coins[5] = 50 céntimos
```

Tenemos que crear una función que recibe el número de céntimos que hay que devolver al cliente y la función nos da un array con la **combinación de monedas mínimas** que debemos usar para conseguirlo.

```js
getCoins(51) // [1, 0, 0, 0, 0, 1] -> una moneda de 1 céntimo y otra de 50 céntimos
getCoins(3) // [1, 1, 0, 0, 0, 0] -> una moneda de 1 céntimo y otra de 2
getCoins(5) // [0, 0, 1, 0, 0, 0] -> una moneda de 5 céntimos
getCoins(16) // [1, 0, 1, 1, 0, 0] -> una moneda de 1 céntimo, una de 5 y una de 10
getCoins(100) // [0, 0, 0, 0, 0, 2] -> dos monedas de 50 céntimos
```

La dificultad del reto está en saber utilizar correctamente una estructura que te permita conocer las monedas que tienes disponible para crear el array con la devolución, ya que **debes usar siempre el menor número de monedas posible.** ¡Suerte 👩‍💻👨‍💻!.

Posible solución:

{% jsitor https://jsitor.com/embed/BWelrYmrN %}

---
Puedes seguir a @midudev y estar pendiente de los retos de Advent.js 

{% twitter 1466086678507008003 %}
OpenNMS Products Affected by Apache Log4j Vulnerability CVE-2021-44228
Tags: blog, news, security
Published: 2022-01-04 20:57:48

---
title: OpenNMS Products Affected by Apache Log4j Vulnerability CVE-2021-44228
published: true
date: 2021-12-10 22:26:11 UTC
tags: Blog,News,Security
canonical_url: https://www.opennms.com/en/blog/2021-12-10-opennms-products-affected-by-apache-log4j-vulnerability-cve-2021-44228/?utm_source=rss&utm_medium=rss&utm_campaign=opennms-products-affected-by-apache-log4j-vulnerability-cve-2021-44228
---

A serious remote code execution vulnerability (RCE) in Apache Log4j could affect customers running some OpenNMS products. This RCE could allow an attacker to compromise your system by causing OpenNMS to log specially crafted messages into system log files for malicious purposes. Apache Log4j could interpret one of those messages to download, run, or install malicious software.

To mitigate this risk, consult the following list to install the latest OpenNMS software upgrades or work-around.

For more information about the Log4j vulnerability, see the Apache Log4j security notice for CVE-2021-44228 at [https://logging.apache.org/log4j/2.x/security.html](https://logging.apache.org/log4j/2.x/security.html).

#### Version: Meridian 2021.1.7, 2020.1.15, 2019.1.26, or earlier

- **Work-around** :  
Edit or create $OPENNMS\_HOME/etc/log4j2.component.properties file to include the line:  
log4j.formatMsgNoLookups=true and restart Meridian

- **Permanent Fix:**  
Upgrade to Meridian 2021.1.8, 2020.1.15, 2019.1.27, or newer

#### Version: Horizon 29.0.2 or earlier

- **Work-around** :  
Edit or create $OPENNMS\_HOME/etc/log4j2.component.properties file to include the line:  
log4j.formatMsgNoLookups=true and restart Horizon

- **Permanent Fix:**  
Upgrade to Horizon 29.0.3 or newer

#### Version: PoweredBy OpenNMS

- **Work-around** :  
Not available

- **Permanent Fix:**  
Pull from latest GitHub source that has Log4j2 v2.15.0 or newer in pom.xml 

#### Version: Minions derived from Meridian 2021.1.7, 2020.1.15, 2019.1.26, Horizon 29.0.2, or earlier

- **Work-around** :  
For each Minion, edit /opt/minion/etc/config.properties config file to include the line:  
log4j.formatMsgNoLookups=true and restart the Minion

- **Permanent Fix:**  
Upgrade to Minion included with Meridian 2021.1.8, 2020.1.15, 2019.1.27, Horizon 29.0.3, or newer 

#### Version: Minion Appliance – all versions

- **Work-around** :  
Not applicable – Automatic Updates
- **Permanent Fix:**  
Appliance service provides automatic updates 

#### Version: Sentinels derived from Meridian 2021.1.7, 2020.1.15, 2019.1.26, Horizon 29.0.2, or earlier

- **Work-around** :  
For each Sentinel, edit /opt/sentinel/etc/config.properties config file to include the line:  
log4j.formatMsgNoLookups=true and restart Sentinel
- **Permanent Fix:**  
Upgrade to Sentinel included with Meridian 2021.1.8, 2020.1.15, 2019.1.27, Horizon 29.0.3, or newer
Typescript file updates not visible 
Tags: typescript, javascript, angulajs
Published: 2021-12-10 22:23:36

 i am practicing using an existing Cloud application builds on Asp.net MVC , Angularjs v1x and gulp 

The problem I am having , when I am editing my typescript file , it is converting into a js file after rebuilding the application, publishing the typescript, and js file but changes are not visible on the site. 

i am using app.ts including controllers from different function from app.controller.ts file.
My question is what i am missing in the whole process of change and publishing typescript , js files . node, gulp configured in my working machine fine

please help me to resolve the issue 
application running on cloud environment
please find the screenshot 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aiqxiay6wgjtoeqpwzbm.png)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ffukx4k5g8kjzxzmbte.png)