teleren/devto huggingface dataset:
¿Cómo instalar ubuntu server en una imagen docker desde un Sistema Operativo Windows?
Tags: docker, robotics, programming, tutorial
Published: 2023-02-11 02:28:12

**Para instalar Ubuntu en un contenedor Docker desde un sistema operativo Windows, siga estos pasos:**


1. Instale Docker en Windows: Asegúrese de tener Docker instalado en su sistema operativo Windows. Puede descargar e instalar Docker desde el sitio web oficial de Docker.

Enlace: https://docs.docker.com/desktop/install/windows-install/



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


**

> Recuerden instarlar docker. Una vez instalado lo inician.
**



2. Inicie Docker Desktop: Después de instalar Docker, inicie Docker Desktop en su sistema operativo Windows.

3. Descargue la imagen de Ubuntu: Puede descargar la imagen de Ubuntu desde el repositorio de Docker con el siguiente comando:


4. Abra una terminal: Puede abrir una terminal en Windows ejecutando "cmd" o "PowerShell" en el menú de Inicio.


5. Ejecute el comando "docker pull": En la terminal, ejecute el siguiente comando para descargar la imagen de Ubuntu:


```
docker pull ubuntu
```

> Una vez que lo tienen instalado, ejecuten este comando para ver si esta la images de ubuntu.

Ejecutan el comando:

```
docker images
```

Y aparece esto:

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





6. Inicie un contenedor a partir de la imagen: Una vez que la imagen esté descargada, puede iniciar un contenedor a partir de la misma con el siguiente comando:



```
docker run -it --name mycontainer ubuntu
```

La opción **-it** indica que se iniciará una sesión interactiva para que pueda interactuar con el contenedor.

La opción **--name** en el comando docker run se utiliza para especificar un nombre personalizado para el contenedor que se está iniciando.


7. Inicie sesión en el contenedor: Después de iniciar el contenedor, puede iniciar sesión en el contenedor con el siguiente comando:


```
docker exec -it mycontainer bash
```


Una vez terminado ya aparecera la línea de prompt de comandos que indica que estás conectado como el usuario root en un contenedor Docker con ID de contenedor. A como se muestra en la imagen.



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



Espero que les haya servido de mucha ayuda  !!! Nos vemos para otro tutorial en mi canal de Youtube: https://www.youtube.com/channel/UCG6p8UMlrqdIU-r1zh0RlXA
Something is Brewin #LFW
Tags: localfirstweb, lfw, privacy
Published: 2023-02-11 01:27:25

A whole host of people are coming together to re-imagine the way data is handled in products. Due to the siloed and fractured nature of today's products consumers are paying the price. 

Check out the newly launched effort to re-imagine the internet with local-first data. 

{% embed https://twitter.com/jamespearce/status/1623773053447729152 %}

Change has to start somewhere, join and contribute. 

-Yonz
Fagan Reviews Are Scalable
Tags: codequality, github
Published: 2023-02-11 00:49:45

Fagan code reviews are one of the best, scalable ways to do code reviews...if done right. [https://www.isixsigma.com/dictionary/fagan-style-software-inspection/](https://www.isixsigma.com/dictionary/fagan-style-software-inspection/)
[Watch] Angus Design System in action
Tags: javascript, vue, css
Published: 2023-02-11 00:46:06

Angus Design System is a web component library built on top of Vue2.x and IBM's Carbon Design System. It's a purpose-built design system for building healthcare applications. 

[Clarity eClaims Demo](https://youtu.be/CKbnvFy2KAc)
nyc school bus 2023
Published: 2023-02-11 00:23:35

[https://multischolar.com/school-calendar-nyc/](https://multischolar.com/school-calendar-nyc/#utm_source=backlinks&utm_medium=search&utm_campaign=darry+ring+us&utm_content=Michelle)
https://plaza.rakuten.co.jp/chenlee/diary/202302110000/
https://www.provenexpert.com/nyc-school-bus/
https://www.producthunt.com/@nycschoolbus
https://www.divephotoguide.com/user/nycschoolbus/
https://vocal.media/authors/nycschoolbus
https://www.lifeofpix.com/photographers/nycschoolbus/
https://seedandspark.com/user/nycschoolbus
https://rosalind.info/users/nycschoolbus/
http://phillipsservices.net/UserProfile/tabid/43/userId/198481/Default.aspx
https://app.roll20.net/users/11615716/nycschoolbus
https://speakerdeck.com/nycschoolbus
https://social.msdn.microsoft.com/Profile/nycschoolbus
https://camp-fire.jp/profile/nycschoolbus
https://plazapublica.cdmx.gob.mx/profiles/nycschoolbus/activity
https://www.metal-archives.com/users/nycschoolbus
https://storium.com/user/nycschoolbus
https://leanin.org/circles/nycschoolbus
https://trabajo.merca20.com/author/nycschoolbus/
https://www.intensedebate.com/people/nycschoolbus
https://www.mifare.net/support/forum/users/nycschoolbus/
https://pinshape.com/users/2572176-nycschoolbus
http://foxsheets.com/UserProfile/tabid/57/userId/120586/Default.aspx
https://www.kompasiana.com/nycschoolbus
https://www.credly.com/users/nyc-school-bus/badges
https://www.myminifactory.com/users/nycschoolbus
https://www.sqlservercentral.com/forums/user/nycschoolbus
https://www.longisland.com/profile/nycschoolbus
https://guides.co/a/nyc-school-bus/
https://myanimelist.net/profile/nycschoolbus
https://www.iheart.com/podcast/269-nyc-school-bus-108698459/
FOP4:Search & Sort
Tags: cpp, algorithms
Published: 2023-01-29 18:40:28

# Find prime numbers

A simple way to find prime numbers

```cpp
#include <iostream>
using namespace std;

bool isPrime(int n)
{
	for (int i = 2; i * i <= n; i++)
		if (n % i == 0)
			return false;
	return true;
}

int main()
{
	for (int n = 2; n <= 100; n++)
	{
		if (isPrime(n))
			cout << n << endl;
	}
	return 0;
}
```

# sieve of Eratosthenes

A more efficienty way to find prime numbers:

```cpp
#include <iostream>
using namespace std;

const int N = 100;
bool seive[N + 1];

int main() {
	for (int i = 2; i <= N; i++)
		seive[i] = true;
	for (int d = 2; d * d <= N; d++)
		if (seive[d])
			for (int n = d * d; n <= N; n += d)
				seive[n] = false;
	for (int n = 2; n <= N; n++)
		if (seive[n])
			cout << n << endl;
	return 0;
}
```

```cpp
#include <iostream>
using namespace std;

int main()
{
	int r3 = 0, r5 = 0, r7 = 0, seive[200];
	cin >> r3 >> r5 >> r7;
	for (int i = 0; i < 200; i++)
		seive[i] = 0;
	for (int i = r3; i < 200; i = i + 3)
		seive[i]++;
	for (int i = r5; i < 200; i = i + 5)
		seive[i]++;
	for (int i = r7; i < 200; i = i + 7)
		seive[i]++;
	for (int i = 0; i < 200; i++)
		if (seive[i] == 3)
		{
			cout << i << endl;
			break;
		}
	return 0;
}
```
# Search 
## Binary search

```cpp
#include <iostream>
using namespace std;

int main()
{
	int cards[13] = {101, 112, 113, 206, 207, 208,
					 303, 304, 309, 311, 402, 405, 410};
	int id = -1, low = 0, high = 12;
	while (low <= high)
	{
		int middle = (low + high) / 2;
		if (cards[middle] == 112)
		{
			id = middle;
			break;
		}
		else if (cards[middle] > 112)
			high = middle - 1;
		else
			low = middle + 1;
	}
	cout << "黑桃Q在第" << id + 1 << "张" << endl; 
	return 0;
}

```

## Insertion sort

```cpp
#include <iostream>
using namespace std;

void InsertionSort(int cards[], int n)
{
	for (int i = 1; i < n; i++)
	{
		int target = cards[i], pos = 0;
		while (target > cards[pos])
			pos++;
		for (int j = i; j > pos; j--)
			cards[j] = cards[j - 1];
		cards[pos] = target;
	}
}
```

## Selection Sort

```cpp
void SelectionSort(int cards[], int n)
{
	for (int i = 0; i < n; i++)
	{
		int min = cards[i], min_id = i;
		for (int j = i + 1; j < n; j++)
			if (cards[j] < min)
			{
				min = cards[j];
				min_id = j;
			}
		cards[min_id] = cards[i];
		cards[i] = min;
	}
}
```

## Application

```cpp
int main()
{
	int cards[13] = {101, 113, 303, 206, 405, 208,
					 311, 304, 410, 309, 112, 207, 402};
	for (int i = 0; i < 13; i++)
		cout << cards[i] << " ";
	cout << endl;
	SelectionSort(cards, 13);
	for (int i = 0; i < 13; i++)
		cout << cards[i] << " ";
	cout << endl;
	return 0;
}
```
An issue task board for audacious open source contributors
Tags: tutorial, opensource, github, career
Published: 2023-02-11 00:13:07

At Quine we’re developing an application that helps developers build verifiable experience by solving GitHub issues ✨

Software developers build experience with every line of code they write. However, writing code is not enough to achieve our true potential. Our learnings are only maximised when we get exposed to other professionals and to other ways of solving problems. For software developers, this often reduces to having the opportunity to write code in as many high-quality codebases as possible.

_Why?_ Every time we contribute code to other repos we need to **_onboard_** ourselves to a new developer community, and adopt patterns and processes that might be completely different to the ones we’re used to. This is a very demanding process that requires lots of time and energy, but the efforts always pay off in the long run. After a few repos, patterns start to emerge and getting to the _merge_ becomes easier with every pull request submitted. 

At Quine we’re helping you gain exposure to as many codebases as possible by pointing you to high-value contribution opportunities in open source. However, we don’t stop there. One of our goals is to streamline every part of the contributor journey, and make the whole process smooth and  frictionless. For this reason we built a special effort-management tool for those audacious and ambitious contributors who take on the challenge of working in multiple repos at once: **_a task board for GitHub issues_**. 

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

Working on multiple open source codebases simultaneously can be a difficult process to manage. The first version of our task board can help you get on top of this process by helping you monitor key metadata of every issue you're planning to tackle. Comments, reactions, assignees, and descriptions are globally visible. Should you need them, links to GitHub are also a click away. 

Try it out and let us know what you think! Don't forget to link the PRs you merge in your task board 🙂
Contributing to Jakarta EE. Finding my path.
Tags: java, opensource, community, contributorswanted
Published: 2023-02-10 22:54:47

## The beginning
Some time ago I was lucky enough to visit one of the amazing meetups by Codurance https://www.meetup.com/london-software-craftsmanship/

That is where I learned about the amazing Jakarta EE project looking for volunteers to contribute. They are especially looking for maintainers, I was told.

Me being autistic myself, I forgot who exactly shared the news, so I had to research later.

## So, what is Jakarta EE?

As I understand, it is a set of “Enterprise Java Specifications”, which can be implemented by independent vendors.
Basically, you can implement functionality and then choose or even switch (a different topic) your provider.

As official website at https://jakarta.ee/about/jakarta-ee/ says: 

> Jakarta EE gives developers a comprehensive set of vendor neutral, open specifications that are used for developing modern, cloud native Java applications from the ground up. 
> With Jakarta EE, technology developers and consumers can be confident they have the best technologies for developing cloud native, mission-critical applications. 
> And they can build on decades of Java developer expertise to move existing workloads to the cloud.
> Jakarta EE specifications, previously known as Java EE specifications, are developed by well-known industry leaders following the Jakarta EE Specification Process (JESP).


## Finding the path
How to find a way to contribute if you have no idea on the next steps? Easy. Ask around, especially on Social Media.
So I asked here: 
https://twitter.com/NikitaKoselev/status/1623974597673508864?s=20&t=OH-UOti4yKuiECbDDppWpA
![How to contribute to Jakarta EE?](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ubdodzurc276xja6vtvh.png)


Quite promptly I have received few quality answers:

Jakarta EE itself has recommended me to read the https://jakarta.ee/community/get-involved/

https://twitter.com/JakartaEE/status/1624101214639075355?s=20&t=pbagpzFp32sMKrD0NR4xfw
![Getting involved with Jakarta EE](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pv0g70iccgavpfzupcms.png)


OmniFish EE has suggested to check the source ❤❤❤: https://github.com/eclipse-ee4j/glassfish

https://twitter.com/OmniFishEE/status/1624092976044548096?s=20&t=5t5nNNimAwlREvI-15-zrA
![How to contribute to OmniFishEE/Glassfish](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7hpfzjypqq6db65lxg94.png)



## Next steps
Well, I will look into these links and ideas provided and I will keep listening.

When I learn more specifics, I will share as Jakarta EE is definitely a great thing and it can benefit so many people.

I might even contribute to maintenance, docs or even code...
New Release of ReductStore JavaScript SDK v1.3.0
Tags: news, javascript, database, reductstore
Published: 2023-02-10 22:49:45


Hey everyone,

we are pleased to announce the release of [version 1.3.0](https://github.com/reductstore/reduct-js/releases/tag/v1.3.0) of the ReductStore SDK for JavaScript. This version supports the new features of ReductStore v1.3, including labels and content type.

Now you can write a record with MIME type and labels to ReductStore:

```javascript
const client = new Client("https://play.reduct.store");

const bucket = await client.getOrCreateBucket("bucket");
    
const record = await bucket.beginWrite("entry-1", {
    contentType:"text/plain", 
    labels: {type:"example"}
})

await record.write("Some text");
```

<!--more-->

You can use labels to store meta information about records. For example, if it's an image with detected objects, you can store bounding boxes and confidence levels for each object. You can also use labels to filter data in queries:

```javascript
for await (const record of bucket.query("entry-name", startTimestamp, stopTimestamp, 
    {include: {label1: "value1", label2: "value2"}})) {
  console.log(record.labels)
}
```



With these new features, you can more easily organize and filter your data, making it easier to find the information you
need. We encourage you to upgrade to this latest version of the SDK and start taking advantage of these new
capabilities:

```
npm i reduct-js
```

We hope you enjoy the new features and improvements in this release, and as always, we welcome your feedback and
suggestions for future updates. Don't hesitate to reach out in [Discord](https://discord.gg/8wPtPGJYsn)
or by opening a discussion on [GitHub](https://github.com/reductstore/reductstore/discussions).

Thanks for using [ReductStore](https://www.reduct.store)!
First release of SPVM::File::Copy and SPVM::FindBin
Tags: perl, spvm
Published: 2023-02-10 22:42:53

<a href="https://metacpan.org/pod/SPVM::File::Copy">SPVM::File::Copy</a> and <a href="https://metacpan.org/pod/SPVM::FindBin">SPVM::FindBin</a> are now available for the first time.

<a href="https://metacpan.org/search?q=SPVM">The number of SPVM modules released to CPAN has continued to grow in recent months.</a>

In January and February 2023, we are focusing on modules related to file paths.

## On the road to a Web framework

Our <a href="https://metacpan.org/pod/SPVM">SPVM</a> goal for the first half of 2023 is to create a web framework.

A web framework must have all the basic building blocks in order to be created.

File IO, file paths, sockets, GZIP compression, regular expressions, Unicode, HTTP, SSL, and other things we are used to seeing in Perl are not yet complete or stable in SPVM.

However, the SPVM programming language is already capable of handling them. Now it is just a matter of time.

The time problem seems to be solved, as we can see plans to create Gzip, Unicode, and related modules, and we should be able to start implementing the web framework by the end of June of this year.

## On the road to a web application

Another goal is to create a web application.

To do this, at a minimum, we need to create modules in SPVM that correspond to Perl's DBI and DBD::mysql and Redis.

DBI, DBD::mysql and Redis are quite large and complex modules. However, the SPVM programming language is already capable of creating them, so this is also just a matter of time.

An initial implementation will be available by the end of 2023.

## Threading on the Road

The web framework will be thread-aware. Threads will allow for portable implementations on Linux/Mac/Windows. It would also be possible to quickly create threads. This is not possible with Perl.

## The path to an web application running in a container

Another goal is to create a web application that runs on containers, and SPVM is very well suited for container applications since it already has a mechanism to output a single executable.

Deploying a web application can be as simple as writing a Docker environment and copying the executable file via rsync.

Perl lags behind in the area of threads and containers. Or rather, threads and containers are not feasible in the Perl programming language implementation.

So, as a Perl lover, I am struggling to realize them in the SPVM programming language and to call them from Perl.

## SPVM one-liners

SPVM does not support one-liners, but SPVM can be called from Perl. In other words, you can call it from Perl one-liners.

Wouldn't it be nice to be able to write in SPVM and call all functions from a Perl one-liner?


Translated with www.DeepL.com/Translator (free version)
Day 693 : Chicken
Tags: hiphop, code, coding, lifelongdev
Published: 2023-02-10 22:12:21

_liner notes_:
- Professional : Worked on updating some repos. Will probably change the way we do demos in them. I've got an idea, but not sure if I can get it to the work I want, so I reached out to someone about it. Hopefully I can hear back from them early next week. Sat in on a demo session of a new product. Pretty excited about it coming out. Spent the rest of the day updating Web Components. There was a major update to the library that I use, but it doesn't look like much would have to change with my actual code. Made the changes, but I'm to chicken to deploy it and have it break on a Friday. haha. I'll do it early Monday.

- Personal : Didn't get as much as I wanted done because I was packing up my Chromebook and filling out the forms to send it in for repair. I wrote the info on all sides of the box. Triple checked before I sealed up the box. Needless to say, I spent a lot of time getting it ready. I did go through a couple of tracks for the radio show. Didn't do any coding because my Chromebook is where I've been doing it. I have my previous Chromebook, but haven't set up the project on there yet.

![Sunset in Hvítserkur, Iceland with purple and pink waters with a large stone mass sticking out of the water held up by skinny rocks and mountains in the distance.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wduf3mgw6wf661mwp5pt.jpg)

Going to put finish putting together the radio show. I think I'm going to be ahead on tracks for a while! I want to get my side project up on my older Chromebook and start working on the proof of concept's dashboard. After I can get data saved to the cloud, I can start working on the front end. My Chromebook went out today, going to take like a week to get there and who knows how long for it to come back. I really don't like sending in stuff for repair. Especially when it's nothing I did. Just don't break! haha

Have a great night and weekend!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube U_63NOnOuLs %}
A Guide to JSON Web Token (JWT)
Tags: webdev, beginners, programming, jwt
Published: 2023-02-10 05:00:00

**JSON Web Token (JWT)** is an open standard (RFC 7519) that defines a compact and self-contained way of transmitting information between parties as a JSON object. JWT is often used for authentication and authorization purposes, as it can be securely transmitted between parties using a JSON object. In this article, we'll explore some of the key concepts of JWT, including claims, subject, issuer, metadata, encryption key, and URN.

**Claims:**
Claims are a set of key-value pairs that are encoded within a JWT. Claims contain information about the subject of the token, such as their name, email, or any other information that is deemed necessary. There are three types of claims in JWT: registered, public, and private claims. Registered claims are predefined and have specific meanings, such as the "iss" (issuer) claim or the "sub" (subject) claim. Public claims are custom claims that are used to hold additional information about the subject. Private claims are used to share information between parties that have agreed upon the meaning of the claim.

**Subject:**
The subject (or "sub") claim identifies the principal that is the subject of the token. This can be a user, an application, or any other entity that is the focus of the token. The subject claim is a registered claim and is used to identify the recipient of the token.

**Issuer:**
The issuer (or "iss") claim identifies the entity that issued the JWT. This claim is used to indicate the source of the token and to verify that the issuer is trusted. The issuer claim is a registered claim and is used to determine the trustworthiness of the token.

**Metadata:**
Metadata is information that provides additional context about the token. This can include information about the audience, the expiration time, and any other information that is necessary to secure the token. Metadata is encoded as additional claims within the JWT.

**Encryption Key:**
JWTs can be encrypted using a secret key to secure the information contained within the token. This is accomplished using a symmetric encryption algorithm, such as AES, and the encrypted JWT is known as a JWE (JSON Web Encryption). The encryption key is used to encrypt and decrypt the JWT, and it must be kept secret to ensure the security of the information.

**URN:**
A Universal Resource Name (URN) is a string that is used to identify resources, such as JWT claims, in a way that is independent of their location. URNs are used in JWT to identify specific claims and to ensure that they are properly processed.

In conclusion, JWT is a compact and self-contained way of transmitting information between parties as a JSON object. The key concepts of JWT, including claims, subject, issuer, metadata, encryption key, and URN, are essential to understanding how JWT works and how it can be used for authentication and authorization purposes. By understanding these concepts, you can use JWT to build secure and reliable systems that transmit information securely between parties.