teleren/devto huggingface dataset:
Why Moving to Linux is My Best Decision in 2021
Tags: linux, ubuntu
Published: 2021-12-10 01:35:35

###Backstory

I was lucky enough to be accepted as an intern at the [first unicorn in my country that goes IPO](https://about.bukalapak.com/en/) for software engineer position, as a large tech e-commerce company that exist for 11 years the technology used behind must be quite mature, and more complex than usual (micro-frontend, micro-services, different virtual private network to access certain repository, private npm library, etc.).

I've been using windows since my first day of college as a computer science student, and I should say that there is a few moment where I'm really stressed spending hours setting up the development environment (PATH, and mostly adjusting incompatible library). But I hit my breaking point a few weeks ago, due to incompatibility with my company codebase that is developed in UNIX operating system (like Mac or Linux), here's the list of my main problem :
- Incompatible or missing packages, for instance [this](https://stackoverflow.com/questions/12917569/cmd-patch-is-not-recognised-as-an-internal-external-command-operable-program/18851897) and [this](https://www.npmjs.com/package/link-module-alias)
- Failed to install dependencies due to [node-gyp error](https://stackoverflow.com/questions/45801457/node-js-python-not-found-exception-due-to-node-sass-and-node-gyp/53009640#53009640)
- Illegal file name in windows, but allowed in UNIX
- A few more

My friend keep suggesting me to implement dual boot, but I'm quite afraid that my machine will break down, or something will go wrong during the installation since I'm using a quite old machine (ASUS x550j from 2016). Hence I'm looking for alternative solutions.

### Trying WSL (Windows Subsystem for Linux)
I still want to play valorant during my work hours #oops. Hence I tried WSL, unfortunately I had a difficult time setting up openvpn in WSL due to certain networking issue. Without vpn I couldn't run the repository that I was working on. After a few cup of coffees, I finally give in to dual boot.

### Using Dual Booth

In the end , I decided to implement dual boot in my machine. I'm following this tutorial from [youtube](https://www.youtube.com/watch?v=-iSAyiicyQY&t=622s) to install Ubuntu along with my windows OS. Now, why Ubuntu ? why not arch-Linux? or other cool distros? Simple, I'm not a hardcore Linux fanboy, and there is this class in my 4th semester that teach terminal with Ubuntu, hence I've previous familiarity.

### What is like after a week using Linux

Here is few things that I noticed:
- My laptop's fan is much calmer (Usually it often make annoying noises, especially when I'm using an IDE)
- I also noticed that when I'm idle, Linux doesn't eat as much RAM as Windows does.
- and the most important is that I haven't face any incompatibility problem so far


### Conclusion

As an engineer, I highly suggest you to move from windows to UNIX based like Linux or Mac as soon as you can. Here ! Have some Linus Trovalds Meme!.
![Linux Trovalds mad at Nvidia](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/usyzcxrtl18yu7497luw.png)
How To Delete First Or Last n Rows In MySQL
Tags: mysql, sql, howto, delete
Published: 2021-12-10 01:28:07

You can use this example database schema for this question or otherwise, you may use your database table for testing.

```
CREATE TABLE `students` (
  `id` int UNSIGNED NOT NULL,
  `stid` varchar(16) NOT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP
);

ALTER TABLE `students` ADD PRIMARY KEY (`id`);
```

## Delete Records Using The Primary Key

This SQL query will delete every record which has a primary key `id` less than or equal to 100.

```
DELETE FROM `students` WHERE `id` <= 100;
```

This SQL query will delete every record which has an `id` greater than 900.

```
DELETE FROM `students` WHERE `id` > 900;
```

The above queries will delete records considering the value of `id` of the table. The problem is, what happens when the `id` of the table was not incremented exactly one by one. Or some of the records have been already removed. Or even the `id` is not numerical. Under that kind of situation, the above-mentioned queries will not work as expected.

## Delete Records Using ORDER BY

This query will sort the entire table by `created_at` column and delete the first 100 records.

```
DELETE FROM `students` ORDER BY `created_at` ASC limit 100
```

We can use `DESC` (descending) instead of `ASC` (ascending) to invert the order of the above query, so it will delete the last 100 records.

```
DELETE FROM `students` ORDER BY `created_at` DESC limit 100
```

Feel free to visit [devtonight.com](https://devtonight.com?utm_source=dev&utm_medium=questions&utm_campaign=how-to-delete-first-or-last-n-rows-in-mysql) for more related content.
Secure your traefik dashboard with HTTPS and Basic Auth
Tags: traefik, https, tls, ssl
Published: 2021-12-10 01:25:57

### Intro
When I created my first droplet at [DigitalOcean](https://www.digitalocean.com/), I needed a service discovery. At that time I had no idea how to deal with it. Eventually I went for [nginx](https://www.nginx.com/). But not knowing the concept, syntax, workaround I was having difficult time. Then I discovered [nginx-proxy](https://github.com/nginx-proxy/nginx-proxy) which made the process a bit easier as there was few app/services on my droplet running in docker. [nginx-proxy](https://github.com/nginx-proxy/nginx-proxy) adjusts the configuration automatically based on environment variable.

But, when I discovered [traefik](https://traefik.io/), everything changed. As it has yaml supported configuration, easy to start-with behavior and fully docker support: it became my favorite service discovery tool.

---

### Dashboard
Traefik provides a nice looking dashboard to manage and observe configuration to routers and services. It's relatively easy to setup TLS with [Let's Encrypt](https://letsencrypt.org/) to a router by configuring traefik. However, it was a bit tricky for me to setup TLS for the dashboard itself.

---

### Add TLS
Here is the configuration for docker-compose labels:
```
labels:
  traefik.enable: true
  traefik.http.routers.traefik_https.rule: Host(`traefik.example.com`)
  traefik.http.routers.traefik_https.entrypoints: websecure
  traefik.http.routers.traefik_https.tls: true
  traefik.http.routers.traefik_https.tls.certResolver: myresolver
  traefik.http.routers.traefik_https.service: api@internal
```

After putting the above labels in your docker-compose for traefik container, just execute `docker-compose up`. As there are changes in the compose file, it will restart the container. As soon as you do this, you will see a new route protected with TLS in your dashboard like below:

![dashboard with new route](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wirm4jde4flrhb4w0cgp.png)

> For me the tricky part was naming the service: `api@internal`

---

### Add basic auth
Of course you don't want to keep this dashboard open. In my case I just added basic auth to keep it protected. So add these labels additionally to your docker-compose file for traefik container.
```
traefik.http.routers.traefik_https.middlewares: basic-auth-global
traefik.http.middlewares.basic-auth-global.basicauth.users: <username>:<encoded-password>
```
> I thought it would read the middleware from traefik configuration which is: `traefik.yml`. But that was not the case. I had to create the middleware on docker-compose file with label.

---

### Disable insecure mode
Finally, you want to disable insecure mode to prevent access with http. To do so make your trafik api configuration in `traefik.yml` like below:
```
api:
  insecure: false
  dashboard: true
```

---

### Conclusion
After doing these works, you will see that your traefik dashboard can't be accessed through http anymore, rather https. And you need to enter username and password for the first time in a browser.
Huge RCE in log4j logging library in JVM ecosystem
Tags: java, jvm, kotlin, scala
Published: 2021-12-10 01:22:54

---
title: Huge RCE in log4j logging library in JVM ecosystem
published: true
description: 
tags: java, jvm, kotlin, scala
---

5 days ago log4j received hot-fix for huge RCE. It's not quite known topic and today it has been expolited in multiple projects.

* https://twitter.com/dzikoysk/status/1469091718867951618

It's really easy to reproduce, you should take a look at dependencies in your projects to address this issue. At least bump it to 2.15, the best choice is to move to e.g. logback, at least for a while.
Update next button'react-native-swiper'
Published: 2021-12-10 00:42:23

```
import React from 'react'
import { StyleSheet, Text, View } from 'react-native'
import {  Icon } from 'react-native-elements'
import Swiper from 'react-native-swiper'
import FormComponent from '../Forms/FormComponent'

const Quiz = () => {
  return (
    <Swiper
      style={styles.wrapper}
      showsButtons={true}
      autoplay={false}
      loop={false}
      buttonWrapperStyle={{ color: 'purple' }}
      nextButton={
        <Icon
        //   style={styles.arrowRight}
          name='arrow-right'
          type='font-awesome'
          raised
          reverse
          size={18}
          
        />
      }
      prevButton={
        <Icon
        //   style={styles.arrowRight}
          name='arrow-left'
          type='font-awesome'
          raised
          reverse
          size={18}
          
        />
      }
      
    
    >
      <View style={styles.slide1}>
        <FormComponent />
      </View>
      <View style={styles.slide2}>
        <Text style={styles.text}>Beautiful</Text>
      </View>
      <View style={styles.slide3}>
        <Text style={styles.text}>And simple</Text>
      </View>
    </Swiper>
  )
}

const styles = StyleSheet.create({
  wrapper: {},
  slide1: {
    flex: 1,
  },
  slide2: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#97CAE5',
  },
  slide3: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#92BB',
  },
  text: {
    color: '#fff',
    fontSize: 30,
    fontWeight: 'bold',
  },
})

export default Quiz
```

The prop nextButton do the trick.
https://github.com/leecade/react-native-swiper#control-buttons
100 días de código: 37, no se como llegue a aquí.
Tags: spanish, 100daysofcode, webdev
Published: 2021-12-10 00:25:17

¡Hey hey hey!

Bienvenidos a este día 37, hoy comencé a reflexionar sobre mi progreso desde el comienzo de este reto y he de admitir que es bastante impresionante lo que puedes lograr cuando le pones algo de disciplina a alguna tarea o proyecto que tienes. 

He dedicado 37 días a programar sin descanso y aunque ha habido días en los que he hecho mas o menos realmente me siento motivado por lo que puedo lograr en mas de un mes. 

Dicho esto les recomiendo pensar en los progresos que han tenido en los últimos meses y como han crecido. Es una tarea que te llenara de motivación para continuar. Recuerda que no importa cual es la tarea porque jamas la terminaras si no la comienzas.

Ahora si sigamos con la sección principal de este blog.

### Ayer:
- Maquete la pagina del proyecto Tic Tac Toe.
- Comencé a darle funcionalidad con ayuda de módulos para el juego en general y funciones fabrica para la creación de los jugadores aunque todavía me falta para terminar el proyecto.
- Practique 30 min de Touch Typing.
- Escribí algo de información que tendré en mi pagina web.

### Hoy:
- 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.

Realmente funciona el practicar ejercicio para despejar la mente entre sesiones de pomodoro. Se los recomiendo si les gusta esta técnica para concentrarse.

Hasta luego mis queridos amigos, éxito en sus proyectos.

¡Adiós mundo!
MicroServices Live #5 🐙 KrakenD API Gateway
Tags: microservices, showdev, kotlin, krakend
Published: 2021-12-10 00:24:22

En esta quinta sesión, junto a @fmachi, crearemos una API Gateway con [KrakenD](https://www.krakend.io/) para publicar en internet endpoints de nuestros microservicios.

Usaremos **krakend-integration** para automatizar los tests de integración y validar nuestra configuración, mockeando los microservicios de esta manera:

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

Y en caso necesario, podremos ejecutar en local una instancia de **krakend** contra los microservicios mockeados:


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

O incluso ejecutar en local una instancia de **krakend** contra los microservicios reales usando containers **kubectl + port-forward**:

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

Consulta este repositorio con la misma configuración que usamos en la sesión pero usando la imagen docker pública [devopsfaith/krakend](https://hub.docker.com/r/devopsfaith/krakend/) 👇
{% github AdevintaSpain/ms-test--krakend-twitch no-readme %}

Como verás en el streaming de la sesión nosotros usamos una imagen docker customizada (mantenida por nuestro equipo de platform 💙) que nos facilita muchísimo la configuración 👇

{% youtube 49LR6sasSBA %}

Síguenos en [twitter](https://twitter.com/AdevintaEng) o [twitch](https://www.twitch.tv/adevintaspaintech) para no perderte ninguna sesión!

[![Ofertas Backend](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/paeodhwfr0ta3p06u6bi.png)](https://careers.adevinta.es/ofertas/?search=backend&stc=aff-blog%20dev.to-microservices%20live%20krakend)
Los estores enrollables con protección solar de Gustavo Novo Disegno

Published: 2021-12-10 00:22:55

¿Cuáles son las ventajas que ofrecen los estores enrollables?
También conocidos como screens o cortinas técnicas enrollables, los estores han resaltado por su versatilidad y practicidad en los diversos espacios donde se colocan.

En principio, se han popularizado por combinar funcionalidad y esteticismo en el diseño de interiores, ya que se adaptan fácilmente a cualquier estancia y diversos tipos de decoración. Además, son fabricados a medida exclusivamente.

Una importante ventaja que ofrece el uso de estores enrollables es la comodidad, esto gracias a que su instalación es sencilla, rápida y solo requiere conocer las medidas de la ventana o puerta donde se colocará.

La privacidad que ofrecen los estores enrollables también es un elemento a destacar. Gracias a su funcionalidad, es posible ver desde el interior hacia afuera, pero no al contrario, lo que es ideal para mantener la intimidad de espacios como habitaciones u oficinas.

Según su tipo, los estores enrollables opacos o traslúcidos son ideales para espacios como salones de vivienda o habitaciones. También disponen de estores enrollables decorativos, así como estores enrollables con la opción de tejidos de protección solar. Todos ellos con garantía de entre 2 y 3 años.

Atención personalizada y marcas de calidad en Gustavo Novo Disegno
Con más de 15 años de experiencia en el sector, Gustavo Novo Disegno se ha caracterizado como una empresa especializada en la confección y distribución de estores enrollables, cortinas verticales y venecianas de maderas de las mejores marcas en el mercado.    

Con la premisa de brindar confección e instalación de calidad, estos especialistas se han diferenciado de la competencia por brindar una atención personalizada en hogares y oficinas de sus clientes.

Marcas como Faincor, Saxun, Panno, Bandalux, Luxaflex y Flexol, son algunas de las que ofrece el estudio de Gustavo Novo Disegno. Además, son expertos en la confección de todo tipo de estores paquete, visillos, caídas, ropa de cama, cojines y retapizados.

En el caso de los estores enrollables, los profesionales cuentan con opciones de screen o polyscreen, opacos, fotográficos, entre otros de grandes dimensiones ajustados a las necesidades y preferencias de sus clientes.

Gustavo Novo Disegno se ha posicionado en la sociedad como una alternativa ideal para quienes buscan estores enrollables de la más alta calidad, acompañado de una atención individualizada, puntualidad y profesionalismo. 

[ver mas...](https://red-financiera.com/)
My Journey to Software Engineering
Tags: beginners, webdev, career
Published: 2021-12-10 00:13:03

Getting into coding and the field of Software Engineering has been a bit of a whirlwind, but one that I am excited to be a part of. Having received a BS in Finance from Grove City College, my prior professional history consisted of finance and sales related positions; with my most recent title being that of a Financial Advisor at an online car dealership. After working in that position for a year and a half, I realized it was too taxing emotionally and mentally to continue long-term, and I didn't see myself moving up with the company to continue my career path. It was time to make a change. I spent some time researching various career paths and industries to get into, and finally landed on Software Engineering being the choice for me. 

After looking extensively at the different options out there, I landed on FlatIron as the school for me. The curriculum is sound and their values as a school seemed to align with mine as well. I am currently finishing up the first phase and so far have been very pleased with the amount I've learned. So far, we've covered bits of:

- HTML
- JavaScript
- CSS (minimally)

One thing I do wish I had done prior to enrolling in FlatIron is engaging in more self-teaching. There are many great resources out there that I have started utilizing to supplement the FlatIron curriculum, these being:

- [Code Academy](https://www.codecademy.com/learn)
- [MDN Docs](https://developer.mozilla.org/en-US/)
- [W3 Schools](https://www.w3schools.com/) 
- [Stack Overflow](https://stackoverflow.com/)

Jumping into coding has been overwhelming at times but very interesting! Phase 1 has been great so far and I am very excited to see where the rest of the program leads me.
Why Deep Neural Networks May Not Take Us Towards Artificial General Intelligence?
Tags: datascience, machinelearning, ai, algorithms
Published: 2021-12-10 00:02:38

Why Deep Neural Networks May Not Take Us Towards Artificial General Intelligence?

Neural networks are sure a significant leap in AI. But that doesn't mean we're close to AGI yet.

Artificial general intelligence (AGI) requires more than just finding optimal solutions. Everything neural networks do at the moment is that; optimizing the cost.

Thinking machines are far away from this approach. Our children learn to think not by optimizing. They learn by creating a mental model of the world and drawing inferences. 

Learn more about the gap between Deep neural networks and AGI.


[Deep Neural Networks Don’t Lead Us Towards AGI](https://www.kdnuggets.com/2021/12/deep-neural-networks-not-toward-agi.html)
La versatilidad de las cortinas verticales de Gustavo Novo Disegno

Published: 2021-12-10 00:01:24

Características de las cortinas verticales de Gustavo Novo Disegno
En Gustavo Novo Disegno ponen a disposición una variedad de cortinas verticales fabricadas a la medida para complacer las peticiones de cada uno de sus clientes. Para ello, cuentan con personal calificado encargado de guiar a los compradores hacia la opción que mejor se adapte a la decoración de sus espacios.

Las cortinas verticales que comercializan en este lugar son de gran calidad, ya que están elaboradas con tejidos técnicos que les permiten mayor funcionalidad, como por ejemplo, el Pescreen, que es antipolvo y brinda optimización de la luz solar y protección contra la misma. Sumado a ello, este tipo de tejido está libre de policloruro de vinilo (PCV), una característica que hace de él un producto ecoamigable.

En Gustavo Novo Disegno, especialistas en interiorismo textil en la decoración de casas y oficinas, disponen de una diversidad de modelos de cortinas verticales de una variedad de colores y tamaños con lamas de 88 o 127 mm que se giran 180 grados respecto la ventada y permiten mayor o menor luminosidad.

Modelos de cortinas verticales en el catálogo de Gustavo Novo Disegno
Las cortinas verticales son la mejor opción para aquellas personas a las que les gusta estar a la vanguardia de la moda, pero también para las que a la hora de decorar conjugan la sofisticación, la sobriedad y el minimalismo.

En Gustavo Novo Disegno cuentan con varios modelos de cortinas verticales. Algunas de las más destacadas son las Kitolas 2 fabricadas en tejido Pescreen y apertura de 3%, las lamas verticales de lágrimas también elaboradas con tejido Pescreen y disponibles en color gris (dos tonos), blanco y tostado, y las lamas verticales con onda de estilo.

Los interesados en adquirir cualquiera de los modelos de cortinas verticales de Gustavo Novo Disegno pueden visitar su página web donde encontrarán sus teléfonos de contacto o bien acudir a sus oficinas, con cita previa, ubicadas en Avenida Rey Juan Carlos I, 79, oficina 7D, en Leganés.
[
ver mas...](https://red-financiera.com/
)
MAGNETOSUR
Published: 2021-12-10 00:00:42

Profesionales en la realización de resonancias magnéticas de alto campo
Existe cierto desconocimiento en torno a las resonancias magnéticas, sin embargo, son estudios que cuentan con gran relevancia en el campo de la medicina. Estos exámenes proporcionan imágenes de alta resolución que permiten a cualquier médico obtener diagnósticos certeros de los problemas que afectan a la salud del paciente. 

Por tanto, las resonancias magnéticas son uno de los exámenes más solicitados por doctores de todas las especialidades. En la actualidad, es posible llevar a cabo resonancias magnéticas en, prácticamente, la totalidad del cuerpo humano, siendo algunas de las zonas más comunes tobillos, sacro, rodillas, piernas, pies, pelvis, muslos, manos, muñecas, mamas, hombros, gemelos, cráneo, cuello, abdomen, columna lumbar, etc.

Hoy en día, MAGNETOSUR se posiciona como uno de los únicos centros en el área de Madrid capaces de llevar a cabo este tipo de exámenes, garantizando altos estándares de calidad. El centro cuenta con equipos especiales de última generación capaces de realizar resonancias magnéticas de alto campo para poder observar el interior del cuerpo humano a través de imágenes de alta resolución.

Clínica experta en el diagnóstico por la imagen en Madrid: MAGNETOSUR
Una de las principales características que diferencia a este centro de otros similares en el área de la Comunidad de Madrid es el trato personal y especializado a cada paciente, generando un clima agradable y de confianza, que hace que los pacientes se sientan seguros y acompañados.

MAGNETOSUR cuenta con los recursos necesarios para llevar a cabo distintos exámenes por imagen, por ejemplo, densitometrías óseas, ecografías, doppler, mamografías digitales, rayos X digitales e, incluso, pruebas de COVID-19. Siempre bajo la supervisión de un médico especializado en radiología, que asistirá al paciente durante el proceso y emitirá un informe diagnóstico en el que se detallen los resultados obtenidos en la prueba.

Estos elementos, en definitiva, permiten a MAGNETOSUR posicionarse como uno de los centros de diagnóstico por la imagen de referencia en la Comunidad de Madrid.

[ver mas...](https://red-financiera.com/)