teleren/devto huggingface dataset:
Necesitamos un diseño de stickers para PHPMx
Tags: phpmx
Published: 2020-07-21 15:26:31

## ¿Quieres ser de los primero es tener uno de estos exclusivos elefantitos (elePHPant)?

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/isnu34ytcbzaluowvesk.jpeg)![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/jrp1zt9ffzckerzjri7h.jpeg)




La comunidad de PHPMx trae mucha energía en este 2020, y creo es algo que se debe de aprovechar, los meetups han sido muy efectivos, y aunque no tenemos el número de seguidores que otras comunidades, hay calidad y potencial aquí. 

Yo he estado participando lo más que he podido, pero en algo que si soy malo es en el diseño gráfico... y quiero mandar hacer stickers, porque es algo que he estado haciendo en mi podcast de Chile, Mole & Tech.

Long story short... 

# Esto es un CONCURSO

Bases del concurso:
* Genera 2 diseños para mandar imprimirlos como stickers.
* El diseño debe incluir el [logo de phpmx](https://drive.google.com/drive/folders/1tk_Misrrs07nTv-bHzjX_pVN-GWq3-1b?usp=sharing) o `phpmexico.mx`.
* La fecha limite de envió es el 30 de Julio.
* Los diseños enviados serán evaluados por el equipo de #community de PHPMx quienes decidirán quien gana el elefantito.
* El diseño ganador se dará a conocer el 5 de Agosto por [Slack](https://bit.ly/2KbjXl3), [Facebook](https://www.facebook.com/phpmx) y [Twitter](https://twitter.com/phpmx).
* Los ganadores deberán proporcionar su dirección para que se les envíen los premios.
* Considera, que los stickers se mandarán a imprimir en tamaños 5cm x 5cm ó 7cm x 7cm.
* Deberás envíar tus propuestas de sticker en formato de imagen (En caso de ganar, te pedimos nos des tambíen el formato editable tipo Illustrator o Photoshop... ya sabes como son en donde imprimen).

## Premios
1er Lugar - 1 elePHPant, hecho a mano, de PHP Mexico
2do Lugar - Pack con 10 stickers, a elegir, espacio, starwars o tech.

Nota: Puede que te lleves una licencia de Jetbrains también... 

## Participa
Envía en este Google Form tu diseño: https://forms.gle/aNPxZ4qU1fkjR9ts5 (Require login, por la carga de archivos ☹️ )

PD: Si tienes dudas, no dudes en preguntar en [Slack](https://bit.ly/2KbjXl3) o aquí en los comentarios.
17 Year Old Critical RCE Vulnerability in Microsoft DNS Server

Tags: security, devops, webdev, developer
Published: 2020-07-21 15:20:41

A critical Remote Code Execution (RCE) vulnerability CVE-2020-1350 dubbed SIGRed has been found in Microsoft Windows Domain Name System (DNS) servers. 

This vulnerability is classified as a ‘wormable’ vulnerability which means a single exploit of the flaw can trigger a chain reaction that allows attacks to spread from one computer to another even without user interaction.

It has a CVSS base score of 10, which is the highest possible risk score. The affected versions include Windows Server versions from 2003 to 2019.

This vulnerability has been in the Microsoft code for more than 17 years. This means that it’s likely that other attackers may have found and have taken advantage of the issue.

But according to Microsoft, this vulnerability is not currently known to be used in active attacks. Microsoft ranks this vulnerability as “exploitation more likely,” and urges customers to apply Windows updates to address this vulnerability as soon as possible.

This issue results from a flaw in Microsoft’s DNS server role implementation. It does not affect non-Microsoft DNS Servers. The main reason why this vulnerability exists is due to how Windows DNS server parses an incoming DNS query, as well as how forwarded DNS queries are handled. 

The flaw itself is an integer-overflow bug. It can trigger a heap-based buffer overflow attack tied to the DNS module named dns.exe, which is responsible for answering DNS queries on Windows Servers. 

###**Impact of SIGRed: Microsoft DNS Server RCE Vulnerability**###

If triggered by a malicious DNS query, it triggers a heap-based buffer overflow, enabling an attacker to take control of the server. This makes it possible for an attacker to intercept and manipulate users' emails and network traffic, make services unavailable, harvest users' credentials, etc.
As the service runs in elevated privileges, if compromised, an attacker is also granted Domain Administrator rights. In some scenarios, this vulnerability can be triggered remotely through browser sessions. 

###**How to Prevent SIGRed: Microsoft DNS Server RCE Vulnerability**###
Microsoft has released a patch to update the DNS server to the latest version. If applying the update quickly is not practical, a registry-based workaround is available that does not require restarting the server.

In order to work around this vulnerability, make the following registry change to restrict the size of the largest inbound TCP-based DNS response packet allowed:
```
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters
Go to TcpReceivePacketSize and change the Value = 0xFF00
```
The Default (also max) Value = 0xFFFF 
Now restarting the DNS Service will allow the change to take effect.

*Originally published on the Beagle Security Blog:* https://beaglesecurity.com/blog/article/sigred-microsoft-dns-server.html
What things is your company doing to make interviewing more fair?
Tags: discuss, interview, interviewing, career
Published: 2020-07-21 15:12:36

---
title: What things is your company doing to make interviewing more fair?
published: true
description: Companies are looking to make their technical interview process more fair and equal for candidates. So what things are you doing to make that happen, and what things would you like to see to make interviews fairer?
tags: discuss, interviews, interviewing, career
---

I'm a Developer Advocate at CoderPad (https://coderpad.io). Some of you may have used CoderPad in the past while interviewing for a company. Others may have used the tool to interview candidates.

Our mission at CoderPad is to level the playing field for all technical positions. And when I say all, I mean junior engineering positions all the way up to CTO.

While we have our own ideas on how to make the interview process more fair. I'm looking for input from the community. This is so we can build the right things for you, your company and your team to improve the candidate experience.

So all this said...what does your team do to make the technical interview process more fair? and what things would you like to see to make the interview process more fair?
Configure IntelliJ to show warnings for Lombok's @NonNull
Tags: java, lombok, intellij
Published: 2020-07-21 15:12:25

[Lombok](https://projectlombok.org/) is a library I like to use in my projects to limit boilerplate code and focus on the core logic of my applications. I am using the [IntelliJ plugin](https://plugins.jetbrains.com/plugin/6317-lombok) to integrate Lombok annotation processing with my IDE, for example to enable auto-completion of methods generated from @Getter/@Setter.

While this works pretty well, I regularly find myself searching resources on how I can configure Intellij to show warnings when I provide a `null` value to a method argument annotated with @NonNull. Since a picture is worth a thousand words here is what I try to achieve:

![Missing warning in IntelliJ Editor](https://dev-to-uploads.s3.amazonaws.com/i/tyug5rknxwjhabqg00bv.PNG)

Since I spent some time figuring this out today I'll post my solution here in case anyone is wondering how this can be done (and also as an archive I can retrieve later 😅):
- Open `File -> Settings`
- Navigate to `Editor -> Inspection -> Java -> Probable bugs -> Nullability problems -> @NotNull/@Nullable problems`
- Click on `Configure Annotations` in the right panel
- Add `lombok.NonNull` in the `NotNull annotations` list
- Rebuild your project

You should now see the warnings in your editor
![IntelliJ printing the warning with Lombok annotation](https://dev-to-uploads.s3.amazonaws.com/i/kf3k0pkyw0r1665cqj1n.PNG)

You may have noticed the naming error in the warning pop-up ("@NotNull" instead of "@NonNull"). I didn't look into it, let me know if you have a solution for that!
A Complete Portfolio Tutorial {Using Pure HTML, CSS and JavaScript}
Tags: html, css, javascript, webdev
Published: 2020-07-21 15:07:15

I'm happy to say that I recently completed a tutorial series of creating a complete portfolio website from scratch using pure `HTML` `CSS` and `JavaScript` on My YouTube Channel: https://youtube.com/c/chaoocharles

The tutorial playlist has `3 videos` with a total of `4 hours`. Here is a link to the playlist: [https://www.youtube.com/chaoocharles/playlist/portfolio] (https://www.youtube.com/playlist?list=PL63c_Ws9ecIQLH07AtAZtimfoz1wAjbSL)

##You Will Learn
* HTML
* CSS
* JavaScript
* CSS Animation
* Responsive design
* Where to get pixel-perfect graphics for your website
* Simple Logo Design
* and more

_The tutorial is beginner friendly and if you are just starting out, you will be able to follow along._

You can preview the live portfolio even before you start learning here: https://chaoocharles.netlify.app/

You can access the source code for free on my GitHub: https://github.com/chaoocharles/portfolio-website

_Just a sample screenshot of what we will be creating together_

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/vy94dku1w3e3bpd5w0dl.PNG)

##All the 3 videos
###Part 1
{% youtube LMM91VuS9Xg %}
###Part 2
{% youtube 5MIQr4hZsB8 %}
###Part 3
{% youtube H4kyPKQcG18 %}
Upload Progress Animation Microinteraction with GSAP
Tags: codepen, javascript, html, css
Published: 2020-07-21 14:54:27

# DESCRIPTION

This is just my sample animation of file uploading progress animation, created with Vanilla (plain and simple) Javascript, and TweenLite (GSAP).

On the first click, the shape of the button will become circle. Then, the button will become a progress bar, and a "speech bubble" above the progress bar will be shown. That "speech bubble" shows the percentage of the upload progress. The "speech bubble" will tilt when the progress starts.

After the uploading is done, the button will turn into green colored circle, then the check mark will appear, pertaining that the upload is already done.

After 5 seconds, the button will return into its normal state.

I used GSAP's Timeline to do all of the steps of animation. Actually, creating the steps of animation became easier when it's used.

I didn't use any preprocessors in this pen, to show the simplicity of using GSAP in animation. No CSS loop hack, or whatsoever.

{% codepen https://codepen.io/takaneichinose/pen/jOWXBBd %}
Git: Keeping Files from Being Tracked Without .gitignore
Tags: git, productivity, thisweekilearned, dotfiles
Published: 2020-07-21 14:52:06

This week I picked up a little gem around keeping files out of git.

I had made some tasks via VSCode and in doing so it created a `.vscode` file in the workspace. Git picked up this new file, so I instinctively went for `.gitignore`. I added `.vscode` with a small comment, committed, and pushed up a PR. 

A colleague pointed out that `.gitignore` wasn't the best place for this file, because it was developer environment-specific and not project-specific. But he didn't stop there, he pointed me to _another_ git dotfile that I didn't know existed!

Before I get into that dotfile, a little refresher on accessing dotfiles. If you're navigating to this file via the terminal, the basic `ls` command won't show dotfiles, it needs to be appended with `-a`, so the command is `ls -a`.

If you're on a Mac and navigating via the Finder, by default you won't see dotfiles either. Here's a one-liner you can run in terminal to show the dotfiles:

{% gist https://gist.github.com/noelworden/4e9944dcca2a834f094ebd1ceac15acb %}

There are actually two actions happening in that command, the first is telling the OS to set `AppleShowAllFiles` to `YES`.

{% gist https://gist.github.com/noelworden/185bd4a96546ed0ce9e3777fb273c874 %}

And the second is restarting the Finder app. When it completes the restart it will show all dotfiles, system-wide.

{% gist https://gist.github.com/noelworden/d731b89238184eb607ada86803916549 %}

Ok, now, back to the git stuff.

When a git repository has been created, with `git init`, it installs this `.git` folder, which contains everything git needs to track files, run hooks, etc. A little buried in that folder is a file titled `exclude`, found at this path:

`.git > info > exclude`

That `exclude` file basically acts as a `.gitignore`, but at a local level. So, in my case I just added `.vscode`, and, like git magic, it's ignored in my tracked files.

------

This post is part of an ongoing *This Week I Learned* [series](https://dev.to/noelworden/beginning-of-a-blog-series-5aj3). I welcome any critique, feedback, or suggestions in the comments.
UI components in pure Javascript
Tags: javascript
Published: 2020-07-21 03:40:18

Javascript UI libraries and frameworks often come with large files and sometimes are an overkill for small to medium projects. That's why I'd like to show you a way of building UI components with pure (vanilla) javascript, so that you can at least consider avoiding large UI libraries, and **increase site's download performance** as a result.
___
Here's an interactive example. We'll design a card with some text and a button that changes card's background color. You can see the final version on [JSFiddle](https://jsfiddle.net/filibit/dg8u1q3j/8/).

## Card component
We first create the HTML Element node and add a class to it; Then declare a function for changing the background color; And append child components, passing `applyRandomColor` to the button component.

Note: for older browser support, instead of `append` method, use `appendChild` for each child.
```js
function Card() {
    const node = document.createElement('div');
    node.classList.add('card');

    function applyRandomColor() {
        node.style.background = '#' + Math.floor(Math.random()*16777215).toString(16);
    }

    node.append(
        CardContent(),
        CardButton({pressHandler: applyRandomColor})
        )
    
    return node
}
```

## CardContent component
More of the same.

Note: older browsers don't support classList method, for wider support use `node.setAttribute('class', 'card__content');`
```js
function CardContent() {
    const node = document.createElement('div');
    node.classList.add('card__content');
    node.textContent = 'Text text text text text text text text text text text text';
    
    return node
}
```

## CardButton component
More of the same.

Note how components can accept arguments and how all the variables and functions are contained inside their respective functions, and don't pollute the global scope.
```js
function CardButton({pressHandler}) {
    const node = document.createElement('div');
    node.textContent = 'Press me';
    node.classList.add('card__button');
    
    node.addEventListener('click', pressHandler);

    return node
}
```

## Append the Card component
```js
document.body.appendChild(Card())
```
Easy data import into IRIS
Tags: json, python, tools, iris
Published: 2020-07-21 14:23:03

Sometimes you need quickly and easily import data into IRIS. For this, an IRIS import manager has been developed.

This application allows you to import JSON data and also provides a really simple interface for transferring data from MongoDB collections to IRIS globals. It has never been so easy.

Let's look at examples.

###Import JSON

Suppose we have data in JSON format and we want to import it into IRIS. To do this, you just need to specify the global name and insert the data. After import, you will see the imported data. If global exists data will be overwritten.


![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/yan84kkukdkrz2jrgxjx.png)


###Import MongoDB collections



There is a collection navigation on the main page.


![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/n0211iohn05m8mfexe01.png)


Just open the collection and you will see information about it and import control buttons that allow you to transfer data to IRIS or clear it.

After import, you will also see the imported data.


![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/y944fnixhfmn9yh22l4d.png)


What other imports would you like to have in this application? Any ideas are very welcome.
Code Generation
Tags: node, mysql, rest, api
Published: 2020-07-21 14:17:24

---
title: Code Generation
published: true
description: Stop writing commodity code, start generating it!
tags: nodejs,mysql,rest,api
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/w38g2ero0u3ei8b7a4j4.jpg
---
Building a new application is a lot like building a new house. You need things you’ve built many times. Walls, plumbing, a roof. The walls are made of wood, then drywall. The pipes are plastic. You did more or less this same work on the last house, but this is a new one, so you do it all over again.

How many times have you built an authentication layer?

How many hours have you spent building CRUD APIs just to get stuff into and out of a database?

If you’ve been writing code long enough, the answer should be too many. Too many hours wasted on writing plumbing code. Too many hours wasted building commodity features like authentication.

In recent years, #nocode has been making its way into the lexicon. It’s a great choice for many non-technical founders to get their idea off the ground, and raise a bit of cash. I think over time it will be perfectly reasonable for a “tech” company to not have any developers.

That being said, the most common way to build an application is writing code.

But why are we doing the same thing over and over again? We know what our rest API is going to look like just by looking at the spec, or listening to a customer explain it to us in 5 minutes. Why not generate the code?

I think we're in the early days of code generation. Even no-code tools at some level generate code. The code they generate may not be human readable, but somewhere those drag and drop components are being translated into html and javascript. 
NoCo is a code generator. We make it simple to build a NodeJS REST API and export the code to GitHub. If you're looking to get a jump start on your next project, give it a try for free at https://app.noco.io.
7 Steps To Find Investors For Your App Idea
Tags: apps, mobile, business
Published: 2020-07-21 14:11:15

These days, the mobile apps market is growing tremendously. You can get anything with just a single click of an app. This may seem easy to you but is not. Consider that, you have an app idea in your mind, and want to develop an app. But you don’t have enough money to pay for the team, marketing and so on. Then what next? What will you do? Here comes the need of investors for your application idea. 

With regards to proficient developers, it is very simple for them to thrive in the application store without being a part of any huge business. They just need to find the correct investors for the application idea. 

If the investor likes the app idea and find it as interesting and benefiting, at that point they will put resources into your project and pay for your team and marketing until your app starts making money. So the question is, how can you have the people invest in your app idea? This can be achieved with a few tips. 

#7 Steps To Find Investors For Your App Idea-
Before you bring your app idea to investors, there is some work you need to do. Having just a rough idea is not enough as investors always want to know the application need and its details because most of the investors are not the technical person. Also they need to know, how the application will compete with others in the market or how it’s going to achieve success. Here are some things to do before you put an idea to the investors plate.

**1. Market Research-** 
Since smartphones have been around for a long while, it seems like there’s almost an application for everything. Investors would prefer not to fund for an application idea that already exists. You have to prove to investors that this is a new idea and is going to be important in our daily lives. Before you reach the investors with your app idea, you should have the proper analysis of the market with the following terms-

* Competitors of your product, including those that may not even be app-focused.
* Evaluate the market demand 
* Get approximate figures about the market status
* Know the potential customers according to demographics

Know more at- [https://solaceinfotech.com/blog/7-steps-to-find-investors-for-your-app-idea/]
#discuss Interested in a list of assignments I was given for interviews?
Tags: webdev, programming, javascript
Published: 2020-07-21 14:07:26

---
title: #discuss Interested in a list of assignments I was given for interviews?
published: true
description: 
tags: webdev, programming, javascript
//cover_image: https://direct_url_to_image.jpg
---

Let me know, I'll compile a list and post it.


Update: Here is the list - https://dev.to/fayazara/a-list-of-assignments-i-was-given-when-interviewing-for-companies-1opm
Daily Challenge #271 - Simulate Population Growth
Tags: challenge
Published: 2020-07-21 14:03:38

---
title: Daily Challenge #271 - Simulate Population Growth
published: true
series: Daily Challenge
description: Use this formula to simulate population growth. 
tags: challenge
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/nttrakiv0156poxndagw.png
---
In a small town the population is `p0 = 1000` at the beginning of a year. The population regularly increases by 2 percent per year and moreover 50 new inhabitants per year come to live in the town. How many years does the town need to see its population greater or equal to `p = 1200` inhabitants?

*Note: Always keep the number of inhabitants as an integer. Round up when necessary.*
```
At the end of the first year there will be: 
1000 + 1000 * 0.02 + 50 => 1070 inhabitants

At the end of the 2nd year there will be: 
1070 + 1070 * 0.02 + 50 => 1141 inhabitants

At the end of the 3rd year there will be:
1141 + 1141 * 0.02 + 50 => 1213

It will need 3 entire years to get to 1200 folks.
```
**Parameters:**
p0, percent, aug (inhabitants coming or leaving each year), p (population to surpass)

the function nb_year should return n number of entire years needed to get a population greater or equal to p.

aug is an integer, percent a positive or null number, p0 and p are positive integers (> 0)

**Examples:**
`nb_year(1500, 5, 100, 5000) -> 15`
`nb_year(1500000, 2.5, 10000, 2000000) -> 10`

**Tests:**
`nbYear(1500, 5, 100, 5000)`
`nbYear(1500000, 2.5, 10000, 2000000)`
`nbYear(1500000, 0.25, 1000, 2000000)`

Good luck!

***
_This [challenge](https://www.codewars.com/kata/563b662a59afc2b5120000c6) comes from g964 on CodeWars. Thank you to [CodeWars](<https://codewars.com/>), who has licensed redistribution of this challenge under the [2-Clause BSD License](<https://opensource.org/licenses/BSD-2-Clause>)!_

_Want to propose a challenge idea for a future post?  Email **yo+challenge@dev.to** with your suggestions!_