teleren/devto huggingface dataset:
How to find customers for software houses? Innovate for free!
Published: 2022-12-19 15:14:09

Have you tried to find customers, for your SoftwareHouse, using the popular Snov and Hunter tools?

I also tried, but due to the fact that they have ready-made databases, I had to give up on their solution. Therefore, I created my own tool that is able to show me small, medium, and large companies (that are not in any databases), and my tool behaves like a browser and searches for clients in real-time.

**Let's start from the beginning.**

Snovio and Hunter are tools that help generate leads and prospects for sales and marketing professionals. Both tools offer features such as email address and contact information search, email verification, and data enrichment.

Snovio is a lead generation and data enrichment platform that provides a range of services, including email address search, domain search, company search, and email verification.

Snovio's email address search tool allows users to search for email addresses by name, company, or job title. The tool also offers data enrichment services, including company information, social media profiles, and contact information.

Hunter is a tool that helps sales and marketing professionals search and verify email addresses, as well as generate lead lists.

Hunter's email address search tool allows users to search for email addresses by name and domain, and offers email address verification services to ensure that email addresses are accurate and deliverable. Hunter also offers integrations with many CRM and marketing automation tools, making it easier to manage and use the data generated by the tool.

Overall, both Snovio and Hunter offer similar features for lead generation and prospecting, but Snovio has a broader range of data enrichment services, while Hunter has a more robust set of integrations with CRM and marketing automation tools.

But they have significant drawbacks when it comes to capturing data in innovative ways. Real-time search capabilities are lacking, as is the ability to automatically verify emails.
LeadBrowser allows you to search for companies that don't have websites!


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

I decided to publish open-source to help people like me. I hope my solution will help you and you can enjoy good deals.

**Repository: https://github.com/LeadBrowser/app**
Where to Learn MongoDB in 2023
Tags: webdev, 100daysofcode, beginners, mongodb
Published: 2022-12-19 15:13:23

If you ask OpenAI where to learn MongoDB, you get a pretty dull answer:

> MongoDB offers a variety of online and offline resources to help you learn MongoDB, including official documentation, tutorials, and the MongoDB University course. Additional learning resources include the MongoDB blog and community resources like MongoDB Atlas and Stack Overflow.

It's ok but not the best response - MongoDB Atlas is a platform, not a community resource - so I'm giving you our list of where we recommend learning MongoDB.

## 1. YouTube
Whether you want to [learn MongoDB in 30 Minutes](https://www.youtube.com/watch?v=ofme2o29ngU), [Learn MERN stack](https://www.youtube.com/watch?v=ofme2o29ngU) in an hour, or take on [Full Stack Web Development](https://www.youtube.com/watch?v=nu_pCVPKzTk&t=15530s) with freecodecamp, or a course to [learn Python in Hindi](https://www.youtube.com/watch?v=X3eSATZhXp0&t=278s), there's pretty much something for everyone.

## 2. MongoDB University
Just relaunched in November, the new MongoDB University available at [learn.mongodb.com](https://learn.mongodb.com/catalog?labels=%5B%22Learning%20Format%22%5D&values=%5B%22Learning%20Path%22%5D) completely revised its beginner level content and associate level certifications. 

## 3. Udemy
Do you just prefer to pay for learning? Udemy has great courses for web development for every programming language. My personal favorite is the [MERN stack front to back course](https://www.udemy.com/course/mern-stack-front-to-back/), which is discounted right now to just $15.99 from $84.
 
## 4. MongoDB Developer Center
If you prefer to learn from step by step tutorials and code examples, the MongoDB Developer Center offers articles, quick starts, github repositories for every programming language. As an example, here's the aggregated page for [Next.JS tutorials](https://www.mongodb.com/developer/technologies/nextjs/).

## 5. Official Documentation
And, of course, the official MongoDB documentation will always prove useful. In particular, users find the [MongoDB guides](https://www.mongodb.com/docs/guides/) helpful. 

Photo by <a href="https://unsplash.com/@nickmorrison?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Nick Morrison</a> on <a href="https://unsplash.com/s/photos/learning?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
Intro to Encryption
Published: 2022-12-19 15:08:57

Encryption is the act of encoding data to keep it secure as it passes from the sender to the receiver.  It is used to keep sensitive information private allowing it to only be viewed by authorized persons or organizations.  Encryption is crucial to keeping data secure as it travels electronically through networks and over the internet. This blog will serve as a basic introduction that includes a brief history of the field, an exploration of how it works, and an examination of different methods that are used. 

For nearly as long as humans have had the ability to write and share messages, they have been creating ways to keep the messages keep the messages from being viewed by others. Many of the earliest documented uses of encryption were efforts made by militaries to keep their enemies from deciphering their intercepted communications.  The most famous is the Caesar Cipher where the intended receiver would know how many many letters (the key) to increment to decode the message. This was a fairly ineffective method though, as the number of attempts to crack the code is the number of letters of the alphabet. The Enigma machine,  used by the Axis powers could electro-mechanically scramble the letters of a message.  This device took in plain text and outputted cipher text, the receiving party knew the settings, which were changed daily, and use their own device when it was received to decrypt it. Poland was able to crack the code in 1932, which was instrumental in leading to the Allies' success. 

Today, mathematical algorithms encrypt nearly all the data that travels electronically. The most common methods that programmers use are symmetric-key, asymmetric-key, and hash functions. Symmetric-key encryption is when the sender and receiver use the same key to gain scramble and unscramble the data. In order for the data to remain secure, both parties must keep the key private, which makes this method less reliable than more sophisticated methods.  

Public-key encryption is the asymmetric alternative, which uses a public key and a private key.  The public key is used to encode the data and the private key decodes it.  With this method, only the private key must be secured to maintain security. 

Today's computers need to be way more sophisticated than the early methods. Where the earliest encryption methods had cipher texts the same length as the raw messages today, the keys are made longer. Algorithms can be used to map every character to another the repeat the code mapping with a different function, this process is repeated many times over until the encryption is unlikely to be compromised by even the most powerful computer the standard length for modern keys is 256-bit. 

With everyone sending banking information, passwords, and credit card over the internet it is crucial that the data remain out of the hands of hackers. Encryption methods continue to advance and become more and more sophisticated to protect all the sensitive data that is constantly being passed around the internet.
What are your goals for the week of December 19?
Published: 2022-12-19 15:08:00

What are your goals for this week? 

I'm trying to decide if I want to run these posts during the break. I may just post the questions next week. 

I'll still make some CSS art. 

 
- What are you building? 
- What will be a good result by week's end?
- Did you meet your goals last week?
- Advent of Code and other code challenges are  going on. Are you participating in any of the code challenges? Last week for most of those.

[Read my list of challenges.](https://dev.to/jarvisscript/2022-advent-code-challenges-5445)

**Last Week's Goals**

Last Friday was the front-end horse Snowtacular. half a day of live streaming front-end sessions. I watched that instead of work on my sweater project.
Snowtacular [replay on YouTube](https://www.youtube.com/watch?v=pqEa284Mr-Y&feature=youtu.be).

- [:white_check_mark:] Continue Job search. Did some applications, but mostly networked on LinkedIN. 
- [:white_check_mark:] CSS ugly sweater art. Working on one. 
- [:white_check_mark:] Write blog posts. I edited the CSS R2D2 post. And some non tech stuff. But not a full post like I usually do.
- [:x:] Support VC members with our Monthly Challenge. Did not check in as much as I wanted to. 
- [:white_check_mark:]Solve advent of CSS and Advent of JS challenges. I solved the CSS section of the rock, paper, scissors challenge. Then used the video tutorial to do the JavaScript section. #adventofcss

**This Week's Goals**
 

- Continue Job search. 
- CSS ugly sweater art. 
- Write blog posts. 
- Support VC members with our Monthly Challenge. 
- Solve advent of CSS and Advent of JS challenges. 
- Finish Christmas shopping. Wrap stuff. 
```
-$JarvisScript git push
```
DevTools for your Backend Server
Tags: webdev, monitoring, javascript, rust
Published: 2022-12-19 15:05:05

So, a few days back, I came across a thread on Twitter where a fellow developer was looking for a "Dev Tools" like offering for their backend micro-service. What they wanted was a `Network Monitor` that could give a segregated overview about the incoming requests & the responses the server was sending each time. Enterprises usually run with enterprise licenses for Monitoring tools such as **NewRelic** or **Dynatrace** which are really good at what they do, but the problem is that these are enterprise software offerings that cost a ton of money. There are other free and open source alternatives but they're usually somewhat bloated and using Wireshark is most likely going to be an overkill for this simple use case.

Anyway, the Supabase LaunchWeek 6 was right around the corner and I was wanting to check their platform out for quite some time now, so a colleague and I decided to build [HTTP Sense](https://www.httpsense.com) for it.

[HTTP Sense](https://www.httpsense.com) is a reverse proxy and network monitoring tool that provides comprehensive network monitoring for your backend servers and micro-services. It provides a secure and high-performance gateway that can be used to monitor incoming traffic. HTTP Sense's features include real-time traffic analysis, application-level filtering, user authentication, and more. 

The best part is, you don't need to use an SDK or a library to integrate HTTP Sense into your project, in fact, you don't need to integrate HTTP Sense into your project. It is a simple reverse proxy that will accept HTTP requests on your server's behalf and forward it to your server, at the same time, it doubles down as a network monitor and provides a cool dashboard where you can view your network transactions in detail. 

If you're interested in trying it out, please visit [our website](https://www.httpsense.com) for detailed instructions on how to setup and use HTTPSense as a Reverse Proxy and Network Monitor.

Here's a few images of our dashboard:


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

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


We currently have added support for all incoming requests and will soon be adding support for outgoing requests as well. We're an open source project, so please feel free to try us out and also collaborate on HTTP Sense if you would like to. I'll keep posting here as we continue to develop this into a feature rich, free monitoring solution for all the devs out there.

Our Repository:
[HTTP Sense Repository](https://github.com/http-sense/http-sense)

Here's a preview of our tool:

{% embed https://httpsense.com %}

You can follow me on Twitter at [@tchyut_p](https://twitter.com/@tchyut_p)
Music Monday — What are you listening to? (Christmas Edition 🎄)
Tags: watercooler, music, discuss
Published: 2022-12-19 14:59:20

_cover image source: [Christmas Music](https://giphy.com/christmasmusic/)_

**🎶 _It's the most wonderful time of the year..._ 🎶 That's right y'all, we're doing Christmas music! 🎅🤶 So, get suited up in your most festive sweater, grab your gifts, and prepare to be merry. We're about to deck the halls with some Christmas tunes! And while I say Christmas, it's totally cool for folks to drop songs for your holiday of choice. Y'all ready to jingle bell rock?!**

![You see a Seussian cartoon room with a Christmas tree and gifts under it, a gramophone sits in the foreground. A green hand reaches into the screen and sets the needle of the gramophone onto a spinning record. One by one, the words "You're a mean one, Mr Grinch!" appear on screen.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o76m6v0rno51rm3fhutg.gif)

***

## How we do 

In this weekly series, folks can chime in and drop links to whatever it is they've been listening to recently + browse others suggestions.

If you like talking about music, consider following the org [#music discussions](https://dev.to/music-discussions) for more conversations about music!

{% embed https://dev.to/music-discussions %}

***

So, let's hear y'all's favorite Christmas tunes! _Note: you can embed a link to your song using the following syntax `{% embed https://... %}`. This should work for most common platforms!_

I look forward to listening to y'all's suggestions! 🎶
Software Engineering: Do You Concur?
Published: 2022-12-19 14:57:53

## Reading A Great New Book
I just added the book, [Modern Software Engineering: Doing What Works to Build Better Software Faster](https://amzn.to/3PAhBwY) to my bookshelf & began reading it last night.

### Authors With Great Ideas, Who Clearly Express Them
I am so amazed by this clear, clean, lucid explanation (& I'm always excited to find people/authors who think this way) that I had to share it.

## Two Main Principles of Software Engineering
These ideas of the foundation of what Software Engineering really is are what I've thought about building software for many years but have never been able to express them this way.

## Great Content From the Introduction (my emphasis)
    

> Software development is a **process of discovery and exploration**; therefore, to succeed at it, <u>software engineers need to become experts at learning</u>.

> When we organize our thinking this way and start to make progress on the basis of many small, informal experiments, we begin to limit our risk of jumping to inappropriate conclusions and end up doing a better job.

> <u>Software engineering is the application of an empirical, scientific approach to finding efficient, economic solutions to practical problems in software</u>.

> This means that we must manage the complexity of the systems that we create in ways that maintain our ability to learn new things and adapt to them.

> **So, we must become experts at learning and experts at managing complexity**.

> There are five techniques that form the roots of this focus on learning. Specifically, to become experts at learning, we need the following:
> * Iteration
> * Feedback
> * Incrementalism
> * Experimentation
> * Empiricism

> This is an evolutionary approach to the creation of complex systems. 
**Complex systems don’t spring fully formed from our imaginations. They are the product of many small steps**, where we try out our ideas and react to success and failure along the way. These are the tools that allow us to accomplish that exploration and discovery.
> To become experts at managing complexity, we need the following:
> * Modularity
> * Cohesion
> * Separation of Concerns
> * Abstraction
> * Loose Coupling


I really love this initial explanation.

## Two Main Strengths To Understand Building Software
We need two main strengths:
1. An expert understanding of Learning
2. Deep understanding of how to manage complexity

## Always Learning
We'll never attain these entirely, but as we become better at both of those our ability to create elegant solutions grows by leaps & bounds.

## Complex Systems Only Arise From Simple Ones
Also, really like that the author includes the idea of incrementalism.
Complex systems can only be built from simple ones.

What do you think about these concepts?
Docker vs Rancher
Tags: docker, programming, devops
Published: 2022-12-19 14:49:15

Docker Desktop and Rancher Desktop are both popular tools that allow users to easily deploy and manage containerized applications. Both tools have their own unique features and benefits, but which one is right for you? In this article, we will compare Docker Desktop and Rancher Desktop and provide a list of their pros and cons to help you decide.

Docker Desktop is a tool designed to make it easy for developers to build and deploy containerized applications. It comes with a variety of features, including the ability to create and manage containers, build and share container images, and run containerized applications on local or remote servers. One of the main benefits of Docker Desktop is its simplicity and ease of use, making it a great tool for developers who are new to containerization.

On the other hand, Rancher Desktop is a more powerful and feature-rich tool that is designed for larger organizations and enterprise environments. It allows users to easily manage and deploy containerized applications across multiple servers, making it a great tool for teams that need to scale their containerized applications. Rancher Desktop also comes with a variety of features, including the ability to monitor and troubleshoot containerized applications, create and manage multiple environments, and set up automated workflows.

So, which tool is right for you? Here is a list of the pros and cons of each tool to help you decide:

**Docker Desktop:**

**Pros:**

- Easy to use and learn, making it great for developers who are new to containerization
- Comes with a variety of features that allow users to create and manage containers and build container images
- Can be used to run containerized applications on local or remote servers

**Cons:**

- May not be as powerful or feature-rich as Rancher Desktop
- May not be suitable for larger organizations or enterprise environments

**Rancher Desktop:**

**Pros:**

- Powerful and feature-rich tool that is great for larger organizations and enterprise environments
- Allows users to easily manage and deploy containerized applications across multiple servers
- Comes with a variety of features that allow users to monitor and troubleshoot containerized applications, create and manage multiple environments, and set up automated workflows

**Cons:**

- May be more complex and harder to learn for developers who are new to containerization
- May not be suitable for smaller organizations or individual developers

In conclusion, both Docker Desktop and Rancher Desktop are great tools that can be used to manage and deploy containerized applications. If you are a developer who is new to containerization or are working in a small organization, Docker Desktop may be the right choice for you. On the other hand, if you are working in a larger organization or enterprise environment, Rancher Desktop may be the better option due to its power and features. Ultimately, the decision will depend on your specific needs and requirements.
* / + = % Ma'limot !
Published: 2022-12-19 14:49:01

**Foizli bo'lish usuli uchun **
   

```cpp
int main (){
cout << 3 / 10 << endl;
  cout << 3 % 10 ;
  }  
```



**Masalada undovni (!) ni chiqarish uchun** 
 

```cpp
 cin >> son;
  cout << son /10000 << '!';
 cout << son / 1000 % 10 << '!'; 
cout << son /100 % 10 << '!';
cout << son/ 10 % 10 << '!';
  cout << son %10;

```
**sonni markazga o'tkazish uchun **
   

```cpp
int son ; 
  cin >> son;
   cout << 100 % 10;

```
@dawroun
+ - / * % HAQIDA MA'LUMOT,
Published: 2022-12-19 14:44:22

+ - / * shulani hammasi matematikada qanaqa qanaqa vazifani bajarsa masala ishlashda ham huddi shunaqa.Faqatgina % boshqa funksiyani bildiradi.

```cpp
 cout<< 3 / 10 << endl;
 cout << 3 % 10 ;
```
% misolni suratini chiqazadi.

```cpp
int a = 123;
   cout << a / 100 % 10 << endl;
   cout << a / 10 % 10 << endl;
  cout << a % 10;

  return 0;
}
```
Sonlarni oldidan undov chiqarib ishlashimiz ham mumkin.

```cpp
int son;
  cin >> son;
 cout << son / 10000 << '!';
 cout << son / 1000 % 10 << '!';
  cout << son / 100 % 10 << '!';
 cout << son / 10 % 10 << '!';
 cout << son % 10 ;
  return 0;
}
```
5 honali soni o'rtasidan 3 honadagi soni oshimiz ham mumkin.

```cpp
int son;
  cin>>son; 
  
 cout << son / 100 % 10;

  return 0;
}
```
@dawroun
TypeGuards in TypeScript
Tags: typescript, javascript, webdev, node
Published: 2022-12-19 14:30:58

One useful feature in TypeScript is type guards, which allow you to narrow down the type of a value within a type hierarchy. This can be especially useful when working with complex data structures or when interacting with external libraries.

To create a type guard in TypeScript, you can use the typeof operator or the instanceof operator. The typeof operator allows you to check if a value is of a certain primitive type, such as number, string, or boolean. The instanceof operator, on the other hand, allows you to check if a value is an instance of a particular class or constructor function.

Here is an example of using the typeof operator to create a type guard:

```typescript
function isNumber(x: any): x is number {
  return typeof x === 'number';
}

let x = 4;
if (isNumber(x)) {
  console.log(x.toFixed(2)); // 4.00
}

```
In this example, the isNumber function is a type guard that checks if the value passed to it is of type number. If it is, the function returns true, and the type of x within the if block is narrowed down to number. This allows us to use the toFixed method on x, which is only available on number values.

Here is an example of using the instanceof operator to create a type guard:

```typescript
class Point {
  x: number;
  y: number;
  constructor(x: number, y: number) {
    this.x = x;
    this.y = y;
  }
}

function isPoint(x: any): x is Point {
  return x instanceof Point;
}

let x = new Point(0, 0);
if (isPoint(x)) {
  console.log(`(${x.x}, ${x.y})`); // (0, 0)
}

```
In this example, the isPoint function is a type guard that checks if the value passed to it is an instance of the Point class. If it is, the function returns true, and the type of x within the if block is narrowed down to Point. This allows us to access the x and y properties on x, which are only available on Point instances.

Type guards are a powerful tool in TypeScript that can help you write safer and more reliable code. By narrowing down the type of a value within a type hierarchy, you can avoid runtime errors and take advantage of the type-checking features of TypeScript.