teleren/devto huggingface dataset:
Testimonios del exitoso servicio de SETROI
Published: 2022-01-11 20:55:41

Planifica.com es una empresa dedicada a diseñar planes estratégicos. Su administrador es Isidor Torres, quien relató su experiencia particular con SETROI. Explicó que en un momento se plantearon la necesidad que tenían de optimizar su presencia en las plataformas de búsqueda más importantes, sobre todo en Google.

Torres admitió que en lo últimos años habían descuidado esta parte del trabajo. Fue entonces cuando comenzaron la búsqueda de un proveedor que les permitiese avanzar en este sentido y se decidieron por SETROI. Una de las razones es que estos profesionales cuentan con un sistema propio de posicionamiento SEO.

Dice que en Planifica.com están muy contentos con los resultados. Pasaron de tener una web a la que nadie ingresaba porque no los encontraban a estar “de repente” en la parte de arriba de las búsquedas. Esto se tradujo en más visitas al sitio, más llamadas y más solicitudes de propuestas.

María José Barreiro forma parte del departamento de Comunicaciones de Seat Fecosauto. Afirma que desde que están trabajando con SETROI están mejorando su posicionamiento en Internet. También están logrando más publicaciones en medios digitales. Asegura que a nivel profesional les resulta muy fácil trabajar con SETROI porque les facilitan todo.

Barreiro asevera que recomendaría los servicios de SETROI porque son profesionales, de calidad y muy cercanos, entre otros adjetivos. Por esta razón y por los resultados obtenidos hasta el momento asegura que están muy contentos.

[Ver mas...](https://www.opiniones.digital/setroi/)
Mejor posicionamiento SEO
Published: 2022-01-11 20:54:36

Tomando en cuenta lo anterior se logra una dinámica que empieza a ser percibida por los buscadores de Internet, como Google. Si los contenidos son relevantes y se difunden a través de periódicos digitales con mucho tráfico de lectores, se logra un mejor posicionamiento SEO.

Esto se debe a que los contenidos que logran mayores lecturas y tienen un adecuado manejo de las palabras clave, son más fáciles de clasificar y ponderar. A los buscadores les interesa que la gente se mantenga el mayor tiempo posible utilizando sus servicios. Por ello siempre ubicarán en el lugar más visible, aquellos contenidos que generen mayor interés.

[Ver mas...](https://www.opiniones.digital/setroi/)
[Day 8] Imports are hard
Tags: 100daysofcode, blockchain
Published: 2022-01-11 20:10:40

Day 8, another day, another day late post since I can't seem to remember to post at the end of the night.. 

All of my code can be found at this Github [Repo](https://github.com/ChaseStruse/VideoGameMarketplace)

## What did I do?

- Implemented the User.sol
- Got Storage.sol inside of User.sol
- Trying to figure out why I cannot deploy the contracts

## What did I learn?

- Learned how to create an instance of a contract in solidity
- Learned that there are not a whole lot of forum posts around solidity

## Any Side Notes?

- Don't forget to slow down. I'm always so amped and wanting to go straight into the code that I miss some small stuff and create headaches for myself that could have been solved long ago.
Easy node apps deployment with PM2
Tags: node, pm2, deployment
Published: 2022-01-11 20:03:28

---
title: Easy node apps deployment with PM2
published: true
description: How to deploy a node app using PM2
tags: node, pm2, deployment
cover_image: https://miro.medium.com/max/734/1*PXPRvzEipmCU-FsR7OjC2w.png
---

This is the first post of a serie of helpful snippets to deploy node and react apps.

For this practice we will use *pm2* which is a process manager for node.js


**The following are all the considerations you need to take in order to be able to deploy with pm2:**

- [Install pm2 dependency globally](https://pm2.keymetrics.io/) on the host you are running the deployment script 

- [Add your host's public SSH key into the remote server](https://linuxhandbook.com/add-ssh-public-key-to-server/)

- [Manage the connection to your repository](https://docs.github.com/es/developers/overview/managing-deploy-keys) from the remote server

The following is the actual code you will have to define in order to *install* the node app on your remote server, PM2 calls it `ecosystem.config.js` file:

```
module.exports = {
  apps : [],
  // Deployment Configuration
  deploy : {
    production : {
       "user" : "root",
       "host" : ["my-remote-server.xyz", "...",],
       "ref"  : "origin/master",
       "repo" : "git@github.com:username/repository.git",
       "path" : "/var/www/my-repository",
       "post-setup" : "npm install"
    }
  }
};
```

Once you defined this ecosystem file you should be able to run it using the following command:

`pm2 deploy ecosystem.config.js production setup`

The previous command will download the *ref* of your *repo* into the specified *path*, it will run as *user* on the specified *host(s)*, and finally it will run the *post-setup* commands.

And that's it, now you can install your projects wherever you need. There exists a *pre-setup* command as well in case you need to make some actions before deployment. [Here is the official docs](https://pm2.keymetrics.io/docs/usage/deployment/)

pm2 has many more features that we will discuss in next posts. Also, this script is not limited to node apps only, coming on examples will show you how to deploy a react app from deployment to serve, setting env parameters and building new releases after PR's using Github Actions, basically achieving zero downtime deployments pipelines.
Using Rstudio with windows subsystem for linux(wsl)
Tags: r, tutorial, datascience, productivity
Published: 2022-01-11 19:55:42

Hi, In this post, I gonna show you how to install Rstudio on wsl system and to reach over the browser. if you are using windows and dont want to use Rstudio client in windows-side, this method will work perfectly.
## Install windows-subsystem for linux
- Open the Microsoft store and search "wsl" or "ubuntu"
In windows store, There are many windows subsystem for linux distributions such as Ubuntu, debian, suse, kali, alpine wsl etc. You can use one of these distributions. 
- Installation can be done using the instructions in the terminal.
- Determine username and password for linux subsystem. 
- You can use windows terminal or any terminal emulator for windows. 

 __Note:__  It can be used graphical linux application via wsl2. wsl1 is not supported that. But you must install X window manager to use graphical application on wsl2. You can use rstudio desktop on wsl2 with this way. 
## Install R and Rstudio-server

In this stage, you should install Rstudio-server to subsystem side and you can install R environment to linux side as well. This is absolutely great trick for those switching to windows from linux.
For ubuntu or debian:
```bash
$ sudo apt-get install r-base
## after the instalation of R environment
$ sudo apt-get install gdebi-core
$ wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-2021.09.2-382-amd64.deb
$ sudo gdebi rstudio-server-2021.09.2-382-amd64.deb
```  
After the installation, You can start rstudio server via
```
$ sudo rstudio-server start
```
## To reach in windows side with browser

R environment and Rstudio server are installed and server is activated. you can access Rstudio from browser in windows side. Rstudio is working on localhost server and it can be accessed via browser __http://localhost:8787__ address. 
To access the server, you have to have a username and password has been determined before. You can use the username and password you used during the installation of the subsystem.

![rstudio-server](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5lqsdvtnq6ow2uubc67l.png)
   
## Conclusion
Using this method is absolutely great for those switching to windows from linux. Linux is more simple and more useful but using windows os with linux subsystem is quite influential. This method is used for any environment such as using python environment and jupyter notebook together.
Todo App
Tags: atlashackathon
Published: 2022-01-11 19:45:39


### Overview of My Submission
Todo app to add, check and delete todo tasks.   


### Submission Category: 

Choose Your Own Adventure


### Link to Code

 {% github verica02/Todo-app %} 


### Additional Resources / Info

technology used in this project:

- MongoDB Atlas to store todo tasks

- Next.js for backend server and routing

- TailwindCSS
2022 Goals
Tags: goals, learning, 2022
Published: 2022-01-11 19:43:58

---
title: 2022 Goals
published: true
date: 3rd January 2022
tags: goals,learning,2022
canonical_url: https://cgweb.co.uk/blog/2022-goals
---

My goals for 2021 were the following: 
1. Work my way through the [FCC](https://www.freecodecamp.org/) curriculum particularly the JS section. 
2. Work on Mastering Nuxt course - videos are being regularly released and need to keep up with these. 
3. Write more CSS in most of my projects I tend to reach for [Bootstrap](getbootstrap.com) or [Tailwind](https://tailwindcss.com/) and learn some more sass (I know some basics). 
4. Get back into regular blogging I stopped towards the end of the year and need to start posting regularly again even if I don't finish them write a starting post which I can then review and add to as I feel necessary. 

Having reviewed these goals: 
1. I have done some of the FCC curriculum including finishing RWD section, working on some of the JS section and starting the front end libraries section - goal partially completed 
2. This I haven't achieved I got about halfway through so I am going to back to the start and make my way through this course in the next couple of months 
3. ~~This I have achieved working my way through some challenges on frontend mentor and some other small projects I have written plain ol' CSS including some SCSS avoiding the likes of bootstrap and tailwind~~ - goal complete! 
4. I was in a routine with this for a while had a few ideas wrote some posts but then I stopped so a goal for this year will be to write at least a blog post every month about something I have learnt or refreshed on 

Ongoing Goals to complete this year: 
- Finish udemy course of vanilla JS projects - I started this last week I've setup a github repo and have completed first two projects
- Review some jQuery perhaps rewrite a couple of small vanilla JS projects
- Take another look at FCC although I've struggled to stick to this in the past going to give it another go
- Complete Mastering Nuxt course and write a blog post reviewing it and what I have learnt
- Blog more regularly again including posting on dev

What is everyone planning to learn this year?
The modular design method
Tags: design, architecture, designsystem
Published: 2022-01-11 19:43:46

---
title: The modular design method
published: true
description: A model for improving the production process for websites, emails, and landing pages.
tags: design, architecture, designsystem
cover_image: https://blocksedit.com/content-code/img/modular-design-elements.png
---

Modular design is a method for improving design and production workflows by using components-based design and layout patterns that overlap structural coding practices. This design approach breaks apart content and design elements and puts them back together based on these guidelines:

* Content - text pieces and images
* Components - reusable, standalone elements like buttons and titles, the building blocks of your content
* Regions - groups of content content pieces and components, arranged in a very specific way
* Sections - stackable containers of regions between the header and footer to create an overall layout

###[View the paper on GitHub](https://github.com/blocksedit/modular-design)
Extension chrome for check responsive your website 
Tags: javascript, css, programming, design
Published: 2022-01-11 19:41:34


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3idhpesa10tuut68mgrp.jpg)




this is a good extension 
if you want check and see your project in all device sizes
go to google after that search this **Responsive viewer**
also you can click this link 
[Extension Responsive viewer](https://chrome.google.com/webstore/detail/responsive-viewer/inmopeiepgfljkpkidclfgbgbmfcennb?hl=en)


how does it work??
you should go to any website and click on this tool


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hhs9afa635183h93m3uh.jpg)
Laravel | How to remove `data` from API Resources
Tags: laravel, php, tutorial
Published: 2022-01-11 19:32:53

Usually, Eloquent API Resources return content on the "data" section.

We can remove the `data` section just with add `JsonResource::withoutWrapping();` in `app/Providers/AppServiceProvider.php`.

```
class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        JsonResource::withoutWrapping();
    }
}
```

If you know a better way, please teach me in the comments :)

[
![Can you plz buy me a book?](https://img.buymeacoffee.com/button-api/?text=Can you plz buy me a book?&emoji=📖&slug=sajaddp&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00)](https://www.buymeacoffee.com/sajaddp)
When you forgot to use sudo in linux bash
Tags: linux, bash, programming
Published: 2022-01-11 18:59:36


![linux bash meme image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3k8w80t003o4whsdo4o8.png)

### Save yourself some seconds 
Once in a while we tend to make that mistake of forgetting to put sudo first when trying to run a command that requires root permission. When this happens we tend to start all over again by running the same command again.
Fortunately there's is a solution that saves you some seconds:
Just type _**sudo !!**_
Yes! That's it. The same command will be run again but with sudo this time. 
Just be sure you have the root privileges.
Hit the follow button to see more hacks like this..
NextJS Ecommerce Website with MongoDB and Tailwind CSS
Tags: atlashackathon, nextjs, tailwindcss, mongodb
Published: 2022-01-11 18:59:05


### Overview of My Submission:

I have built an e-commerce website using NextJS, Tailwind CSS, and MongoDB. 

I'd used MongoDB's fundamental functionalities before, but this is my first time working with MongoDB Atlas Search. I had a lot of fun learning it and hope to use it in other projects as well.

You can view, order, track, and delete your products. You can also access the admin page from `/admin` route and mark the product as a delivered or not.

I have given access of the `/admin` page to everyone in this demo, but in the production project I would check the email from the `getSession` hook of `next-auth` in `getServerSideProps`. Then, if it is my email, I would give access to the page, otherwise I would redirect to the login page as follows:

```jsx
export async function getServerSideProps(context) {

  const session = await getSession(context)

  if (session?.user) {
    const { email } = session?.user
    if (
      email !== "myemail"
    ) {
      return { redirect: { destination: '/auth/signin', permanent: false } }
    }
  } else {
    return { redirect: { destination: '/auth/signin', permanent: false } }
  }
  ...
}
```

### Submission Category: 

This is an e-commerce website. 

### Link to Code:

{% github https://github.com/dibasdauliya/dm-store %}

### Link to the website:

http://dm-store.vercel.app/

### Additional Resources / Info:


#### Screenshots of the website


![Home Page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/w5kzk5yohtkshn7wiz7l.png)

![User and Admin Page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7kwd2mib86nfqd1smytr.png)

![Search and Product Page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8s3qvn6pyequtkvlknst.png)

#### YouTube Video 

{% youtube MBf4TviADLs %}

I need to practice speaking more. 😅

**Update**: I have also added log in/log out functionality using [`next-auth`](https://next-auth.js.org/).

Thank you so very much!
Node - Setting a custom npm server
Tags: npm, custom, private, server
Published: 2022-01-11 18:53:04

---
title: Node - Setting a custom npm server
published: true
description: Setting a custom npm server
tags: 'npm, custom, private, server'
cover_image: 'https://raw.githubusercontent.com/campelo/documentation/master/posts/assets/cover.png'
canonical_url: null
id: 951870
date: '2022-01-11T18:53:04Z'
---

###### :postbox: Contact :brazil: :us: :fr:

[Twitter](https://twitter.com/campelo87)
[LinkedIn](https://www.linkedin.com/in/flavio-campelo/?locale=en_US)

---

## Setting a custom npm server

You can execute these commands [npm config](https://docs.npmjs.com/cli/v8/using-npm/config)

```PowerShell
npm config set registry https://mySite.com/private/repo-npm
 
npm config set strict-ssl false
```

or you can edit the file **%userprofile%\\.npmrc** manually to change per-user config [npmrc docs](https://docs.npmjs.com/cli/v8/configuring-npm/npmrc)

```
registry=https://mySite.com/private/repo-npm
  
strict-ssl=false
```

## Typos or suggestions?

If you've found a typo, a sentence that could be improved or anything else that should be updated on this blog post, you can access it through a git repository and make a pull request. If you feel comfortable with github, instead of posting a comment, please go directly to https://github.com/campelo/documentation and open a new pull request with your changes.
Decentralized Trading Bot and Datafeed Project
Tags: blockchain, opensource, javascript, laravel
Published: 2022-01-11 18:51:36

If anyone want to help me please contact me. I will add him as contributor.
https://github.com/r3alst/bep20-ticker
bep20-ticker is basically a program that can export rate of BEP20 token to ticker-manager using pancake liquidity pool.

https://github.com/r3alst/ticker-manager
ticker-manager can add alerts, do swaps etc.

Note: Ticker Manager is not limited to BEP20, we can use any chain. Just we will need to develop tickers that can be containerized.
Local Shop Search - Search shop near you
Tags: atlashackathon, mongodb, react, node
Published: 2022-01-11 18:43:44

Local Shop Search is used to search a shop near you by a map.
Shop keeper can add a shop and list his product.
End-User can Search Products and can visit his shop to purchase the product.

Live Website: https://local-shop-search.netlify.app/search/

![Website Demo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zt9ef1wmgwts7p6q1lqe.png)

### Overview of My Submission

#### Tech Stack

- MongoDB and MongoDB Autocomplete
- Node JS
- Express JS
- React JS
- Leaflet JS
- Netlify for frontend and Netlify serverless backend.

#### How search functionality works
Here i am using MongoDB autocomplete nGram which offer autocomplete search and location index to search query by location.

##### Aggregate query example

[Code Link](https://github.com/NithinIBhandari1999/localshopsearch_client/blob/main/info/mongodbAggregateFunction.json)

![MongoDB Autocomplete Query Example](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/00gpmpdqup15k9587mbn.png)

##### MongoDB Autocomplete index

[Code Link](https://github.com/NithinIBhandari1999/localshopsearch_client/blob/main/info/mongodbSearchIndex.json)

![MongoDB Autocomplete Index Example](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e1rph770xlkp03mr1zm2.png)

### Submission Category:

E-Commerce Creation

### Link to Code

Live Link: [Visit Now](https://local-shop-search.netlify.app/search/)
Read Me: [Visit Now](https://github.com/NithinIBhandari1999/localshopsearch_client/blob/main/README.md)
Local Shop Search Front end: [Visit Now](https://github.com/NithinIBhandari1999/localshopsearch_client)
Local Shop Search Back end: [Visit Now](https://github.com/NithinIBhandari1999/localshopsearch_api)

### Additional Resources / Info

#### How to deploy
1. Clone frontend and backend code.
2. Create an Imagekit account.
3. Visit to Netlify and deploy the code, add all env variable.
CryptoPals Crypto Challenges Using Rust: Implement PKCS#7 Padding
Tags: rust, programming, cryptography
Published: 2022-01-11 18:33:31

This is [Challenge 9](https://cryptopals.com/sets/2/challenges/9) of [Cryptopals](https://cryptopals.com/) challenges implemented in Rust language.

## Context 💡
We have to implement simple [PKCS#7](https://medium.com/asecuritysite-when-bob-met-alice/so-what-is-pkcs-7-daf8f4423fd1) padding.

PKCS#7 padding is utilized in encryptions to pad an input to make it's length multiple of specific block size and also store information of how much of padding bytes are there in the input itself.

So, to illustrate, if block size is 4, then PKCS#7 would apply following paddings:

```
Input         Padded Input     No. of padding bytes
----------------------------------------------------
y              y333                     3
yo             yo22                     2
yol            yol1                     1
yolo           yolo4444                 4

```

After decryption, the last byte is read from output to know how much of padding bytes are there and that much number of bytes removed from end of the output to yield original unpadded message.

## Code 🕶

The code is pretty much simple:

```rust
pub fn pad_pkcs7(message: &str, block_size: usize) -> String {
    let padding_size = block_size - message.len() % block_size;
    let padding_char = padding_size as u8 as char;
    let padding: String = (0..padding_size).map(|_| padding_char).collect();
    format!("{}{}", message, padding)
}
```

That's it.

See code on [Github](https://github.com/theNvN/cryptopals-crypto-challenges/blob/master/src/set_2_block_crypto/c9_implement_pkcs_padding.rs)

Find me on:
Twitter - [@heyNvN](https://twitter.com/heyNvN)

[naveeen.com](https://naveeen.com)
Uni-Tab - One Tab, Many Uses
Tags: atlashackathon
Published: 2022-01-11 18:31:45

[Instructions]: # (To submit to the MongoDB Atlas Hackathon on DEV, please fill out all sections.)


### Overview of My Submission
A single website to perform multiple functions like reading the news or a task tracker, with a main purpose to increase productivity and save time by decreasing the amount of different applications used.


### Submission Category: 

Choose Your Own Adventure


### Link to Code

Github {% github AmoghSingh25/Uni-Tab %}
####[Link to website](https://unitab.tk)


### Additional Resources / Info
This website currently offers news, task trackers/To-Do list, a Web Search bar and a weather viewer.


####Software used : - 
* MongoDB Atlas - Storing User information and data like tasks.
* Node.js and Express - Backend server code and routing
* Weather - [OpenWeatherMap API] (https://www.openweathermap.org)
* News - [NewsCatcher News API](https://newscatcherapi.com/) and [NewsData.io API] (https://newsdata.io/)
* User authentication and creation - [Firebase] (https://firebase.google.com)
* Clock - [Moment.js](https://www.momentjs.com)
* Location - [IPInfo.io](https://ipinfo.io/)

####Screenshots
#####Home Page
![Home Page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/329ywgjjkrpl08nklplk.jpeg)

#####Dashboard
![Dashboard](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bvedaaa0yblpnyntumpb.jpeg)

#####Tasks
![Tasks](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nl6pytomsb2h5c4m3ti0.jpeg)

#####News
![News](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cjq3a65ldpovwmjxkahd.png)

#####Weather
![Weather](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fn6r75wgzfhbjsr94n8v.jpeg)
Paracetamol.js💊| #4: Explica este código JavaScript
Tags: javascript, beginners, webdev, spanish
Published: 2022-01-11 18:30:58

## **¿Puedes explicar este código?**

```js
console.log(false == 0) // true
console.log(false === 0) // false
```
¿Por qué `false == 0` es `true` y `false === 0` es `false`?

---

Explicación en el primer comentario.