teleren/devto huggingface dataset:
Secure your Kubernetes secrets easily with Trousseau
Tags: opensource, kubernetes, devops, security
Published: 2022-04-09 22:03:57

The term of "secret" in Kubernetes is a bit deceptive. I don't want to go into details this time, because the internet is full of posts about this problem. In really short they are no real secrets, because ETCD (or any database behind Kubernetes) stores the records in plain text, without any encryption. We have a few options to solve this problem, let's start with the easiest one. 

Kubernetes has official support for [encrypting secret data at rest](https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/). It is disabled by default, and requires some cluster administration to enable it. The cluster admin has to define an `EncryptionConfiguration` and restart Kubernetes API service with the new config. It supports several en/decryption methods out of the box. It sounds easy as a flick, but there are some major issues with the solution. Firstly you have to define keys as plain text in the config (so keys should be readable for an attacker) and rotating the keys is not a trivial task. It is easy to admit that this solution is more than nothing but is far away from real secret protection.

If the built-in solution is not enough for you, you have to choose an external Key Management Service (KMS) like Hashicorp [Vault](https://www.vaultproject.io/) and somehow inject secret resolution into your workload. There are several options, you can use a mutation webhook and create environment variables during pod creation for example, or use an extra sidecar to resolve secrets inside the container as volumes. The main advantage of this way is you have full control of where and how encrypted secrets would be converted into readable values, but all the coin has another side. The solutions are complex, and most importantly they are not transparent. Because Kubernetes secrets are just references to the real ones, you must configure everything on every single target cluster, or have to write tons of if-else in your favorite manifest generation tool.

What if I say there is something in the middle and let me introduce [Trousseau](https://trousseau.io). Trousseau is an open source tool that combines Kubernetes built-in envelop encryption with an external KMS.
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/i05h9dzw16gofe176a5j.png)
With Trousseau you should use the same secrets as without it in your manifests. Kubernetes saves an encrypted version of secrets into ETCD but workloads can have the decrypted version transparently. Trousseau supports only Vault at the moment (others are on the roadmap).
How to sign messages in Java and verify in Go
Tags: java, go, security, programming
Published: 2022-04-09 20:32:25

In my company, we use Java and Go as our development platforms and of course, sometimes those projects have to communicate with each other. In the current blog post, I would like to introduce our solution to sign messages on the Java side and verify them in a Go service.

First, let's talk a bit about architecture. Our Java application spins up new virtual machines in the cloud, and the base image of the instance contains a small Go service. That service is the main entry point of our configuration management system, and we don't want to allow any operation from untrusted clients to modify nodes. Two-way SSL with a signature in the request sounded fair enough to trust in clients. Both components are open source, we don't have any "secret" in the binaries, so we elected RSA asymmetric key pairs to generate and verify signatures. Java has the private key and Go has the public one. Time to go deeper.

[Continue reading...](https://mhmxs.blogspot.com/2018/03/how-to-sign-messages-in-java-and-verify.html)
All you need to know about object destructuring
Published: 2022-04-09 20:04:40

As we all know javascript es6 version had came with a lot of feature  and it   made javascript slightly better .Object destructring  also came with the es6 version it somehow also made   our job easier .

Before es6 version when we want to assign object properties into a variable we typically do it like this:

```

let user = {
  name : "Rahul thakur",
  age : 19
};
let userName = user.name;
let userAge = user.age;

```
But now object destructuring  provides us  better syntax that can help us to reduce our code and also provide an alternative way  to assign properties of an object to a variable:

```let {name : username , age : userage} =user;```

**the  syntax is :**
`{let property1 :variablename , property2 : variablename}= object ;`

**Make your code more shorter:**

If your variable have the same name as the properties of the  object then we can make our code more shorter
`
``let {name  , age } = user ;```
this is equivalent  to the previous one.now instead of writing two two lines of code we can do it within one line of code .

**undefined values :** 

Suppose you are trying to assign a property that does not exits in the object then then variable is set to undefined for example : 
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y4u636sg5a0thfef2m76.png)
Here in this example phone ,lastname,email is not present inside the user object so those variable which are not present inside the obejct are initialized with  the undefiend value.

**Setting default values** 

we can assign  a default value to the variable if the property does not exits inside  the  the object then instead of undefined the variable is initialized with  the default value for example :
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/26lboekob7193gu64dgv.png)

**Summary** 

Object destructuring just making our job easier .It provides us better syntax to store object properties  value inside variables with in one line of code  .
An Intro to Version Control
Tags: opensource, beginners
Published: 2022-04-09 20:02:19

### What is a Version Control System (VCS)?

A VCS tracks the history of changes as people and teams collaborate on projects together.

As the project evolves, teams can run tests, fix bugs, and contribute new code with the confidence that they can recover any version.

Developers can review the project's history to find out:

- What changes were made
- Who made the changes
- When were the changes made
- Why were changes needed

### Collaboration

A VCS allows multiple people to work on the same set of files in structured harmony.

Messaging your teammates about which file you're changing and telling them to keep their fingers off is not the optimal workflow. 

Neither is storing .zip snapshots of your code on a shared online drive.

With a VCS, team members can work on any project file on their local version and merge their changes into a shared version. 

The latest version of a file or the whole project is always in a shared location managed by the VCS.

### Storing Versions

Saving a version of your project after making changes is an essential habit. 

But without a VCS, this becomes tedious and confusing very quickly. 

How much do we save? 
Only the changed files or the complete project?
How do we name these versions? 

If you're a very organized person, you might be able to stick to a coherent naming system.

How can we know exactly what files changed in these versions? It is problematic to expect humans to carefully document each change consistently.

A version control system acknowledges that there is only one project. 

Therefore, there's only one version on your disk that you're currently working on. 

All the past versions and variants of your project are available through the VCS.

### Restoring Previous Versions

Being able to restore older versions of a file or the whole project means you can't mess up! 

If the changes you make prove to be garbage, you can undo them with a few commands. Knowing this should make you more relaxed when working on a project.

### Understanding What Happened

Every time you save a new version of your project, your VCS requires you to briefly describe what was changed to help you understand how your project evolved between versions.

You can see also see what file contents were changed.

### Backup

A distributed VCS like Git can also act as a backup. 

Every team member has a repository of the project on their disk with its entire version history. 

All you need to recover your entire project is one copy of the git repository.

## What is Distributed Version control System

A distributed version control system (DVCS) is a type of version control where the complete codebase — including its full version history — is mirrored on every developer's computer.

## Which VCS?

Which VCS do we use in practice? At Grey Software, we use Git, like the overwhelmingly vast majority of software development companies.

> Next up: [Git](https://learn.grey.software/concepts/git)
How to decide which path to chose!!?
Tags: beginners, programming, discuss, career
Published: 2022-04-09 19:31:11

Hey!

It would be really great to know someone is reading this post.
A little about me- I am currently working as an software developer in a service based MNC.

I am a CSE Graduate and love for coding is enormous, but here I am all confused what to look and choose ahead.
The stack  given to me is on demand basis and probably changing every 3 months. 

It started with QA, Angular, cloud and IOT software. If someone can guide me would be really helpful.

Which tech stack I should go for in 2022 considering to shift into product based company.

Thank You :)
Create An Online Food Store Website Using Angular, NodeJS, Express, And MongoDB, Lesson 4
Tags: angular, node, mongodb, webdev
Published: 2022-04-09 19:05:23

## Lesson 4 is published
[Check out the video](https://youtu.be/Uci0L4k3TQo) if you love to build an e-commerce website using Angular, NodeJS, Express, And Mongo DB

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

###Start from [here](https://dev.to/nasirjd/create-an-online-food-store-website-using-angular-nodejs-express-and-mongodb-52gd) if you didn't

## You Are Going To:
   1. Generate Header Component
   2. Add Html Code To The Header Component
   2. Add CSS Code To The Header Component

**The only requirement** for this course is the basic knowledge of Web Development.

Feel free to join our youtube community for having a productive relationship.

Happy Coding...
Traxalt: Un activo blockchain que viene a revolucionar
Published: 2022-04-09 19:03:01

La tecnología ha tenido un gran avance durante los últimos años y está cada vez innovando más. Actualmente existe un mundo digital en donde todos los días ocurren avances tecnológicos, los cuales benefician a todos.

Una tecnología que está siendo adoptada por personas individuales y empresas alrededor del mundo es la tecnología blockchain, debido a todas las ventajas que proporciona. Dentro de esta tecnología hay varias soluciones que pueden ser adoptadas dependiendo de las necesidades. Una solución de blockchain que está creciendo y siendo adoptada cada vez con más frecuencia es Traxalt.

La tecnología blockchain generalmente es asociada con Bitcoin y otras criptomonedas, pero en realidad tiene otros usos y distintas aplicaciones que van más allá de las criptomonedas. Actualmente el uso de esta tecnología está teniendo una gran demanda para otros usos y aplicaciones comerciales. Algunos de los usos y aplicaciones comerciales que más están utilizando blockchain dentro de sus operaciones son instituciones financieras que realizan pagos a gran escala, la industria de la gestión de cadenas de suministro, industria médica, gestión de inventarios, entre otros.

Traxalt es un activo digital (TXT) basado en el blockchain de Stellar. Fue lanzado en junio de 2019, y actualmente ocupa la posición número dos de todos los tokens basados en el blockchain de Stellar, siendo superado únicamente por Lumens. Cuenta con más de 973,000 usuarios activos, los cuales son verificables en el website del blockchain de stellar.exepert. Según las estadísticas de stellar.expert y la fecha en la cual fue lanzado Traxalt al mercado, Traxalt tiene un crecimiento promedio diario de aproximadamente 2,970 usuarios. Estos datos generan una gran oportunidad de mercado para dicho activo digital, lo cual ha permitido que su giro de negocio se expanda.

Además, Traxalt también es conocida por proveer el servicio de una plataforma de blockchain a las empresas que lo requieran. Tiene como objetivo principal acercar la tecnología blockchain a las empresas y facilitarles la adopción de esta tecnología. Traxalt provee una plataforma sencilla y fácil de usar que puede ser ajustada para encajar con las necesidades que se busquen.

La plataforma de Traxalt permite ser personalizada, proporcionando varias opciones de uso y aplicaciones para que pueda ser implementada. Algunos de los procesos que se pueden optimizar con la plataforma son el envío pagos a gran escala y transfronterizos, intercambio de información rápido y seguro, auditabilidad, trazabilidad de las cadenas de suministro, gestión de inventarios automatizado, registros automáticos que quedan registrados en el libro contable de Traxalt, entre otras opciones. Todas las industrias pueden implementar la plataforma de Traxalt y ajustarla según sus necesidades para que así puedan optimizar sus procesos.

[Leer Mas...](http://www.gdweb.es/)
Artsy: Audio to Art
Tags: hackwithdg, showdev, ai
Published: 2022-04-09 18:39:39


### Overview of My Submission
&nbsp;
Artsy is a fun app that allows you to record audio and use the transcribed text to generate art. 
![demo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zmfmlpxvlmhz2ia9ntkm.gif)

#### 👉 [Demo me](https://artsy-rho.vercel.app/)

&nbsp;
### Submission Category: 
- Wacky Wildcards

&nbsp;
### Link to Code on GitHub
{% github arndom/artsy %}

&nbsp;
### Additional Resources / Info
In actuality this is closer to a simple submission than a finished product, the main reason being the art generation.
I would have loved to have something polished but certain issues came about:
- Initially, I had intended to deploy a GPU-enabled container instance of the model used by [Pixray](https://replicate.com/pixray/text2image) but that was too expensive as my free tier wouldn’t cover the costs on GCP.

- The fallback, [HotpotAI](https://hotpot.ai/art-maker) had its issues, particularly CORS on the API URL and the URL for the generated image hosted on AWS. I managed to solve those via proxies in development but couldn’t find a way in production.

In hindsight, if knew I would submit in this state, I would have written this on the 1st 😉. 

Anyway, I hope you find this interesting, have a wonderful day ✌.
&nbsp;
Organización de los Estados Americanos (OEA) oferta 180 becas para masters en EUDE Business School
Published: 2022-04-09 18:36:18

EUDE Business School y la Organización de los Estados Americanos (OEA) acaban de lanzar por primera vez una convocatoria de 180 Becas parciales de estudio para masters, con el objetivo de apoyar a estudiantes americanos que deseen crecer profesionalmente con una titulación de Postgrado título propio.

Las becas aplican para una selección de 6 programas masters en modalidad presencial en Madrid y para 10 programas masters en modalidad online pertenecientes a las áreas de conocimiento de administración de empresas, recursos humanos, marketing, comercio internacional, finanzas, logística, gestión ambiental y big data.

“Con esta convocatoria EUDE apuesta fuertemente por facilitar el acceso a formación de posgrado de alta calidad a ciudadanos de los estados miembros de la OEA, con el objetivo de eliminar la brecha entre la formación y las capacidades que demanda el mercado profesional, y que afecta sobre todo a los más jóvenes”, afirma Miguel Hermida, director general de EUDE. Durante los últimos dos años esta brecha se ha visto incrementada por el frenazo en los procesos de formación y la necesidad de los profesionales de actualizarse sobre todo en temas de transformación digital de manera transversal en todos los procesos productivos.

La Organización de los Estados Americanos es el organismo regional más antiguo del mundo, fundada en 1948 en Bogotá, con el objetivo de lograr en sus Estados Miembros “un orden de paz y de justicia, fomentar su solidaridad, robustecer su colaboración y defender su soberanía, su integridad territorial y su independencia”. Desde la OEA se fomenta y facilita desde hace años el acceso a la educación de programas de posgrados con la publicación de convocatorias de becas en las instituciones más prestigiosas del mundo. Según Miguel Hermida, “es un orgullo que EUDE sea seleccionada por la OEA para potenciar la formación de los americanos”.

La convocatoria que ya ha comenzado estará abierta hasta el 9 de mayo, y los resultados serán publicados el 3 de junio.

[Leer Mas...](http://www.gdweb.es/)
How to zip files/folder from command-prompt on windows
Tags: commandline, windows10, zip, commandprompt
Published: 2022-04-09 18:30:43

1. Download 7-Zip from the [7-Zip](https://www.7-zip.org/) home 
   page.
2. Add the path to 7z.exe to your PATH environment variable. …
3. Open a new command-prompt window and use this command to create 
   a PKZIP *.zip file: 7z a -tzip {yourfile.zip} {yourfolder}

For more other options or OS visit :
https://www.compuhoy.com/how-do-i-zip-a-folder-in-windows-10-using-cmd/
All the tools you need in the same website !
Tags: programming, tutorial, opensource, testing
Published: 2022-04-09 18:23:32

We have been working on [allinone.tools](https://allinone.tools/) - a new online tools website which aims to make students, writers, developers, SEO experts, and influencers life's easy. 

For the moment, [allinone.tools](https://allinone.tools/) includes 25 tools:

- **Images tools**: (Image cropper, JPG to PNG, Image to base64, ...)
- **Social Media tools**: (Fake tweet generator, Youtube thumbnail grabber)
- **Encryption tools**: (MD5 encrypt/decrypt, SHA256 encrypt/decrypt, base64 encoder, ...)
- **Web tools**: (Css minifier, Terms & conditions generator, Privacy Policy generator, ...)
- **Miscellaneous tools**: (Qr code generator, Character counter, ...)

I'll post tutorials about the tools, detailing how I made them and what I learned along the way. Simply follow me if you want to be notified!

## Contact
Twitter: @AllinoneTools
Email: contact@allinone.tools
Pimp your README.md with a Magic Twitter Button
Published: 2022-04-09 17:44:47

I've been looking for a little project to develop in vanilla JavaScript for some time, just almost for fun and distraction. Then I had the enlightenment, so I created a small vanialla web app that allows you to create a "magic button". In fact, by inserting this button inside your README.md you can have your users share a tweet directly from a GitHub repository. This is great because it is a small way to make your projects popular. In fact, I recommend that you invite your visitors to post on twittter the great discovery they made when they found you online.

[![Share on Twitter](https://img.shields.io/badge/-share%20on%20twitter-blue?logo=twitter&style=for-the-badge)](https://twitter.com/intent/tweet?text=This%20%22Magic%20Button%22%20share%20stuff%20on%20Twitter%20from%20MARKDOWN%0A%0Ahttps%3A%2F%2Ftwitter.javanile.org%2F%0Ahttps%3A%2F%2Fgithub.com%2Fjavanile%2Ftwitter-button%0A%0A%23DEVCommunity%20%23Markdown%20%23TwitterButton%20%23Socialware)

## Links
- The vanilla web app <https://twitter.javanile.org/>
- The repository <https://github.com/javanile/twitter-button>
Finding similar movies, TV-series made easy.
Tags: websites, wonderwebsites, web
Published: 2022-04-09 18:02:23

---
title: Finding similar movies, TV-series made easy.
published: true
date: 2022-04-09 17:42:55 UTC
tags: #websites #wonderwebsites #web
canonical_url: https://shiva.hashnode.dev/finding-similar-movies-tv-series-made-easy
---
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y62uc3nxnhfzr77gy3yf.png)
 
## [BestSimilar.com](https://bestsimilar.com/)

Sometimes you watch movie which you like it a lot and wanted to get similar movie to watch. You search on internet but most results you get which lists different movies. No need to worry, here comes [BestSimilar.com](https://bestsimilar.com/) .

![Screenshot_7.jpg](https://cdn.hashnode.com/res/hashnode/image/upload/v1649525686625/N_5w899HK.jpg)

Enter the title of the film you want to view in the form, and related films will be suggested. The lists are built automatically, taking into account many movie parameters as well as suggestions and expert opinions ("hand-picked").

Because the algorithm for selecting movies is always improving, don't be surprised if movies you've already seen appear in the list of comparable films.

You can also view a film about the subject you're interested in. All the topics were classified into five categories: style, plot, audience, time, and location.

All movies are sorted by how relevant they are to the theme on the tag page. You can also use different sorts to rapidly select simply the best or newest among them.
Loading locally created rule configuration to Karabiner
Tags: karabiner, custom, configuration, json
Published: 2022-04-09 17:42:25

I use a vintage left-handed vertical mouse. It has extra buttons that I have always mapped to `Copy` and `Paste` shortcuts to limit moving my hand back to the keyboard.

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

There were always problems with the mouse driver for macOS. At some point, the driver from Evoluent stopped working whatsoever and I had to look for an alternative. I'd been already using [Karabiner](https://karabiner-elements.pqrs.org/) to configure custom keyboard mappings so I decided to give it a go and add mappings for the mouse.

In order to create such mappings I had to configure a custom configuration rule and add it to _Complex Modifications_ in the Karabiner preferences.

The following config maps button 4 and button 6 of the mouse to key combos `CMD + C` and `CMD + V`.

```json
{
  "title": "Mouse button 4 to copy, button 6 to paste",
  "rules": [
    {
      "description": "Maps mouse button 4 to CMD+C (copy), button 6 to CMD+V (paste).\n",
      "manipulators": [
        {
          "type": "basic",
          "from": {
            "pointing_button": "button4"
          },
          "to": [
            {
              "repeat": false,
              "key_code": "c",
              "modifiers": [
                "left_gui"
              ]
            }
          ]
        },
        {
          "type": "basic",
          "from": {
            "pointing_button": "button6"
          },
          "to": [
            {
              "repeat": false,
              "key_code": "v",
              "modifiers": [
                "left_gui"
              ]
            }
          ]
        }
      ]
    }
  ]
}
```
 
Karabiner does not have an easy way of adding custom rules via the UI. There is an UI to import from the Internet or generate rules configuration via online tools.

There is a way to make Karabiner use the locally created rule though. Here's how to do it:

1. Copy the json file with the rule to `~/.config/karabiner/assets/complex_modifications`. Name of the file does not matter. Do it by drag and dropping in Finder or use shell:

```bash
cp public/json/rule_configuration.json ~/.config/karabiner/assets/complex_modifications
```

2. Import rules from Karabiner-Elements Preferences. _Karabiner-Elements Preferences > Complex Modifications > Rules > Add rule_

I used Karabiner-Elements version 13.5.0.
The mouse I use is Evoluent Vertical Mouse 4 (left-handed version).