teleren/devto huggingface dataset:
Resolva desafios com Replit (e faça testes!)
Tags: java, replit, programming, braziliandevs
Published: 2022-01-12 15:30:06

Quando se estuda boas práticas de programação, pode parecer difícil de estudar várias linguagens de programação no computador. Alguns desafios que percorrem em minha rotina são:

1. IDE (ambiente de desenvolvimento) adequada
2. Como compilar esse programa
3. Instalação de pacotes, softwares necessários na máquina
4. Qual o sistema operacional adequado

Com esses problemas em mente, soa muito difícil de preparar o terreno para os estudos. Mas podemos melhorar isso usando o [Replit](https://replit.com/): uma ferramenta de desenvolvimento online.

Não é necessário instalar nenhuma ferramenta, necessita apenas de acesso a internet e criar uma conta no site, pode ser integrado com uma conta da Google, Facebook ou Github.

### Por que usar o Replit?

Replit é uma ferramenta que vai economizar tempo de desenvolvimento, com ele é possível criar pequenas aplicações, compartilhar com outros usuários e fazer testes.

Para desafios de programação, uma IDE online é ótima para conhecer linguagens novas.

![Gif com demonstração de como funciona o Replit ao rodar um programa Hello World em Java](https://raw.githubusercontent.com/NatSatie/images-repository/main/replit/msedge_tjlGamCqlP.gif)

Como a IDE é online, é suscetível a erros e lentidão quando a complexidade do projeto se escala, por isso, tem a versão paga para providenciar os recursos computacionais necessários.

### Indo além de executar e compilar: Testes Unitários

Ao resolver desafios de programação, precisamos testar nossa aplicação e cobrir os casos de erro mais importantes. Por isso, no menu lateral do Replit, tem um ícone que leva a aba de testes.

![Visualização da aba de testes do Replit](https://raw.githubusercontent.com/NatSatie/images-repository/main/replit/aba_testes.png)

![Gif com demonstração de como adicionar um teste unitário](https://raw.githubusercontent.com/NatSatie/images-repository/main/replit/adiconar-teste.gif)
 
Esse programa verifica se uma string dada pelo input foi convertida para um valor inteiro. Nesse caso foi "1234" o valor de entrada e é verificado se o valor convertido para inteiro corresponde ao inteiro 1234.

![Gif com demonstração de como rodar um teste unitário](https://raw.githubusercontent.com/NatSatie/images-repository/main/replit/rodar-teste.gif)

Como foi visto na interface, o teste foi um sucesso!

Você pode testar criando um Replit de Java usando os mesmo arquivos a partir desse [repositório aqui](https://github.com/NatSatie/replit-demonstration) e copiar o conteúdo em `Main.java` e `StringToNumber.java`.

Espero que tenham gostado do conteúdo, podem me seguir no Dev.to,  Github e Twitter.
mongodb operators
Tags: mongodb, programming, node
Published: 2022-01-12 15:26:02

$in
The $in operator selects the documents where the value of a field equals any value in the specified array.

```
jobIds [
  { _id: 61d3e5dc0b2613ae328cc0c5 },
  { _id: 61d3e66e0b2613ae328cc0c6 },
  { _id: 61d3e74a0b2613ae328cc0c7 },
  { _id: 61d556dc0b2613ae328cc169 },
  { _id: 61d57dc20b2613ae328cc16a },
  { _id: 61d580900b2613ae328cc16c },
  { _id: 61d59a9d0b2613ae328cc16d },
  { _id: 61d84bd90b2613ae328cc18f },
  { _id: 61d84c700b2613ae328cc190 },
  { _id: 61d92c710b2613ae328cc1ac },
  { _id: 61d92ecd0b2613ae328cc1ad },
  { _id: 61d947510b2613ae328cc1ae },
  { _id: 61d996ef0595f55e1f4e0a40 }
]
const mongoIds = jobIds.map(id => id._id)
     console.log("mongoIds", mongoIds)
     const result = await Slot.find({jobId: { $in:mongoIds }})
     console.log("result", result)
```

$exists
we can check the existence of the field in the specified collection using the $exists operator & setting it true

```
const queryObject = {
        jobId: { $in:objectIds },
        candidateId: {$exists: true},
        excluded: false
      };
```
생산성을 높이는 POSTMAN 기능 활용. 4편
Tags: tooling
Published: 2022-01-12 15:25:54

1편, API 인증 자동화로 API 호출을 좀 더 편하게 만들기.
2편, 콜렉션 수정내용 GIT 처럼 관리하기.
3편, API 호출 및 응답 예제를 작성해서 MOCK 서버 구축하기.
**4편, 다양한 요청 포맷을 IMPORT/EXPORT.**

## 4. 다양한 요청 포맷을 IMPORT/EXPORT.

POSTMAN은 HTTP Rest API 개발에 많은 편의를 제공하는 목적으로 사용되는 툴입니다. 그렇기에 실제 개발시에 API 호출을 편하게 실행시킬 수 있게 하기 위한 여러가지 기능들이 계속해서 추가되고 발전해오고 있습니다. 저는 백엔드 API개발 해오면서 최근 5년동안 POSTMAN을 사용해 오면서 기능들이 추가되어 가는 모습을 많이 지켜 볼 수 있었는데요. POSTMAN이 가장 초창기 부터 제공하던 기능이였으면서도 제가 너무나도 편하게 사용했던 기억 때문에 다른 툴보다 POSTMAN으로 정착하게 만들었던 기능을 오늘 소개하려고 합니다. 요청 가져오기와 내보내기 기능입니다. 

### 요청 가져오기
먼저, 어떤 형식이든 HTTP요청에 대한 정보가 있는 형식이라면, 모두 가져오고자 하는 포부가 담긴 가져오기 기능 부터 살펴보겠습니다. 이 기능은 솔직히 블로그로 소개하는 것자체가 무의미 하지 않을까 하는 너무나도 쉽게 사용할 수 있는 기능이라서 민망하게 느껴지기도 합니다. 하지만, 의외로 주변에 가져오기 기능을 잘 사용하지 않는 분들을 생각보다 많이 보면서 알려드리면 좋을 것 같아 소개하려 합니다. 

![import window](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dlrn4y6jst4f91u5sr47.png)

화면상에 보이듯이 현재 포스트맨이 가져올수 있는 형식은 OpenAPI, GraphQL, cURL, WDSL, HAR 이렇게 다섯가지 입니다. WDSL, HAR 형식은 최근에 추가 되었나 보네요. 백엔드 API개발을 하다보면, 기능 확인을위해 클라이언트를 직접 사용하면서, 호출이 어떻게 일어나고 응답되었는지 확인하기 위해 브라우저 개발자 도구를 사용 하게 될 때가 많이 있습니다. 대부분의 브라우저 개발자도구에서는 HTTP 요청 내역을 HAR이나 cURL 명렁으로 내보낼 수 있게 해주고 있기 때문에, 손쉽게 POSTMAN으로 가져와서 호출 테스트를 해볼 수 있게 됩니다. 웹앱에서 호출하는 API인 경우, 다음과 같이 너무 쉽게 가져올 수 있습니다.

![import1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/lmhxhr5w40moc8xu02fj.gif)

OpenAPI 형식을 가져오는 것도 꽤 유용한데요. OpenAPI 문서 관리가 잘되어있는 개발 조직이라면, POSTMAN 요청 컬렉션으로 아주 쉽게 가져올 수 있습니다. OpenAPI문서를 가져오게 되면 POSTMAN 내에 API로 등록 되고, API를 collection 으로 만들어낼 수 있습니다. POSTMAN에서 API 레벨로 관리하면 몇가지 유용한 기능을 추가로 사용할 수 있는데 다음에 기회가 된다면 자세하게 소개하겠습니다.

![import2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ycko2m3x0u77cjd9lmxr.gif)

### 요청 내보내기.
가져오기가 다양한 포맷으로 가져 올 수 있는 기능이었어서 내보내기 또한 동일 한 포맷으로 모두 내보낼 수 있을거라 생각했지만, 내보내기의 경우는 하나의 포맷으로만 가능합니다. POSTMAN에서 취급하는 collection format 으로만 내보내기가 가능합니다. 이 파일은 포스트맨에서만 사용되는 포맷이라 백업의 용도로만 사용 가능 합니다. 그리고 컬렉션 레벨에서만 내보내기가 가능합니다. 그래서인지 외부에서 다른 포맷으로 변환 해주는 기능들을 만들어서 공유하는 경우가 많이 검색되네요. [OpenAPI 형식으로 변환해주는 오픈소스 툴](https://github.com/joolfe/postman-to-openapi), [OpenAPI 형식으로 변환해주는 서비스](https://apitransform.com/)

![export](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bsgnpjsitco9uu4j6awy.gif)

요청 단위로는 내보내기 기능이라기 보다는, HTTP 요청을 호출할 수 있는 각언어별 코드 혹은 cURL 명령문을 자동으로 만들어주는 기능이 있습니다. API에 대한 명세 정보가 있지는 않지만, 이 기능을 사용해서, 각 언어별 HTTP호출 코드를 가져다 사용 할 수도 있습니다.
my-notebook using MongoDB
Tags: atlashackathon, mongodb, react, webdev
Published: 2022-01-12 15:23:14

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


### Overview of My Submission

Today, writing notes is very important in order to stay organised. Especially in Corperate sector, When you write all your tasks in form of notes, they seem more manageable. When you've got a clear outline of the tasks you've got to do and those you've completed, it helps you stay focused. Also it works as a reminder for you.

**my-notebook** is a web application that is used to keep your notes securly. Each user can create, edit and delete its own notes. It also authenticates the user before performing any CRUD operations.


### Submission Category: Prime Time


[Note]: # (E-Commerce Creation, Prime Time, Action Star, Automation Innovation, or Choose Your Own Adventure)



### Link to Code



{% github https://github.com/mohitm15/my-notebook %}


### Additional Resources / Info

[Note:] # (Be sure to link to any open source projects that are using your workflow!)
#### Technologies Used :
- **FrontEnd :** ReactJS & Framer Motion
- **Backend :** ExpressJS & NodeJS
- **DataBase :** MongoDB

#### ScreenShots 
[Note:] # Screenshots/demo videos are encouraged!

#### _SignUp Page_

![signup_page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/06v52ia1umt3pqzjs7a5.png)

#### _Login Page_



![login_page](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/92lt03wfto33xgspcctj.png)


#### _Home Page_


- Theme : **Dark**

![homepage_dark](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/igkrq7azed7sq6p4ktpj.png)

- Theme : **High Contrast**

![homepage_highcontrast](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/98r1q9p0qy6detyprg3x.png)

- Theme : **Dark Teal**

![homepage_teal](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wlxugxr5lh7ok7ve22m2.png)

- Theme : **Rainbow**

![homepage_rainbow](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x331zpeaspibuo9gw50u.png)

#### Demo video

[video](https://kapwi.ng/c/VdweXzAmR-)

PS: Project is built and hosted with MongoDB ecosystem and ❤️
What's the best way to learn JavaScript? There isn't any
Tags: javascript, webdev
Published: 2022-01-12 15:23:01

"What's the best way to learn JavaScript?" is a question that I hear/read all the time from beginners.

It's understandable. Nobody wants to waste time doing the wrong thing. However, focusing too much time trying to decide what the best learning resource is can lead you to analysis paralysis. And that **is** a waste of time.

**The thing is, there's no "best way" to learn JavaScript.**

**Learning is a very personal process.** Some people prefer to learn alone, while others learn better with someone who can guide them. While some people like to watch videos, others prefer reading books. That's the reason why there isn't a one-size-fits-all "best way" to learn JavaScript (or anything, for that matter.)

The best thing you can do is to **look for free resources** (thankfully there are many of them online) **and just try them out**. If you don't feel comfortable with a learning approach, just try something else until you find the best learning approach for you.

The good thing is, once you find what your preferred learning approach is, you'll know what to look for the next time you decide to learn something new.

It's very important to point out that if you have serious problems while learning, it doesn't mean that you're too "stupid" to be a programmer, that's BS. (If anything, I've met quite a few stupid developers 😅)

That may just mean that you should try a different learning method.

As for JavaScript, these are very good resources to begin your JavaScript journey:
 - [FreeCodeCamp's full JS video course](https://www.youtube.com/watch?v=jS4aFq5-91M&feature=emb_title)
 - [MDN's JavaScript Guide, if you're more into reading](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide)

However, **there's this one thing that every beginner should do while learning a new language: practice.** Coding is a skill, and you only develop that skill by practising. Building your own projects will help you internalise what you see in the courses, lessons, guides, etc. 

I've written [an article about project ideas](https://nicozerpa.com/how-to-get-project-ideas-to-practice-javascript) if you're interested.

In summary, stop looking for the "best" way, choose a method and go for it! If it doesn't work, you can always try something different.

---

Join my newsletter: every other Monday, easy and actionable steps to level up your JavaScript skills. https://nicozerpa.com/newsletter/
Configurable flask authentication app with auth0
Tags: atlashackathon
Published: 2022-01-12 15:21:46

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


### Overview of My Submission
Hi I have created a flask app that uses auth0 for authentication and mongodb as a configuration database. 
This allows me to change the auth0 client_id and client_secret in a db without having to redeploy my flask application. 
This is quite useful for demoing workflows for various auth0 applications. 

Auth0 allows me to run several rules on user login. Hence for users logging in from different sources I can redirect users for workflows like custom MFA or any other pre login activities.

### Submission Category: 

Choose Your Own Adventure


### Link to Code

[Link to Repo](https://github.com/fireballpoint1/mongoDbHackathon)


### Additional Resources / Info

Show some love for this hand drawn welcome logo for the application. (Used adobe fresco on an ipad)

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0njt91s0qc6rccf9r83c.png)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m1ufoipadrx4ofxce58a.png)
Create Stunning Visualization in One Line of Code. 
Tags: python, programming, datascience, webdev
Published: 2022-01-12 15:21:38

Pandas's plot API is a fantastic way to quickly create charts on our dataframes. By default, it creates Matplotlib charts in one line of code. 

Yet, the defaults aren't the best. 

We could turn the boring charts into beautiful visualizations. We only need to set the plotting backend to Plotly. 

We aren't done yet. 

Even if we set it to Plotly backend, Pandas doesn't let us create advanced charts such as surface plots. One more simple trick discussed will unlock it for you. 

Let's create some terrific visualization. 

[Create Stunning Visualizations for Pandas Dataframes in One Line of Code](https://towardsdatascience.com/advanced-pandas-plots-e2347a33d576?sk=26e942ceb5f8af7571f6f5c245d01f92)

> If you find this post interesting, please leave some claps on Medium as well because it helps this article reach more people.
Happy 10th Birthday Phalcon!
Tags: phalcon, phalcon5, birthday
Published: 2022-01-12 15:38:44

---
title: Happy 10th Birthday Phalcon!
published: true
date: 2022-01-12 15:20:20 UTC
tags: phalcon,phalcon5,birthday
canonical_url: 
---

Happy Birthday Phalcon! 10 years old and going strong!

It all started with this commit:

[3acec916ae9c026594fe0562ef3013be2cf47247](https://github.com/phalcon/cphalcon/commit/3acec916ae9c026594fe0562ef3013be2cf47247)

![](https://blog.phalcon.io/assets/files/2022-01-12-commit.png)

and the rest is history as they say.

> Admittedly, this post should have been published two days ago but I neglected to click “post”, so in reality Phalcon is 10 years old and 2 days at the time of this posting.

It has been a rough journey at times but mostly filled with joy and support from our wonderful community.

At the beginning, adoption was really slow - people just did not want to try something new and revolutionary. The ones that did realized the value of our framework and became Phalconeers for life. The speed boost in the PHP 5.x days was something that set Phalcon apart from any other framework.

As time went by and PHP 7 came up, we dropped the ball, offering support for PHP 7 more than 6 months after PHP 7 was released. That hurt the framework for sure, but with new members joining the core team and with changing our devops, we managed to overcome this hurdle and push forward.

With the upcoming version 5, we are going to realize our goals on setting a solid foundation on which the next versions will be built on.

Once again, a huge thank you to all of our contributors and supporters. You guys are what makes us push forward all the time!!
Are micro frontends still a thing?
Tags: discuss, javascript, react, webdev
Published: 2022-01-12 15:14:28

This idea was all the rage for a while: The idea is no longer trending like it once was, but is that because it has settled in as a common pattern or has the idea faded?

{% link https://dev.to/ruppysuppy/micro-frontends-the-next-gen-way-to-build-web-apps-16da %}
InnerSpace 🚀
Tags: life, newsletter, security, tdd
Published: 2022-02-03 08:59:51

---
title: InnerSpace 🚀
published: true
date: 2022-01-11 08:00:00 UTC
tags: Life, Newsletter, Security, TDD 
canonical_url: https://domenicoluciani.com/2022/01/11/inner-space.html
---

This year one of my annual resolutions was to be more present online.   
I want to be more visible and share more content.   
I want to create more articles and share them with more people.   
Learn from feedback and grow the number of people with whom I interact.

So, today I decided to create my newsletter called: InnerSpace 🚀

## RSS? Can you eat it?

I don’t know how many people still use feed RSS nowadays.   
I’ve been using them for a while, but I don’t see many people speaking about them anymore, so I decided to find another way to share my blog posts regularly without the need to share them everywhere.   
I have a RSS feed just [right here](https://domenicoluciani.com/feed.xml) maybe someone who is still using them could find it useful.

## Revue

I discovered [https://www.getrevue.co/](https://www.getrevue.co/), a simple tool that helped me to create my newsletter, customise it and even have a fixed subdomain where to find all the issues, for free. The experience was quite smoothly so far, let’s see how it goes.

## Topics

I will share my blog posts about:

- extreme programming
- system design
- security
- IoT
- thoughts, useful links and articles

## Insights

Revue also gives some insights about my articles, receiving passive feedback.   
Here I don’t have analytics and I think that I’m missing a lot of feedback from them.   
I think would be nice verifying which content you like most.   
For you to obtain more tuned content and for me to understand you better.

## Subscription

It’s free, you just need to subscribe, and once in a while, you will receive my issues.   
I don’t have a specific plan for them, I don’t want to put to myself any kind of constraint and I don’t want to set any kind of expectation.

You can find the newsletter here: [InnerSpace 🚀](https://innerspace.domenicoluciani.com)

I don’t know how it goes, but I’m looking forward to seeing it!

And as always any feedback is super appreciated!
الكلمات والاختصارات التي يستخدمها المطورون عند الحديث عن التطوير المتكامل للويب
Tags: javascript, serverless, devops
Published: 2022-01-12 15:03:32


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4r397qanhd419dc3owc2.png)
إذا كنت جديدًا على تعلم التطويرالمتكامل للويب وشعرت بالارتباك من بعض الكلمات والاختصارات التي يستخدمها المطورون عند الحديث عن التطوير المتكامل للويب ، ففي هذا المقال سأقوم بتجميع الكلمات والعبارات الأكثر شيوعًا المتعلقة بـه.

**1. Front-end**
جزء التطبيق أو موقع الويب الذي يتفاعل معه المستخدم مباشرة.

**2. Back-end**
جزء التطبيق أو موقع الويب الذي لا يمكن للمستخدم رؤيته أو التفاعل معه بشكل مباشر.

**3. Full-stack**
التطبيق أو موقع الويب بالكامل ، بما في ذلك الواجهة الأمامية والخلفية.

**4. DOM**
نموذج كائن المستند هو واجهة برمجة لمستندات الويب.يعتبر أحد الطرق الأساسية في بناء مواقع متفاعلة فيما بينها، حيث تُعتبر هذه الطريقة واجهة تسمح للغات البرمجة بمعالجة محتوى المواقع وهيكليتها.

**5. API**
واجهة برمجة التطبيقات هو مجموعة من البروتوكولات المستخدمة لإنشاء ودمج برامج التطبيقات. الغرض منه هو توفير وسيلة للبرامج للوصول بسهولة إلى البيانات وتبادلها.

**6. Encryption**
التشفير عملية تحويل المعلومات أو البيانات إلى رمز ،لمنع الوصول غير المصرح به بحيث تصبح غير مقروءة لأحد باستثناء من يملك معرفة خاصة أو مفتاح خاص لإعادة تحويل النص المشفر إلى نص مقروء.

**7.Decryption**
فك التشفير _ بينما يحول التشفير المعلومات إلى رمز ، فإن الغرض من فك التشفير هو تحويل رمز المعلومات نفسه مرة أخرى إلى شكله الأصلي.

**8. HTTP**
هو بروتوكول نقل البيانات على شبكة الويب العالمية.

**9. HTTPS**
يشبه بشكل أساسي HTTP  ، ولكنه يستخدم طرق التشفير لتأمين البيانات التي يتم تمريرها من وإلى صفحات الويب.

**10.(Continuous Integration, Continuous Delivery)**
التسليم المستمر (CD) هو منهجية لتطوير البرمجيات حيث تكون عملية الإصدار مؤتمتة.
التكامل المستمر (CI) هو ممارسة لتطوير البرمجيات حيث يستخدم أعضاء الفريق نظام التحكم في الإصدار ويقومون في كثير من الأحيان بدمج عملهم في نفس الموقع .

**11. UI(User Interface)**
هي مجموعة من الوسائل التي يتفاعل بها الأشخاص (المستخدمون) مع منتج أو خدمة . يحاول مطورو واجهة المستخدم (UI developers) جعل واجهة موقع الويب سهلة الاستخدام والتنقل.

**12. UX (User Experience)**
هي كل ما يرتبط بسلوك وموقف وإحساس المستخدم حيال استخدامه منتجاً أو نظاماً أو خدمةً معيّنة. يركز مطورو UX على جعل تصميم موقع الويب أكثر جاذبية لزواره.

**13. Serverless**
اللاّخوادم هي خدمة او تقنية تتيح لك بناء التطبيقات وتشغيلها بدون ما تشيل هم السيرفر وهذا لا يعني انه لا يوجد سيرفرات ، فهي موجودة بالفعل ولكن المطور ما يحتاج يشيل هم كيفية بناؤها. يعني تقنية توفر عليك كمطور الكثير من الجهد والوقت.

**14. Request/Response**
الطريقة التي تتواصل بها الواجهة الأمامية والخلفية مع بعضها البعض هي من خلال الطلبات والردود. يمكن للمسخدم في الواجهة الأمامية طلب بيانات من الواجهة الخلفية ، حيث يتم إرسال هذه البيانات كرد من  الواجهة الخلفية.

**15. Database**
قاعدة البيانات عبارة عن مجموعة منظمة من البيانات ، وفي معظم الأحيان تكون قواعد البيانات مطلوبة لتخزين كميات كبيرة من بيانات المستخدم.
Developer Education & Enablement
Tags: devrel, news, startup
Published: 2022-01-12 15:01:25

**Theme of the week**
_Do VCs care for developer education?_

With more and more software-driven and developer-focused startups and companies popping up, it's only natural that we should look into what VCs think about developer education and also enablement.  

To discuss this, we are joined by Nate Aune , founder and CEO of Appsembler and Shannon Bradshaw - Education Partner at Unusual Ventures.

Here are the topics we discussed: 
- Has the VCs’ appetite for developer education topics changed?
- Do VCs care for developer education or enablement?
- Why is developer enablement important to VCs?
- How can one convince VCs of the value of developer education?
- What kind of metrics can you use to prove its value?
- What type of developer enablement strategy or focus can influence VC buy-in?

How do you expect developer education or enablement to evolve in the future?

And more!

Listen to this episode to better understand what we mean by "developer education & enablement" and what VCs think of it.
{% spotify spotify:episode:1WzEwiAolFBEXiBu2lgYQB %} 

Let's talk data! Shannon and Nate chose to talk about [Documentation, tutorials, tools and community engagement are the core of developer programs](https://www.devrelx.com/trends?lightbox=comp-kisq1dnj__1b7aeccb-b4aa-4bb0-9ab5-c874e5fa15d5_runtime_dataItem-kisq1dsx). 

**Shannon Bradshaw** is Education Partner at Unusual Ventures, responsible for overall content strategy at Unusual and education services for the Get Ahead Platform.  Prior to joining Unusual Ventures, Shannon was an executive at MongoDB, Inc. from their time as a startup through IPO and beyond. At MongoDB, he led the MongoDB University and Documentation teams with an education strategy that continues to drive widespread adoption of MongoDB software and services.

**Nate Aune** plays a strong community role in the development of Open Source Software. As a social entrepreneur, he values openness, transparency and sustainable development. Nate thrives on exploring ideas with smart creative people, and then executing on those ideas.


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

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/errxt5pcgd935oxfa0hs.jpg)
Opppsss you did it again?
Tags: rust, bash, linux, devops
Published: 2022-01-12 14:46:13

Hey all,

Did you ever run a command by mistake? 

- delete a folder recursively? 
- `git reset --hard` and remove all your work?
- Or any command that you can think of as risky.

`Shellfirm` is a handy utility to help avoid running dangerous commands with an extra approval step.

See more on GitHub page:
https://github.com/kaplanelad/shellfirm
I Made a Firefox Extension. Custom keyboard shortcuts (Vim-style)
Tags: firefox, extension, vim, javascript
Published: 2022-01-12 14:33:42

I 🧡 Firefox.
I 🧡 Vim Keymaps.

...🤔...

## [vimode](https://addons.mozilla.org/en-US/firefox/addon/vimode/)
is an Add-on that let us to use [vi-like operations](https://github.com/ghsable/vimode#vi-like-operations) on Firefox !!

### Demo
[![demo_vimode.gif](https://raw.githubusercontent.com/ghsable/vimode/main/.readme/images/demo_vimode.gif)](https://raw.githubusercontent.com/ghsable/vimode/main/.readme/images/demo_vimode.mp4)

Have fun! ;D

## Links
> - [Download for Firefox](https://addons.mozilla.org/en-US/firefox/addon/vimode/).
> - ⭐ me on [GitHub](https://github.com/ghsable/vimode).
> - Follow me on [Dev](https://dev.to/suna) and [GitHub](https://github.com/ghsable).