teleren/devto huggingface dataset:
How to Reach Out to a Recruiter
Tags: career, codenewbie, webdev, beginners
Published: 2021-12-12 16:08:49

## 1. Be realistic about how recruiters work

Most recruiters are managing more than 50 candidates at a time. If recruiters responded to every random inquiry, they wouldn't have time to fill jobs. That's why it's critical to reach out to them with a targeted approach.

## 2. Know what type of recruiter you're targeting.

You need to understand exactly which type of recruiter - internal, external, or executive - you're reaching out to so you can position yourself properly. Make sure that the recruiter you're approaching is appropriate for your desire role and needs.

## 3. Prepare for your approach

Before you reach out to the recruiter, update your LinkedIn profile and resume, do your research about the organization and role in question, and prepare to send any materials that they might want to screen before an interview.

## 4. Explain the "Why"

There are two reasons to approach a recruiter: to help them fill an existing opening or to make them aware that you're interested in future openings.

Explain what you're interested in and why. If you're a good fit for an existing role, you could get some immediate traction. If not, they may enter your information into their database for future openings.

---

### Let's connect 💜

You can follow me on [Twitter](https://twitter.com/MrDanishSaleem), [Instagram](https://www.instagram.com/mrdanishsaleem/) & [GitHub](https://github.com/mrdanishsaleem/)

If you like this post. Kindly support me by [Buying Me a Coffee](https://www.buymeacoffee.com/mrdanishsaleem)

![Buy Me a Coffee](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fefzbxbnwww7tkght33w.png)
2D puzzle "PWM Simulator"
Tags: gamedev, indiedev, puzzle, love2d
Published: 2021-12-12 16:05:36

Here is a technical demo of my game. It lacks a menu and any settings, and the graphics are highly sketchy. My main goal was to test the idea of the gameplay.

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

- **Title:** PWM Simulator.
- **Genre:** 2D puzzle.
- **Date of start of work:** Wed Dec 09, 2020.
- **Date of release:** Fri Jul 09, 2021.
- **Developers:** only me.
- **Game engine:** [LÖVE](https://love2d.org/).

**Summary:**

The **blue** plot displays a random analog signal. The **light green** plot displays the signal derived from the digital signal (see below) by passing it through an [RC circuit](https://en.wikipedia.org/wiki/RC_circuit).

The digital signal is generated by the user: when the mouse button is pressed, the signal level becomes **logical high**, when the mouse button is released, the signal level becomes **logical low**.

The goal of the game is to replicate the shape of the blue plot by the light green plot as close as possible.

**Description:** [https://github.com/thewizardplusplus/pwm-simulator/blob/master/docs/gameplay.md](https://github.com/thewizardplusplus/pwm-simulator/blob/master/docs/gameplay.md).

**Controls:**

Activate the custom plot by clicking the mouse or tapping on the touch screen. The plot remains active only during the interaction.

Pause by clicking the <kbd>||</kbd> button. To resume, click the <kbd>|></kbd> button.

**Builds:**

- [LÖVE game file](https://love2d.org/wiki/L%C3%96VE_Game_File) (533 KiB): [https://github.com/thewizardplusplus/pwm-simulator/releases/download/v1.5.4/pwm-simulator.love](https://github.com/thewizardplusplus/pwm-simulator/releases/download/v1.5.4/pwm-simulator.love)
- Windows (4.1 MiB): [https://github.com/thewizardplusplus/pwm-simulator/releases/download/v1.5.4/pwm-simulator-win64.zip](https://github.com/thewizardplusplus/pwm-simulator/releases/download/v1.5.4/pwm-simulator-win64.zip)
- macOS (5.79 MiB): [https://github.com/thewizardplusplus/pwm-simulator/releases/download/v1.5.4/pwm-simulator-macos.zip](https://github.com/thewizardplusplus/pwm-simulator/releases/download/v1.5.4/pwm-simulator-macos.zip)
- Linux (in [AppImage](https://appimage.org/) format; 4.15 MiB): [https://github.com/thewizardplusplus/pwm-simulator/releases/download/v1.5.4/pwm-simulator.AppImage](https://github.com/thewizardplusplus/pwm-simulator/releases/download/v1.5.4/pwm-simulator.AppImage)

**Source:**

- this game (MIT license): [https://github.com/thewizardplusplus/pwm-simulator](https://github.com/thewizardplusplus/pwm-simulator)
- the library that implements a model of a 2D plot (MIT license): [https://github.com/thewizardplusplus/luaplot](https://github.com/thewizardplusplus/luaplot)
22nd weekly post, remaining ratio. Also, Log4Shell.
Tags: css, aws, java
Published: 2021-12-12 15:58:43

## Items of the week

- **CSS** - `aspect-ratio` can be used to set a preferred width-to-height ratio of a box, it accepts values of `<ratio>` data type, e.g. `16/9`. [More about this CSS property is explained on MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/Media/images/aspect_ratio_mapping).

- **AWS Lambda** - the context object passed to a handler function includes a method `getRemainingTimeInMillis()` which returns the approximate remaining execution time before timeout. Picked that up from chapter 6 of [Serverless Architectures on AWS](https://www.goodreads.com/en/book/show/29970427).

- **On the week 49 of 2021**, we saw a remote code execution vulnerability on the popular Java logging library - Apache Log4j. Now also known as Log4Shell, the exploit allows arbitrary Java code to be executed, [more details about this on LunaSec blog](https://www.lunasec.io/docs/blog/log4j-zero-day/).

This is a weekly bite-sized post on web app development from JavaScript to UX and technology in general. Thank you for reading and have a nice day!
Starting my App Startup Journey!
Tags: flutter, startup, business, mobileapp
Published: 2021-12-12 15:43:55


Hi, welcome to my blog. It will hopefully be one of many blogs to come in the future. It is all about the project, which I will build from the ground up. In my Flutter mobile app development career of over two years, I have developed 50+ apps. But there's something different for me this time.

This time I will not be building an app for my client. But I will be developing it for myself.

## General Idea

Uptime - A productivity App

Uptime is an app that will focus on productivity. It will be implementing the Pomodoro productivity technique with schedule features.

The point of this app will be its beautiful user interface. It will have a minimal layout and smooth animations.

## Current Status

Currently, I have finalized the UI along the side of the architecture, but I still haven't started the development.

## Timeline

I am giving myself 30 days from starting from today to build the app and publish it on both google play store and Apple AppStore.

## Why get public before release?

I am sharing my story with people who want to see a developer like them start an app from scratch. Alongside that, I also want to document my journey and look at it in the future.

## Future

I will be writing one or two blogs every day regarding this project, so I would recommend you to follow me to stay updated.

  

## Follow Me:

[On LinkedIn](https://www.linkedin.com/in/aasharwahla/) -> https://www.linkedin.com/in/aasharwahla/

[On Instagram](https://instagram.com/aashar.wahla) -> https://instagram.com/aashar.wahla
Advent of Code 2021 - Day 12
Published: 2021-12-12 15:03:00

---
title: Advent of Code 2021 - Day 12
published: true
description: In this video series, I try to challenge myself with the Advent of Code trials. Each solution will be published to Github, and I hope you will learn something from my coding mistakes and perhaps send some code my way on how you have done these challenges. I know by reading code, so this is such an exciting thing for me.
tags:
cover_image: https://i.ytimg.com/vi/w0d8Wvagzmo/maxresdefault.jpg
---

{% youtube w0d8Wvagzmo %}

In this video series, I try to challenge myself with the Advent of Code trials. Each solution will be published to Github, and I hope you will learn something from my coding mistakes and perhaps send some code my way on how you have done these challenges. I know by reading code, so this is such an exciting thing for me.
Free resource from Harvard Stanford and Yale to target your resume at American companies
Tags: resume, cv, javascript, engineer
Published: 2021-12-12 15:02:27

I'd spent over two year sending out applications and not getting any response from American remote-first companies before I had landed my first remote job back in 2016. I figured out a working version of my resume intuitively. 

I wanna help you reduce the time you spend on tailoring your resume by sharing these free resources from Harvard, Yale and Stanford that have some meaningful advice that helped me cut down the jobs search time to two months. 

In these guides you will find general guidance, formatting, and common mistakes. There are also sample resume templates that you can use and some action verbs to help you improve the wording. This is my curated list tha I use for myself and I'm gonna update it as I come across more resources. 

## Resume and cover letter examples and tips by top American universities:

[Resumes by Yale](https://ocs.yale.edu/channels/resumes/)
[Resume and Cover Letter Examples by Stanford](https://beam.stanford.edu/sites/g/files/sbiybj10676/f/resume_and_cover_letter_examples.pdf)
[Resume and Cover Letter Guide by Harvard](https://ocs.fas.harvard.edu/files/ocs/files/undergrad_resumes_and_cover_letters.pdf)
[Transitional Resume by Washington University](https://students.wustl.edu/wp-content/uploads/2018/12/Transitional-Resumes-17-Accessible-PDF.pdf)


## Action Verbs to help you reword and unpack your experience
 
[Action Verbs by Stanford](https://www.gsb.stanford.edu/sites/gsb/files/action-verbs.pdf)
[Action Verbs by Yale](https://cdn.uconnectlabs.com/wp-content/uploads/sites/77/2020/05/2016_Resume_Action_Verbs-1.pdf)
[Action Verbs by Washington University](https://students.wustl.edu/wp-content/uploads/2018/12/Resume-Words-17-Accessible.pdf) 

Resume tells your story and these guides can be used to tailor your story to any kind of position or company be it technical or non-technical one, one at startup or a large corporation. The format is universally accepted including positions at remote-first companies. 

Let me know if this is helpful and if you know any other resources I should include in the list! Good luck!
NoSQL database
Tags: database, nosql
Published: 2021-12-12 14:44:51

**What is NoSQL database**

That the data is sorted in a document rather than relational tables(Not only SQL). Relational databases rely on tables, columns, rows, or schemas to organize and retrieve data. In contrast, NoSQL database do not rely on these structures and use more flexible data models.

That the data is sorted in a document rather than relational tables. NoSQL databases have unique features. Flexible schemas, Horizontal scaling, Fast queries due to data model, Ease of use for developers.

**Most popular NoSQL Databases**

MongoDB, CouchDB, CouchBase, Cassandra, HBase, Redis, Riak, Neo4J.

**NoSQL database types**

- Document databases
- Key-Values stores
- Column oriented databases
- Graph database

**Document databases**

Real world example :
Story book contains story in the pages, When we going to add this story book into a relational tables, story texts goes to a one table, authors goes to another table, publishers goes to another table, titles goes to another tables like that we need to handle separate tables. But in the document database we can sorted this into single entity.

![A chart showing](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xpnidkzjke9h39sso54q.png)
The document type databases are sorted in format like JSON.

**Key-Values stores**

A telephone directory is a good real example, where the key is the person, and the value is the phone number. Key-Value databases store data as a hash table where each key is unique, and the value can be a JSON, BLOB(Binary Large Objects), string, etc.

ex:

![img2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zy9ejeovutk6fysib4g3.png)Key-value stores store everything as a key and a value.

**Column oriented databases**

Column-oriented NoSQL databases are widely used to manage data warehouses, business intelligence, CRM, Library card catalogs. A column database is faster and more efficient than a traditional database because the data storage is by columns rather than by rows.

ex:

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

**Graph database**

Graph base databases mostly used for social networks, logistics, spatial data. Graph database is a database that uses graph structures for semantic queries with nodes, edges, and properties to represent and store data. A key concept of the system is the graph.

ex:

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

**Why we use NoSQL databases?**

- NoSQL provides high level of scalability.
- It is used in distributed computing environment.
- Implementation is less costly It provides storage for semi-structured data and it is also provide flexibility in schema.
- Relationships are less complicated.
HTML-CSS Projects With Source Code
Tags: webdev, beginners, html, css
Published: 2021-12-12 14:16:30

HTML and CSS projects with source code.

## [Github Repository](https://github.com/enesskilic/html-css-projects)

<a name="content"></a>

## Content

* [Responsive Personal Portfolio](#portfolio)
* [Responsive Dashboard](#dashboard)
* [Responsive Netflix Landing Page](#netflix)
* [Video Background](#video-background)
* [Login Page](#login-page)

<br />
<hr />

<a name="portfolio"></a>

### Responsive Personal Portfolio - [Back to top](#portfolio)

<br />

![Screenshot](https://raw.githubusercontent.com/enesskilic/html-css-projects/main/screenshots/portfolio.png)

<a name="dashboard"></a>

### Responsive Dashboard - [Back to top](#content)

<br />

![Screenshot](https://github.com/enesskilic/html-css-projects/blob/main/screenshots/dashboard.png?raw=true)

<a name="netflix"></a>

### Responsive Netflix Landing Page - [Back to top](#content)

<br />

![Screenshot](https://github.com/enesskilic/html-css-projects/blob/main/screenshots/netflix.png?raw=true)

<a name="video-background"></a>

### Video Background - [Back to top](#content)

<br />

![Screenshot](https://github.com/enesskilic/html-css-projects/raw/main/screenshots/video-background.png)

<a name="login-page"></a>

### Login Page - [Back to top](#content)

<br />

![Screenshot](https://github.com/enesskilic/html-css-projects/raw/main/screenshots/login-page.png)
Solidity Contract Audit 
Published: 2021-12-12 13:23:43

Hello I have a solidity code to audit like this 
```
pragma solidity ^0.8.0;

import "@openzeppelin/contracts/token/ERC20/IERC20.sol";

// Allow to split the balance through complex rules

interface Split{

function getAddressAndAmountToSplit() view external returns(address, uint);

}

// MyBank contract

// This contract allows anyone to store any ERC20 tokens

contract MyBank {

// (token => user => amount)

mapping (address => mapping(address => uint)) public userBalance;

// (address => Split contract)

mapping (address => Split) splits;

// Deposit ERC20 tokens to the contracts

// The user must approve the bank before calling addToBalance

function addToBalance(IERC20 token, uint amount) external

{

token.transferFrom(msg.sender, address(this), amount);

userBalance[address(token)][msg.sender] += amount;

}

// Withdraw part of the balance

function withdrawBalance(IERC20 token) external

{

token.transfer(msg.sender, userBalance[address(token)][msg.sender]);

userBalance[address(token)][msg.sender] = 0;

}

// Allow to register a split contract

function registerSplit(Split split) external{

splits[msg.sender] = split;

}

// Split the balance into two accounts

// The usage of a Split contract allows to create complex split strategies

function splitBalance(IERC20 token) external

{

Split split = splits[msg.sender];

require(split != Split(address(0x0)));

uint balance = userBalance[address(token)][msg.sender];

(address dest, uint amount) = Split(split).getAddressAndAmountToSplit();

userBalance[address(token)][dest] = amount;

userBalance[address(token)][msg.sender] = balance - amount;

}
}
```
What I found.
1. function withdrawBalance(IERC20 token) external possible reentrancy attack, because we check balance in the end 
2. function splitBalance(IERC20 token) external - vulnerable business logic, because if amount is greater than balance we get negative value and possible integer overflow

If you have any idea of possible vulnerabilities of code above, please feel free to provide any further assistance
Schematic to integrate prettier,commit-lint and husky in angular application
Tags: angular, schematics, productivity, webdev
Published: 2021-12-12 13:06:58

Every single developer has his/her own preferences when its come to IDE and everyone has there own set of configuration in it.

To make sure our code repository is having the same consistenty there are few tools which we can use in our project.

- Prettier :  This is an opinionated code formatter.
- Commit-lint : This checks if your commit messages meet the conventional commit format.
- Husky : Easy to configure Git Hooks.

To configured each of these library in your project there are many steps you need to follow.

Doing this redudent task for every single project can be a pain.

For that I have created this package using angular schematics which will do the integration and configuration of these packages in your angular application.

Open your project workspace folder in your command prompt and run below schematic command.

```
ng add @ng-vim/devtools
```
That's all. 
All above things are configured in your angular application. You can modify the configuration as per your needs.

Github source-code:- https://github.com/patelvimal/ng-vim-devtools
Follow Me on Twitter:- https://twitter.com/patel_vimal

Suggestions are welcome to improve this package.
Host React/Angular/Vue Site on Netlify
Published: 2021-12-12 13:03:25

Hosting your own site is really easy, In this article we gonna see how can we host our front end in netlify.

Also hosting concept will be the same whether it is netlify or vercel or heroku. If you learn any of them then you will be able to host your static site anywhere.

So let's start

Step 1:- Create sample website(maybe in react/angular/nextjs) and push it in GitHub

Step 2:- Sign up to Netlify

Once you have singed up you will see the following screen.


![Main screen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3ldbl66fvo6cfaf9wkda.jpg)

Now click on the **new site from git** button.

After click on it, you will see the following screen.


![Netlify home screen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/owkpcl5vh7377n3jt3x3.jpg)

Step 3 :- Select the platform where you have pushed your code (in our case it will be github)

Once you select the platform you need to authorize the platform to access the repo of your site.

You will see the following screen once you click on github or any button.


![Netlify site selection screen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wy62qd9qdpm9pu9mbrtn.jpg)

You can search/select any private/public repo of your GitHub etc. and can select it.

Once you select repo/project to deploy, you will see below screen.


![Netlify deployment screen](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ujlrqr7yi27u1nis4dek.jpg)

Now you can select relevent branch of your project and you need to set command to build your project and you have to provide the path of your site build. If you have react project the it will be npm run build and for angular it will be ng build, you also can find build command in package.json or just google it.

You will see below screen after you clicked on **deploy site** button.


![project setting](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8jvhh8mjiuw0yujxit9p.jpg)

Here my site name will be **thirsty-hoover-727570.netlify.app**,  you can also change the domain name or you can provide custom domain.

You can change domain name in domain setting which will be similar to below image.


![domain change](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wi7olax5fdwqde6u94vg.jpg)

So that's it, how easy it was.

> Note - If you want to make update in your website you need to push latest code to your repo and you need to redeploy it, you will find the option for redeployment in your project on netlify.

Thanks for reading, let me know in comment section if there is anything which is difficult to understand.
Palindrome Number
Tags: java, beginners, programming, tutorial
Published: 2021-12-12 13:02:41

```
**Given an integer x, return true if x is palindrome integer.
**
An integer is a palindrome when it reads the same backward as forward.

For example, 121 is a palindrome while 123 is not.
```

```
**Example 1:**

Input: x = 121
Output: true
**Example 2:**

Input: x = -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.
**Example 3:**

Input: x = 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.
**Example 4:**

Input: x = -101
Output: false
 

**Constraints:**

-231 <= x <= 231 - 1
```
**Solution :
Java Code :**

```
class Solution {
    public boolean isPalindrome(int x) {
        if (x < 0) {
            return false;
        }
        int number = x;
        int reverse = 0;
        while (number > 0) {
            reverse = reverse * 10 + number % 10;
            number /= 10;
        }
        return x == reverse;
        
    }
}
```
Leet Code Soltion - Roman to Integer
Tags: beginners, java, programming, free
Published: 2021-12-12 12:58:17

```
**Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M.

Symbol       Value
I             1
V             5
X             10
L             50
C             100
D             500
M             1000**
For example, 2 is written as II in Roman numeral, just two one's added together. 12 is written as XII, which is simply X + II. The number 27 is written as XXVII, which is XX + V + II.

Roman numerals are usually written largest to smallest from left to right. However, the numeral for four is not IIII. Instead, the number four is written as IV. Because the one is before the five we subtract it making four. The same principle applies to the number nine, which is written as IX. There are six instances where subtraction is used:

I can be placed before V (5) and X (10) to make 4 and 9. 
X can be placed before L (50) and C (100) to make 40 and 90. 
C can be placed before D (500) and M (1000) to make 400 and 900.
Given a roman numeral, convert it to an integer.
```

```
**Example 1:**

Input: s = "III"
Output: 3
**Example 2:**

Input: s = "IV"
Output: 4
**Example 3:**

Input: s = "IX"
Output: 9
**Example 4:**

Input: s = "LVIII"
Output: 58
Explanation: L = 50, V= 5, III = 3.
**Example 5:**

Input: s = "MCMXCIV"
Output: 1994
Explanation: M = 1000, CM = 900, XC = 90 and IV = 4.
 
```

```
**Constraints:**

1 <= s.length <= 15
s contains only the characters ('I', 'V', 'X', 'L', 'C', 'D', 'M').
It is guaranteed that s is a valid roman numeral in the range [1, 3999].
```

**Solution :
Java Code :**

```
class Solution {
    public int romanToInt(String S) {
        int ans = 0, num = 0;
        for (int i = S.length()-1; i >= 0; i--) {
            switch(S.charAt(i)) {
                case 'I': num = 1; break;
                case 'V': num = 5; break;
                case 'X': num = 10; break;
                case 'L': num = 50; break;
                case 'C': num = 100; break;
                case 'D': num = 500; break;
                case 'M': num = 1000; break;
            }
            if (4 * num < ans) ans -= num;
            else ans += num;
        }
        return ans;
    }
}
```