teleren/devto huggingface dataset:
Security: Released  npm package 📦  for  Protecting CSV Injection  🚀
Tags: security, injection, javascript, npm
Published: 2019-12-21 12:18:33

We can not ignore Security on the Web. Security Vulnerability can impact your application and users which might eventually destroy your company!

As Web/Software Engineers, we should care about Security as much we care about our code.

There are different kinds of injection attacks available.

I was working with CSVs and then thought to use any available CSV injection protector package from npmjs. But I was surprised that I could not find what I needed.

So I thought to develop and release a package(CSV injection protector) for me and all of us.

First, let's see what is CSV injection-

CSV Injection, also known as Formula Injection, occurs when websites embed untrusted input inside CSV files.

To learn more about CSV Injection, please have a look here [👉OWASP doc on CSV Injection](https://www.owasp.org/index.php/CSV_Injection)

I am presenting a tiny and useful package for protecting your application from CSV Injections called `csv-injection-protector` :tada:

(And it's always hard to come up with a good name I know 😉)

<h3>Why use this pacakge?</h3>
If you have any Input Field and that data goes to the Database in the backend and you generate CSV files with it, then you SHOULD think about CSV injection.

Probably, the string went to your DB is injected. They can execute any operation in the cell and also your CSV file can be corrupted and you can not open that.

It can be sanitized so that string is okay for the CSV.

<h3>How to use</h3>

Run


```
npm i csv-injection-protector
```

Then use in your code like below:

```javascript
const riskyString = "=Risky string for CSV";
const sanitizedString = csvInjectionProtector(riskyString);
console.log(sanitizedString); // "Risky string for CSV"
```

Voila :rocket:

It's super simple!

I also showed a demo of this package. Please check out the YouTube video-

{% youtube PFa-bI1rU60 %}

Please check 👉[<b>npmjs.com/package/csv-injection-protector</b>](https://www.npmjs.com/package/csv-injection-protector)

Use it and let me know if you find any issues. Also if you have any suggestions, PRs are welcome 🙌

Cheers!
:wave:

As I am trying to contribute contents on the Web, you can buy me a coffee for my hours spent on all of these ❤️😊🌸
<a href="https://www.buymeacoffee.com/destromas" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/default-orange.png" alt="Buy Me A Coffee" style="height: 51px !important;width: 217px !important;" ></a>

*Photo by Sara Bakhshi on Unsplash*
Deno on ZEIT Now
Tags: zeitnow, deno, typescript, serverless
Published: 2019-12-21 12:12:30

---
title: Deno on ZEIT Now
published: true
description: ZEIT Now Deno builder - run Deno on Zeit. 🦕+ λ = ❤
tags: zeitnow, deno, typescript, serverless
cover_image: https://thepracticaldev.s3.amazonaws.com/i/7tyl4zjco1gw8hjc6yud.png
---

[Deno](https://deno.land) is a secure runtime for JavaScript and TypeScript. It aims to provide a productive and secure scripting environment for the modern programmer. It is built on top of V8, Rust, and TypeScript.

[ZEIT Now](https://zeit.co) is a deployment platform that can be used to serve static assets and lambda functions in a very simple and user friendly way. It is capable of running Node.js, Go, Ruby, Python, Rust and PHP functions.

So what happens when you combine these? A lot of good things. Starting today you can also use deno in ZEIT Now using the `now-deno` community runtime.

By adding just a few lines to your now.json file you can enable support for deno:

```json
{
  "functions": {
    "api/**/*.ts": {
      "runtime": "now-deno@0.2.0"
    }
  }
}
```

> note: this will use deno for all .ts files. If you are also using node functions you might want to use a different file extension and matcher for deno (e.g. `api/**/*.deno.ts`).


Now you can add a simple function to the `api` directory:

```typescript
// api/hello.ts
import { APIGatewayProxyEvent, APIGatewayProxyResult, Context } from 'https://deno.land/x/lambda/mod.ts';

export async function handler(
  event: APIGatewayProxyEvent,
  context: Context
): Promise<APIGatewayProxyResult> {
  return {
    statusCode: 200,
    body: `Welcome to deno ${Deno.version.deno} 🦕`,
    headers: {
      'content-type': 'text/html; charset=utf-8',
    },
  };
}

```

The final step is to deploy the function by running the `now` command. If you do not have `now` installed there are instructions [here](https://zeit.co/download).

After 10-20 seconds you should get a URL back from the `now` command. You can use it to view your deployed page. Just append `/api/hello` to run the `hello.ts` function. You can see what this should look like [here](https://example-dr2negoxt.now.sh/api/hello) so you can try it out.

So, within a minute we deployed a simple deno program to the cloud - that is cool right? If you want to look at or contribute to the now-deno runtime, check out [this repo](https://github.com/lucacasonato/now-deno).

### Credits

A huge thanks to the deno contributors for creating such an awesome tool. For this specific project @hayd was a huge help as he got deno running in AWS Lambdas in the first place (ZEIT Now is based on AWS Lambda). You can check out his repo [here](https://github.com/hayd/deno-lambda).

> This post was updated on the 9th of February 2020 to reflect changes in the now-deno runtime.
10000 followers 🥳🔥 project preview: Jess language design.
Tags: javascript, css
Published: 2019-12-21 12:07:48

You have all been so inspirational, after 10000 I want to finally finish Jess.

So after much thinking and parking the project for a while this is the language design so far.

```scss
@script {
   const mobileBackground = #00ff00;
   function foo() {
      return #333;
   }
   // As mixin
   function redBorder() {
       return {
          border-color: red;
          arbitryJSValue: 2345;
       }
   }
}

.test {
    background: {foo()};
}

@media screen and (min-width: 440px) {
   .test {
      background: {mobileBackground};
      // Function as mixin, js values 
      // ignored due to case detection
   {redBorder()}
    }
}

@test "should return A11Y friendly CSS value" {
   assert(foo()).isCSSValue();
   assert(foo()).noAlpha();
   assert(.test).isAAAContrast(#fff);
}
```

Output phase one, direct to js.
``` js

var mobileBackground = '#00ff00';

var sheet = (function() {
    var style = document.createElement("style");
 
   style.appendChild(document.createTextNode(""));
	document.head.appendChild(style);
	return style.sheet;
})();

// Variables

getComputedStyle(document.documentElement)
    .setPropertyValue('--mobileBackground', '#00ff00');
var mobileBackground = 'var(--mobileBackground)'
// Style
sheet.insertRule(`.test { background: #333; }`, 1);

var mediaQueryList = window.matchMedia("screen and (min-width: 440px)");
function handleOrientationChange(mql) {
    sheet.insertRule(`.test { background: ${mobileBackground}, border-color: red; }`, 1);
}
mediaQueryList.addListener(handleOrientationChange); // Add the callback function as a listener to the query list.

handleOrientationChange(mediaQueryList); /

```

There seems to be a need for a typescript like flag, I would like to create typesafe CSS that conforms to a projects specifications. Nesting will eventually be a feature as well as custom computed units.

Compile targets will range from a js file and a CSS file. A single file approach and hopefully a limited subset of CSS only. There should be an interpreter in the future.

Optimization levels will vary and linting and testing should be built in just like rust. You should be able to import js es6 modules and also other jess files. You should be a le to use workers and Houdini features fairly transparently.

The library currently exists as a Wasm binary lib (libjess) and a cli client prototype. The binary.

So what's next:
- create a roadmap
- build a prototype in assembly script and typescript
- build the test framework
- build the js API
- build the logger
- add typescript like functionality
- move libjess to rust

I need your help, if you are interested in the project please let me know. Or checkout why I'm doing it with my JavaScript enhanced stylesheets series, it's quite popular. 😘
School Management Software
Tags: schoolmanagementsoftware, schoolsoftware, schoolmanagementsystem, schoolmanagementapplication
Published: 2019-12-21 10:49:45

Advance school Management ERP Application
E-school ERP Software is developed as the easy to use and most user-friendly which directly connects parents, teachers, students, admin, drivers, accountant, librarian, and super admin on a single platform. that has been designed and developed by desidesign technologies.

e-school ERP has +25 modules to manage Attendance, Timetable, Transportation, Examinations, Grade books, Notice Board, Hostel, Library, School Calendar, School Income, Events and many more. It has a fully-fledged HR module to manage the payroll and employee payslips. The Finance module helps you to plan and allot different fee structures to students


https://www.schoolmanagementsolutions.in
https://www.facebook.com/schoolmanagementsolutions
+91 808 070-7744

#schoolmanagementapplication #websitedesign #softwaredevelopment #software #schoolmanagementsoftware #schoolerp #schoolmanagementerp #schoolsoftware
Standard Windows development environment
Tags: productivity, windows, programming, discuss
Published: 2019-12-21 09:49:38

---
title: Standard Windows development environment
published: true
description: Discussion about what you would like to see in a standard development environment for Windows
tags: #productivity #windows #programming #discuss
---

# Preface

Previously I've written about [how to develop "like a pro" on Windows](https://dev.to/lietux/developing-like-a-pro-on-windows-4bbh) with various tips and tricks about how to get your work optimized and solve common problems. Then I wrote [Aperture Control](https://dev.to/lietux/introducing-aperture-control-51a7) to automate some of the common setup tasks for Windows.


## Standard development environment for Windows

Now, using Aperture Control and based on the tips, I've set up a repository to configure what I could consider a fairly [standard development environment](https://github.com/Lieturd/aperture-control-example) for Windows.

It's trying to not be too opinionated, but provide a good base to start from, and suggest some tools and configurations not everyone might be aware of yet that can significantly benefit a lot of developers. Most of all, it's aiming to be easy to take into use and customize as you see fit.

There's all kinds of things from package managers, programmer fonts (DejaVu), CygWin, placeholders for autorun cmds, to configuring local bin folder similar to `~/.bin` a lot of *nix users have set up and configuring some sensible defaults for Windows and e.g. Git.

Usage should be simple: Fork / otherwise clone the repository, tweak to your liking (e.g. based on [the recipe collection](https://github.com/Lieturd/aperture-control-recipes)), and run on the machines you want to keep synced with your settings. When you have an update to make - push it to the repo and it will be automatically updated to your other machines as a scheduled task checks for updates hourly.


# Discussion topic

What do you think should and shouldn't be part of a standard development environment? What are you missing, what do you not want "poisoning" your machine?

Any good practices you've come up with your folder structures, or settings for Windows or other software that you'd like to share and see spread?

Do you have a wishlist for things that you'd like to still see while developing in Windows? Maybe someone else knows how.

My personal wish: getting my terminal to support emojis and other such things properly. I like writing scripts that output 👍 for success and 😢 for failure, yet I just end up with various rectangles and other such things on my screen when I try to use them. The [beta UTF-8 support](https://stackoverflow.com/questions/56419639/what-does-beta-use-unicode-utf-8-for-worldwide-language-support-actually-do) does not seem to really help, and causes some additional issues for me as well.
Migrating from Medium to my own blog
Tags: svelte, sapper, firebase, gcp
Published: 2019-12-21 09:32:51

How I moved to a self-hosted instance of Ghost on Google Cloud Platform with a static frontend developed with Sapper, Svelte & Tailwind CSS deployed to Firebase.

# The previous blog

I [previously published my blog posts on Medium](https://medium.com/@mikenikles). A lot has already been said about why people migrate away from Medium ([search results](https://www.google.com/search?q=why+I+moved+away+from+medium)). With the changes rolled out in 2019, my visitor numbers dropped significantly and I started to look for an alternative where I can share my thoughts and experience to anyone who's interested.

# Where is my blog hosted?

**tl;dr**: www.mikenikles.com is a self-hosted instance of [Ghost](https://ghost.org/) on [Google Cloud Platform](https://cloud.google.com/) with a static frontend developed with [Sapper](https://sapper.svelte.dev/), [Svelte](https://svelte.dev/) & [Tailwind CSS](https://tailwindcss.com/) deployed to [Firebase](https://firebase.google.com/).

All source code is available [on Github](https://github.com/mikenikles/www-mikenikles-com).

![www.mikenikles.com - Architecture](https://thepracticaldev.s3.amazonaws.com/i/86l464wg5n1uzgf9qf5c.png)

As part of my research, I looked at static site generators, SaaS solutions and - for a brief moment - considered spinning up my own very basic blogging platform. Luckily, I noticed how valuable time is and abandoned the self-developed blogging platform idea.

## Ghost

Long story short, I found [www.ghost.org](https://ghost.org/). Their philosophy really closely aligns with my personal views and when I saw they offer an open source version, I was convinced.

The Ghost instance itself is deployed to [Cloud Run](https://cloud.google.com/run/) (1), which spins up a Ghost container when I access the admin URL.
Upon publishing a new blog post, its content is persisted in [Cloud SQL](https://cloud.google.com/sql/docs/) (2a) and any assets stored in [Cloud Storage](https://cloud.google.com/storage/) (2b). [I open-sourced the storage adapter](https://github.com/mikenikles/ghost-v3-google-cloud-storage).

## Static Website

Once a blog post is published, I kick off a process (3) to fetch the blog content (4) with Ghost's [Content API](https://ghost.org/docs/api/v3/content/), [generate a static website](https://sapper.svelte.dev/docs#Exporting) and deploy it to [Firebase Hosting](https://firebase.google.com/docs/hosting) (5).

The website is based on [Sapper](https://sapper.svelte.dev/) & [Svelte](https://svelte.dev/) and styled with [Tailwind CSS](https://tailwindcss.com/).

# Nice side effect - I don't need the database at runtime

That's true, since assets are stored on Cloud Storage and HTML, CSS and Javascript lives on Firebase Hosting, Ghost and its database are not accessed at runtime.
Keeping continuity in Competitve Programming
Tags: cpp, computerscience
Published: 2019-12-21 09:30:57

Most of people start competitive programming in college mostly to end up landing into a good job. Probably because hiring process of almost all companies are mostly same i.e. they ask problems similar to the one in CP. 

Like everyone, I also started CP in college during end of my second year ( my graduation was of 4 years ). I got to know about codechef from my college notice board ( some of my seniors posted an article about CP on the notice board). 
I was a bit curious about codechef, so, in the evening when I came back to hostel room, I started searching about codechef and similar platforms. I ended up reading several articles on quora and eventually landed up on HackerRank.
I was not a very hard core problem solver and I used to solve very fewer questions initially. But slowly as I kept on learning new algorithms and c++ in more depth. 
So, by the time placements season came andcompanies started visiting our colleges, I had solved around 200+ problems on HackerRank and 90+ problems on codechef. I was able to clear almost all the service based companies like Infosys, Wipro and Cognizant. But could not clear Directi exam ( Directi is the company behind codechef ). I ended up joining a job as an Application Support Engineer( I don't know why they named it engineer, although there is nothing to engineer in a support role ), in a US based comapany which makes event management softwares. 
Also, I was able to clear Amazon's coding round but didn't appear for the interview, probably because of lack of confidence and motivation. Once you start doing a job you won't be that much motivated to prepare for an interview. It might happen due to lack of time and hectic life. But still some people manage to overcome these things, but I am not one of them. 
And while doing a job its extremely difficult to maintain motivation to do CP even on weekends. It just doesn't feels like those college days when solving a problem used to give fun and happeness. 

I wrote this article because I thought there must many people like me, who would be thinking that only they are not able to do CP while in a job, then probably I should tell them that it's not true, there are many. 


Thanks for reading till end.
How to Hire a PHP Developer?
Tags: php, laravel, hiring
Published: 2019-12-21 09:28:26

In today’s highly competitive digital world, Web designing and development has a major role to play in your web Application’s success.

PHP becomes the top choice to build a web application for any kind of startup or Enterprise business as it offers a high level of flexibility, reliability, and security. But to develop a robust, feature-rich and reliable PHP website you also need a dedicated and professional developer who has vast experience in building PHP websites.

**Popular Website that Uses PHP**

Yahoo, Wikipedia, Facebook, Tumblr, WordPress, Baidu, etc. are some of the popular websites that use PHP.

Hiring a developer is the right choice…but there are so many PHP developers. How do you pick one that is quality enough to keep up with your needs, but also affordable enough to keep you on-budget?

**PHP usage by Websites across the Globe**

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/kuvenvjrzfouoyodhwfj.png)

**How to Hire a PHP Developer for your Web Project?**

**Level of Expertise**

The first and foremost thing needs to check the level of expertise of the developer. In terms of technical capabilities, the PHP programmer should have in-depth knowledge of PHP, HTML and various frameworks. It is advisable to hire PHP developers, in order to get a professional look to your website based on PHP.
The stronger your company’s website presence is, the faster your business will grow and attract new clients. Doing this without a well-experienced web development team simply is not going to work. That is exactly why it is essential for you to Hire an Experienced PHP Developer.

**Up to date in Latest Technologies**

Before hiring make sure that the PHP developers are up to date on the latest technologies like Laravel, Symfony, CodeIgniter, and Yii2, etc.

**Completion on time**

Delivering projects on time with all the requirements is an important factor for any development team. It is very important to make sure that the team you choose can clearly develop and deliver an application on time.

**Maintenance and Support**

Even after your application is launched in the marketplace you will have to, from time to time, release updates, fix bugs or add new features/functionality. For maintaining these you need customer support from the development team.

**Conclusion**

Here we have looked into aspects of Hiring a PHP Developer which can help you in choosing the Right PHP Developers and [Hire PHP Developers](https://www.employcoder.com/hire-php-developers) to build your Web Applications.
Day 21 of the Visual Studio Tips Advent Calendar is now live
Tags: visualstudio
Published: 2019-12-21 08:03:28

Day 21 of the Visual Studio Tips Advent Calendar is now live. Enjoy! 

What could it be today? Take a 'peek' and see. Hint, hint.

https://visualstudiotips.co.uk/calendar/

#VisualStudio #DevDecember #VsTipsAdvent #Advent
Learn to create reusable Input field component supports html input types [text, number, email, search, url]
Tags: codewithghazi, react, javascript, tutorial
Published: 2019-12-21 07:27:15

Reusable Input field component which can be used application wide with less code and is tested with all scenarios to maintain UI consistency in whole application with value and prop-types validation. It supports html input types such as text, number, url, search, email.


{% youtube HIFxC7Gkgfo %}
In the end, we will not remember how good you are with coding, but how many people are using your codes
Tags: softwaredevelopment
Published: 2019-12-21 07:14:07

---
title: In the end, we will not remember how good you are with coding, but how many people are using your codes
published: true
description: 
tags: Softwaredevelopment
---

Software development is all about shipping. Our jobs as developers is not just to write codes, but build solutions that other people will find useful.

You don’t get paid for writing codes, you get paid for shipping useful solutions.

Most developers thinks in terms of writing codes and using algorithms. Whereas, Project Manager's thinks about shipping the codes. Companies and business are not looking for someone who can just write codes, but knowledge of coding is very important, I don’t dispute that, but shipping solutions is what companies prioritise on than coding. So the next time you click on your IDE or Code Editor, you should ask yourself “am I going to ship this code”. The new metric for measuring how good a developer is, is how many projects you have shipped, not how many lines of codes you can write. In 2020, you should focus more on building things that people find useful.

Source:  https://anibesam.com/in-the-end-we-will-not-remember-how-good-you-are-with-coding-but-how-many-people-are-using-your-codes/
Devops tools through ansible roles
Tags: devops
Published: 2019-12-21 06:51:57

---
title: Devops tools through ansible roles
published: true
description: Utilizing ansible roles for practising devops tools
tags: devops
---
I have create some ansible roles which will connect to aws account and provision the devops tools in amazon ec2.

Jenkins: https://galaxy.ansible.com/hemanth22/jenkins
Docker: https://galaxy.ansible.com/hemanth22/aws_docker_instance
Ansible Tower (i.e. AWX) : https://galaxy.ansible.com/hemanth22/awx
Sonarqube: https://galaxy.ansible.com/hemanth22/sonarqube
JFrog: https://galaxy.ansible.com/hemanth22/jfrog
Nexus Repository: https://galaxy.ansible.com/hemanth22/nexus_repository
XL Deploy: https://galaxy.ansible.com/hemanth22/xldeploy

My Ansible roles: 
https://galaxy.ansible.com/hemanth22