teleren/devto huggingface dataset:
Ser metódico, no caótico
Tags: productivity, spanish
Published: 2022-12-07 16:27:24

Cuando empecé a desarrollar, todo era caos. No lograba organizarme, quería hacer todo y terminaba con poco. Me cansaba más rápido porque me terminaba quemando con pocos resultados. Hoy las cosas son diferentes, y te voy a contar cómo evolucioné para mejor.

Sentarte a planificar un proyecto puede ser **tedioso** para muchos desarrolladores. No conocí a ninguno que no **dudara a la hora de estimar un requerimiento**. Y de hecho trabajé con gente que se ahogaba en vasos de agua. En cosas que eran sencillas, pero se complicaban por sobreponer la tensión al trabajo.

La programación es una **ciencia dura**, lo cual implica la necesidad imperativa de usar la lógica en todo momento. **No uses las emociones**, no funciona. Aunque te deprimas o te vuelvas loco, eso no va a mejorar tu velocidad o la calidad de tu desarrollo. **Se racional, no emocional**.

Yo disfruto de programar desde que tengo uso de razón. Pero tuve momentos donde pensé que no estaba en la senda correcta. Durante el transcurso de un año muy malo, por ejemplo, pensaba que necesitaba cambiar de carrera. Algo que no demandara tanta presión.

Al final el problema terminó siendo otro: **No sabía manejar mis tiempos y mi cliente tampoco**. Al estresarme, empecé a perder el entusiasmo inicial de haber elegido este camino. Cuestionar años de trabajo y hobbies incansables.

No estaba pensando. Estaba siendo emocional, no racional. Así que me paré sobre mi mismo y pensé que era lo mejor. Renuncié a ese cliente y empecé a estudiar las formas de administrar mis tiempos.

Aprendí sobre **metodología ágil**, tableros Kanban y sobre todo a simular tiempos de desarrollo. No solo apliqué esto a mi trabajo, sino a mi propia vida. Me hice una cuenta en Todoist y empecé a enumerar mis tareas del día a día.

Me convertí en **un ser metódico**, y dejé atrás al caótico. Empecé a liderar en grupos de desarrollo, moderando clientes para entregar las cosas a tiempo.

**Ningún desarrollador debería trabajar 10 horas al día**. No es sano y desgasta. Y la realidad es que tenemos un solo cuerpo y una cantidad de años vitales.

Por otro lado, hay que trabajar y llegar a las entregas. ¿Entonces cómo manejo clientes que quieren todo ya, y también logro mantener mis tiempos organizados?

Es muy sencillo: los clientes son personas también. **Y las personas nos adaptamos a los ritmos de trabajo**. Si a tu cliente le entregas todo en la mitad de tiempo que estimaste, no esperes que te de un respiro. Se va a volver más y más exigente porque vos estas subiendo la vara.

Pero si entregas las cosas en los tiempos que estimaste, tu cliente va a entender que si te pide X cosa, la vas hacer en un tiempo específico y no variable. Hay que dialogar, saber decir no y perder el miedo.

Y esto involucra tanto desarrolladores que recién empiezan como los más experimentados.

> Se metódico, no caótico.

Espero que les haya gustado el artículo, y recuerden que la opinión tiene un valor incalculable, así que dejen un comentario y los espero en el siguiente!
Paracetamol.js💊| #191: Explica este código JavaScript
Tags: javascript, webdev, beginners, spanish
Published: 2022-12-07 16:25:50

## **<center>Explica este código JavaScript</center>**
#### <center>**Dificultad:** <mark>Básico</mark></center>


```js
const x = [[1]]
const y = [3,4]
const z = x.concat(y, 5)
x[0].push(2)
console.log(z)
```

A. `[1, 2, 3, 4, 5]`
B. `[[1, 2] ,3 ,4 ,5]`
C. `Syntaxis Error`
D. `[1, 3, 4, 5]`

Respuesta en el primer comentario.

---

Respuesta:
B. `[[1, 2] ,3 ,4 ,5]`

El método `concat` sirve para fusionar o concatenar arreglos.
Cuando hacemos: `const z = x.concat(y, 5)`, significa que al arreglo `x` vamos a concatenarle el arreglo `y` y adicionalmente el valor `5`.

> _`concat` soporta n argumentos, que representan los valores a fusionar dentro del arreglo.
Más info en la web de [MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat#concatenating_nested_arrays)_

Hay que tener en cuanta que `concat` concatena arreglos de manera superficial, por ese motivo al hacer `x[0].push(2)` estamos agregando un valor a la primera posición del arreglo principal que es otro arreglo.
Data in Motion Live Stream - Transit Hacking
Published: 2022-12-19 16:43:57

---
title: Data in Motion Live Stream - Transit Hacking
published: true
date: 2022-12-07 16:25:00 UTC
tags: 
canonical_url: 
---

<iframe frameborder="0" height="270" src="https://youtube.com/embed/k8Eey16OQMg" width="480"></iframe>

https://youtube.com/embed/k8Eey16OQMg

{% embed https://youtube.com/embed/k8Eey16OQMg %}
No seas un Early Adopter Developer
Tags: opinion, programming, spanish
Published: 2022-12-07 16:24:42

La clave es cómo empezar un artículo que no provoque todo tipo de respuestas negativas. Luego recuerdo que esto es mi diario personal y decidí no pararme a ser “políticamente correcto”. Bien, esto va a doler pero allá vamos.

A vos, programador o aspirante, que me estas leyendo. Deja de mirar las publicidades de cursos de Instagram o Facebook. No te vuelvas loco por aprender React, o te condiciones a seguir con Javascript porque es el lenguaje más usado del mercado.

Primero entendamos una cuestión: El mercado da una visión general, una representación de que se esta usando ahora. Hay decisiones críticas y otras más opcionales sobre continuar explotando una tecnología u otra.

Pero no deja de ser una perspectiva de la situación. Llevemos esto a un par de números concretos: Hoy día hay muchas más propuestas laborales donde se pide Javascript, supongamos un 80%. El otro 20% imaginemos que es para desarrolladores Java.

Vos sos un desarrollador Java, o simplemente querés empezar a trabajar en este lenguaje. Pero te encontrás con la tendencia y te asusta. Pensas que sobre ese 20%, un 15% piden desarolladores Senior y vos recién empezaste. Entonces tus posibilidades se reducen a un 5%.

El número parece nefasto en porcentajes pero, ¿que representa ese 5% en candidatos?. No hay 10 programadores en el mundo, existen miles. Entonces quizá ese 5% representen unos 50.000 desarrolladores. ¿Entendés mi punto?

Las cifras del mercado no representan más que una inclinación general que puede abarcar millones de empleos. Y necesitas mucha mala suerte y un par de vidas adicionales para postularte a 50.000 propuestas y fallar.

Escuchar al mercado y entender las tendencias es un movimiento inteligente, pero no lo conviertan en una necesidad. Sean desarrolladores de la tecnología con la que se sientan a gusto, no con la tendencia.

No se conviertan en Early Adopters. Principalmente porque van a vivir en una ola de cambios constante y no van a tener tiempo de profundizar en nada. Hay que centrarse en una tecnología y especializarse a fondo.

Ninguna tecnología muere realmente. COBOL se sigue usando en los bancos hace más de 50 años y eso no va a cambiar. Python es mas viejo que todos nosotros juntos y no para de reinventarse. Java sigue sacando versiones nuevas y abarca muchos dispositivos, webs y aplicaciones.

Además no sean “Programadores Java”, sean analistas. Tienen que ser capaces de poder tomar cualquier lenguaje de programación y aprenderlo entendiendo los fundamentos aplicados, algoritmos, patrones de diseño y demás.

Si mantienen la mente crítica y no se enamoran de ninguna tecnología, con el tiempo van a poder programar tanto para sus tecnologías como las tendencias.

Si les gusta Javascript por ejemplo, no se metan con React sin entender las bases del lenguaje. No hay que reinventar la rueda pero si abrirla y analizar por qué hay frameworks que nos solucionan ciertas cosas. Cómo se desarrollaron y qué pérdidas y ganancias implicó esta implementación.

Espero que les haya gustado este artículo y dejen un comentario para compartir opiniones!
Building Modern Data Streaming Apps - Pulsar Summit Asia 2022
Tags: apacheflink, apachenifi, apachepulsar
Published: 2022-12-19 16:44:38

---
title: Building Modern Data Streaming Apps - Pulsar Summit Asia 2022
published: true
date: 2022-12-07 16:24:00 UTC
tags: ApacheFlink,apachenifi,apachepulsar
canonical_url: 
---

<iframe frameborder="0" height="270" src="https://youtube.com/embed/VhVs6fuf7W8" width="480"></iframe>

{% embed https://youtube.com/embed/VhVs6fuf7W8 %}

https://youtube.com/embed/VhVs6fuf7W8
Apache Pulsar Development 101 with Python - Pulsar Summit Asia 2022
Published: 2022-12-19 16:45:01

---
title: Apache Pulsar Development 101 with Python - Pulsar Summit Asia 2022
published: true
date: 2022-12-07 16:23:00 UTC
tags: 
canonical_url: 
---

<iframe frameborder="0" height="270" src="https://youtube.com/embed/Z9zAnKBcGKI" width="480"></iframe>

https://youtube.com/embed/Z9zAnKBcGKI

{% embed https://youtube.com/embed/Z9zAnKBcGKI %}
Timothy Spann - Streaming Applications with Apache Pulsar
Published: 2022-12-19 16:45:44

---
title: Timothy Spann - Streaming Applications with Apache Pulsar
published: true
date: 2022-12-07 16:23:00 UTC
tags: 
canonical_url: 
---

<iframe frameborder="0" height="270" src="https://youtube.com/embed/gCroAjk5D_Q" width="480"></iframe>

https://youtube.com/embed/gCroAjk5D_Q

{% embed https://youtube.com/embed/gCroAjk5D_Q %}
How to install mockery in windows?
Published: 2022-12-07 16:22:14

Struggling with installing mockery in windows?
Say no more. Just a single command and there you go.

Step 1: open cmd. (Or Terminal, your choice)
Step 2: Run the following command. 
**`go install github.com/vektra/mockery/v2@latest`**

And that's it. 
This single command would suffice.

Thanks for stopping by btw.

Cheers!!!
Keeping on top of hybrid cloud usage with Pulsar - Pulsar Summit Asia 2022
Tags: apacheflink, apachepulsar
Published: 2022-12-19 16:46:04

---
title: Keeping on top of hybrid cloud usage with Pulsar - Pulsar Summit Asia 2022
published: true
date: 2022-12-07 16:22:00 UTC
tags: ApacheFlink,apachepulsar
canonical_url: 
---

<iframe frameborder="0" height="270" src="https://youtube.com/embed/txidgG7xcYE" width="480"></iframe>

{% embed https://youtube.com/embed/txidgG7xcYE %}

https://youtube.com/embed/txidgG7xcYE
Watch us build a *truly* full-stack app in just 9 minutes w/ Wasp & ChatGPT 🚀 🤯
Tags: ai, webdev, react, javascript
Published: 2022-12-07 16:14:37

{% embed https://youtu.be/HjUpqfEonow %}

---

There’s a lot of hype around ChatGPT at the moment, and for good reason. It’s amazing. But there’s also some very valid criticism: that it’s simply taking the grunt work out of programming by writing boilerplate for us, which we as developers have to maintain! 

![Paul Graham's tweet](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5rgubux630836d05mje5.png)

PG is totally right in his remark above, but what he doesn’t realize is that there are languages out there that attempt to overcome this very problem, and [Wasp](https://wasp-lang.dev) is one of them. 

What makes Wasp unique is that it’s a framework that uses a super simple **language** to help you build your web app: front-end, server, and deployment. But it’s not a complicated language like Java or Python, it’s more similar to SQL or JSON, so the learning curve is really quick (technically, it’s a *Domain Specific Langauge* or *DSL*). 

Check it out for yourself:

```c
/* main.wasp */

app todoApp {
  title: "ToDo App",/* visible in tab */

  auth: {/* full-stack auth out-of-the-box */
    userEntity: User,
    externalAuthEntity: SocialLogin,
    methods: {
      usernameAndPassword: {},
      google: {}
    }
  }
}

route RootRoute { path: "/", to: MainPage }
page MainPage {
	/* import your React code */
  component: import Main from "@client/Main.js"
}
```

With this simple file above, Wasp will continually compile a truly full-stack web app for you, with a React front-end, and an ExpressJS server. You’re free to then build out the important features yourself with React, NodeJS, Prisma, and react-query.

The great part is, you can probably understand the Wasp syntax without even referencing the docs. Which means AI can probably work with it easily as well. So rather than having AI create a ton of boilerplate for us, we thought “can ChatGPT write Wasp?” If it can, all we need is to have it create that one file, and then the power of Wasp will take care of the rest. No more endless boilerplate!

So that’s exactly what we set to find out in the video above. The results? Well let’s just say they speak for themselves.
Show a second record form as a tab in your workspace
Tags: servicenow, uibuilder, workspace
Published: 2022-12-07 15:58:07

This blog post shows you how to create a second record page as a tab in your workspace page. This was done on a Tokyo instance.

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

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

To achieve this we need to do following:

First let's create another tab entry in our main-tab component:
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/f0wssplky5ntznnpdxdw.png)
I called the tab 'User Record'. Then I added a viewport component to that body of my newly created tab.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b2tjor16jtm2r27km9tx.png)

You can then click on the 'Edit content' on the canvas and you will get redirect to the sub-page. We then need to create a new sub-page and remember the route to the sub-page.

We now need to configure an event on page ready, so the viewport gets loaded. This event is on the "parent" page and not on the sub-page.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rbfa1qbtkmqn7jz9jtsv.png)
The viewportElementId is the ID of your viewport component and route is the name of your sub-page from the step above. If we would not configure that event, the viewport would be empty when we open the page.

After that we will add a new data resource to get the information we need for our viewport component. In our case we want to show the user from the caller_id field in the newly created form. It is a very simple look up record data resource: 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/94tdu08yqjdjib9klp1o.png)

As we want to assign the caller sysId to a client state parameter to then use that in our viewport sub-page, I created a little client script to assign the state parameter.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fcvenc7r0z1zudgbtard.png)

Important: don't forget to create a event mapping on your look up record data resource and run the client script on the 'Data Fetch Succeeded' event.

Next we need to create a property on our sub-page configuration where we send the data from our main page to our sub-page. I called my new property 'parentUserId' and assigned my client state parameter.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s1d2psren4odwu9nr7lb.png)

The last step is to add the form component in our subpage and use the preset so we don't need to do the hole configuration. On the preset configuration we can add the table and as Sys Id we do the data banding to our newly created page property via context.props:

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

That is it :) Have fun!
Programación Orientada a Objetos vs Estructurada
Tags: programming, oop, spanish
Published: 2022-12-07 15:54:54

En el pasado hablábamos del paradigma de programación estructurado, hoy hablamos del paradigma orientado a objetos. Por qué hicimos este cambio? Que es lo que realmente significa? Vamos a verlo en detalle en las próximas líneas.

## ¿Qué es un paradigma?
Antes de meternos de lleno entre las diferencias, deberíamos entender qué es un paradigma:

> El concepto de paradigma se utiliza comúnmente como sinónimo de “ejemplo” o para hacer referencia en caso de algo que se toma como “modelo”. En principio se tenía en cuenta en el campo, tema, ámbito, entre dos personalidades u otros…, gramatical (para definir su uso en un cierto contexto) y se valoraba desde la retórica (para hacer mención a una parábola o fábula). A partir de la década de 1960, los alcances de la noción se ampliaron y paradigma comenzó a ser un término común en el vocabulario científico y en expresiones etimológicas cuando se hacía necesario hablar de modelos de conocimiento aceptados por las comunidades científicas.

Entonces entendemos al paradigma de programación como un modelo, una forma de hacer las cosas determinadas a través de una concesión.

## Paradigma de Programación Procedimental o Estructurado
El paradigma estructurado es un tipo de programación imperativa, donde las declaraciones se ponen en procedimientos, que se pueden volver a llamar cuando sea necesario. Ejemplo de un lenguaje que utiliza este paradigma es C.

La programación procedimental tiene procedimientos que podrían ser estructuras de datos, rutinas y subrutinas; no usa objetos como la POO.

## Paradigma de Programación Orientada a Objetos
La programación orientada a objetos es un estilo que trata los datos como objetos con atributos y métodos que pueden aplicarse a estos objetos y también ser heredados por otros objetos. Java y PHP son dos grandes ejemplo de lenguajes que emplean este concepto. Pero son lenguajes multi-paradigma y también utilizan algunos conceptos familiares para la Programación Procedimental.

La POO se centra en clases y objetos. Al representar variables como objetos, se le puede pasar una función (método). Un objeto que pertenece a una clase en particular se puede tratar de forma independiente. La POO puede estar basada en clases, que, en este caso, los objetos se basan en clases predefinidas. La POO basada en prototipos también existe, por lo que no hay necesidad de clases y solo se utilizan objetos.

## Conclusión
Hay muchas más diferencias notables entre las dos, pero las mismas se profundizarán los siguientes artículos.
Stay on top: New Release of ODBC Drivers
Tags: odbc, odbcdriver
Published: 2022-12-07 15:37:49

---
title: Stay on top: New Release of ODBC Drivers
published: true
description: Devart announced updated ODBC drivers for databases and cloud applications.
tags: odbc, odbcdriver
# cover_image: https://direct_url_to_image.jpg
# Use a ratio of 100:42 for best results.
# published_at: 2022-12-07 15:26 +0000
---
Devart, a recognized vendor of world-class data connectivity solutions for various data connection technologies and frameworks, released new versions of [ODBC drivers](https://www.devart.com/odbc/?utm_source=devto&utm_medium=referral&utm_campaign=pr_odbc_07.12.2022). 

**The key features of this update:** support for the latest version of macOS 13 Ventura;  support PostgreSQL 15 in the ODBC driver for PostgreSQL; support MongoDB 6.0 in the ODBC driver for MongoDB; Direct mode is based on version 3.39.2 of the SQLite engine in the ODBC driver for SQLite. 

**The list of other significant improvements:** 
- Improved SSH connection establishment in ODBC database drivers.
- The compatibility with Linked Server in SQL Server 2019 and MSSMS, as well as Microsoft Power BI Desktop, Tableau Prep Builder, and Crystal Reports was improved in ODBC drivers for cloud applications.
- The SCRAM-SHA-256-PLUS authentication mechanism for PostgreSQL.
- PingOne browser-based authentication for Redshift.
- OAuth authorization for Mailchimp.
- GUID fields stored in binary format for SQLite.
- CANDIDATE indexes and NOT function in index expressions for xBase.
- Remote Thread Priority, working with tables protected by a password and table extension in embedded mode for NexusDB.
- Custom Objects for HubSpot.
- Custom Fields and suppress extended requests for Pipedrive.
- Google BigQuery, Microsoft Dynamics 365, and Hubspot support custom ClientId and ClientSecrect.

To learn more about the recent release, visit: 
https://blog.devart.com/new-versions-of-odbc-drivers-released.html

ODBC Drivers are high-performance connectivity solutions with enterprise-level features for accessing the most popular database management systems and cloud services from ODBC-compliant reporting, analytics, BI, and ETL tools on 32-bit and 64-bit Windows, macOS, and Linux.

About Devart 
 
Devart is one of the leading developers of database tools and administration software, ALM solutions, data providers for various database servers, data integration, and backup solutions. The company also implements Web and Mobile development projects. 
For additional information about Devart, visit https://www.devart.com/.
Few essential tools that every web developer should have in their toolkit.
Tags: tools, webdevelopers, namangarg
Published: 2022-12-07 15:49:43

## Introduction
There are a variety of tools available to web developers, and the best ones will vary depending on your needs. However, there are a few essential tools that every web developer should have in their toolkit.

## Tools
1) A good code editor is essential for writing clean, well-organized code. 
➜ Some popular code editors are:
    ◦Sublime Text
    ◦Atom
    ◦Visual Studio Code

2) A web server is necessary for hosting your website or web application. 
➜Some popular web servers are: 
   ◦Apache 
   ◦Nginx

3) A database is needed for storing data for your website or application. 
➜Some popular databases are:
   ◦MySQL
   ◦MongoDB
   ◦PostgreSQL

4) A version control system is helpful for keeping track of changes to your code and for collaborating with other developers. 
➜Some popular version control systems are:
   ◦Git 
   ◦SVN

5) A web development framework can make your life as a developer much easier by providing a structure for your code and various tools and libraries. 
➜Some popular web development frameworks are:
   ◦Laravel
   ◦Ruby on Rails
   ◦Django

## Ending
That's it! 
Thanks for reading. Also, if you like this thread then please consider a follow https://twitter.com/NamanGarg2075
Switch vs Routes in React V5 vs. V6
Tags: javascript, beginners, react
Published: 2022-12-07 15:46:14

Hello today I am going to be talking about using Switch vs. Routes hook in react and the basic setup. to get started first run this command in your terminal to install the react router.
_npm install react-router-dom_
add @5 at the end to install version 5

Switch and Routes is just a special version of the <Link> tag 
Next lets go over what the syntax will look like **this will be version dependent!**

first we will show the version 6
```
import {Routes, Route} from 'react-router-dom'

function App(){
  return (
    <Routes>
      <Route path="/" element={Component/>}/>
    <Routes>
```
now we will show version 5

```
import {Switch, Route} from 'react-router-dom'

function App(){
  return (
    <Switch>
      <Route exact path="/">
        <Component/>
      </Route
    <Switch>
```
side note exact sometimes cause an error so try deleting it if this happens.

sources:
[](https://reactrouter.com/en/main/start/overview)
Vulnerability databases that we can use as part of software supply chain security
Tags: security, devops
Published: 2022-12-07 15:30:00

Vulnerability databases play an important role in software supply chain security. Vulnerability databases contain information about known third-party components/libraries vulnerabilities. By leveraging multiple vulnerability databases, we can identify potential vulnerable third-party components used in software development and also remediate those issues quickly. 

Here is the list of free Vulnerability databases that we can use as part of software supply chain security.

NVD (National Vulnerability Database): https://nvd.nist.gov
GitHub advisory: https://github.com/advisories
Google OSV: https://osv.dev
Snyk Vulnerability Database: https://security.snyk.io
SonaType OSS Index: https://ossindex.sonatype.org

{% embed https://blogs.appsecworld.com %}