teleren/devto huggingface dataset:
What exactly is this TDS?
Published: 2019-12-03 15:40:05

You've been waiting for your internship stipend all month long but you don't know how much of your stipend you'll get. That's because of this three-lettered acronym TDS (Tax Deduction at Source) which everyone except you seems to know how it works.

Let's face it, getting your first salary is a big deal. But first salaries come with its fair share of surprises and one of them is TDS. If you're like me and have no idea about TDS and how it works then this blog might be useful to you.

According to the Income Tax Act in India, employers are required to deduct tax at source (i.e before giving you your monthly salary). The government probably does this partly to help us pay our taxes properly and partly so that we don't spend all the money and have nothing to pay them later on :P. So the way it works is the employer deducts your tax before paying you your monthly salary and at the end of the year after you have filed your returns you'll get back any amount that is due to you under the law of the land.

But how much money is deducted?

| Income Tax Slab         	| Tax Rate for Individual Below the Age Of 60 Years 	|
|-------------------------	|---------------------------------------------------------	|
|     Up to ₹2,50,000     	|                       No tax baby!                      	|
|  ₹2,50,001 to ₹5,00,000 	|          5% of total income exceeding ₹2,50,000         	|
| ₹5,00,001 to ₹10,00,000 	|    ₹12,500 + 20% of total income exceeding ₹5,00,000    	|
|     Above ₹10,00,000    	|   ₹1,12,500 + 30% of total income exceeding ₹10,00,000  	|

Taxes on internship stipends are deducted just like full-time jobs. This table should help you figure out how much tax you'd be paying. Take your internship stipend, multiply it by 12 and wherever you land, that's the amount of tax that would be deducted. But there's a catch, this table is only applicable to you if you have submitted your PAN card to the organization. If you haven't then 20% of tax would be deducted! So be sure to submit your PAN card information to your organization guys.

Also after deduction your taxes, your employer will give you a TDS certificate certifying that they have indeed deducted your taxes. These certificates generally go something like Form 16 or Form 16 A. This is proof that your money has been deducted and paid to the government. You can claim your money back while filing returns.

How to claim your returns? I'll post a blog on that later, for now, enjoy your first salary :). 

PS - Three cheers to all the companies that manage to do something something and not deduct TDS for interns (Asli Messiah!). Also as you can probably see, different companies have different ways of deducting taxes for interns and your company might do something else than what's described above.

PPS - Tax laws are subject to the government's whims and may change any time.
Why Data Science
Published: 2019-12-03 15:28:18

Just this past May I graduated from high school. Throughout all of my schooling I always understood that math and science were my favorite subjects. I hated having to take english and history classes everyday and always wanted to just spend all of my time on the classes I enjoyed. It was with this knowledge in mind that made me realize that I really didn't want to go to college. Once this was determined, I began to look at other options. This led to the questions, What am I interested in? What do I want to do with my life? These caused me to look back at my life a little and see how I have been spending my time.
![](https://media.giphy.com/media/65S6VhtQucbE8tBZEV/giphy.gif)
Every Sunday as a kid, I would always watch my dad bet on NFL games. I would always wonder to myself how the odds of these matches were determined with seemingly endless variables going into each game. His betting is what caused me to write my first program ever. The program would take in my dads top players for each position and output every possible lineup for those players. It was a constant struggle and tons of stack overflow searches but the feeling of finally getting it to work was amazing. Gambling and how it all functions has always interested me. The idea that data can be used to give predictions proven to be profitable and make things like sports betting possible is very interesting.
![](https://media.giphy.com/media/J2TpQKBTC74MkhX3um/giphy.gif)

I took every possible math class offered at my high school and was involved in UIL number sense and computer science every year. I realized how much time I put into these topics and I how much I enjoyed learning them. It was at this time I began to look for coding bootcamps or anything similar that would be an intensive dive into more math and programming content. This is when I found the field of data science, and immediately became really excited about the idea of learning something that would combine high level math with programming to create amazing things like machine learning algorithms.
How to apple apex game in VR device?
Published: 2019-11-10 06:48:19

The countless sacrifices of Apex Legends show people's tireless exploration in this Apex Legends VR field. But in fact, these losers only want to provide players with a kind of game experience that can be immersed in 2019 is called the first version Apex Legends VR, and the representative events are the release of Sony PS VR, oculus and HTC vive. But the impact of such a high-tech product on our current life is estimated to be negligible. High hardware price is the biggest threshold for Apex Legends VR Popularization: the price of PSVR is 399, oculus is 599, HTC vive is 799, and the PC that can run VR requires at least 970 configuration, and the price of a 970 video card has reached 300. This is equivalent to saying that if you choose oculus or HTC vive for playing Apex Legends, you need at least 10000 yuan less to get an immersive experience. Sony is the most advantageous one. PS VR is the peripherals of the PS4, which costs 300 yuan, equivalent to the price of a 970 video card. This is the best choice to play VR games, but 700 is still very high. For the most promising Apex Legends VR, you need to know that foreigners think 399 is expensive and 300 is appropriate. But Sony totally relies on the way of selling hardware cheaply in the early stage and using software to supplement the later stage. But the other two have no such advantage: oculus and HTC vive are more like products that are forced to be launched to give investors an explanation. Compared with the other two platforms, PS VR for Apex Legends has a fuller and more powerful game library for players to enter. Apex Legends VR experience isolation is also a problem. In VR devices, you will not easy to get [free Apex Legends coins](https://apexlegendscheat.club/) without generator's help! VR package experience and high hardware threshold make people experience it personally and make observers feel crazy. It's different from playing games in Internet bar. If you want to play Apex Legends with friends in the living room, you only need to spend tens of dollars to buy a handle. But if you want to play online with friends in Apex Legends VR, sorry, that's the entertainment of rich people.
Benefits of Using Prettier Extension In Your VS Code IDE
Tags: miscellaneous
Published: 2020-02-05 07:42:25

---
title: Benefits of Using Prettier Extension In Your VS Code IDE
published: true
date: 2019-12-03 15:26:09 UTC
tags: Miscellaneous
canonical_url: https://codesquery.com/prettier-vs-code-extension/
---

Formatting the code is a painful task and most of the time as a new developer we forgot to format our code and push that for the review. Prettier is a code formatting extension for the VS Code IDE and In this article, we are going to see how beneficial it is to use the [...]

The post [Benefits of Using Prettier Extension In Your VS Code IDE](https://codesquery.com/prettier-vs-code-extension/) appeared first on [CodesQuery](https://codesquery.com).
Explain Design Pattern Builder Like I'm Five
Tags: explainlikeimfive
Published: 2019-12-03 15:16:05

So I have to create a lot of big objects for the project I am working on.
Looking for the most appropriate design pattern for my case, I searched the design pattern Builder and found many differents point of view, some contracting others.

Could someone explain the pattern, and what are the pro and cons of the pattern? maybe when to use it and when not? And maybe do you have other patterns that could work for manipulating big classes with more than ten properties?

Thanks a lot, it could really help me in my current work.
10 Telegram channels with remote job📢
Tags: career, productivity, discuss, beginners
Published: 2019-12-03 14:24:59

I would like to share my **top 10 Telegram channels with remote job**, which I do like and find useful.


First two are my **favourite ones**: only the most interesting jobs, nice interface, no spamm, always up-to-date. They are oriented on IT only, so there is no useless information.

(1). [Remotelist](https://t.me/remotelist) (1K+) - jobs from http://remotelist.ru/.

(2). [RemoteIT](https://t.me/remoteit) (17K+) - manually sorted out jobs from various websites.
 
These contain freelance and non-IT jobs as well:

(3). [Remote & Freelance](https://t.me/digitalbroccoli) (22K+) - jobs from http://digitalbroccoli.com/, a bit spammy, but a lot of different opportunities.

(4). [IT Freelance](https://t.me/itfreelancers) (1K+) - short and concrete job description, but not always up-to-date.

(5). [Finder.VC](https://t.me/theyseeku) (200K+) - not only IT jobs, but nice interface.

These two are great aggregators for GameDevs or CryptoDevs:

(6). [GameDev](https://t.me/devjobs) (6.4K+) - a really nice channel for GameDevs, nice job description, few spamm.

(7). [CryptoJobWork](https://t.me/cryptojobswork) (103K+) - channel for crypto jobs, no spamm, but this is a new channel so we need to give them some time.

People, who are interested in remote jobs, may take a look on relocation opportunities as well:

(8). [IT Relocation](https://t.me/Relocats) (7.8K+) - nice UI, no spamm and carefully sorted out best relocation options.

(9). [JobsAbroad](https://t.me/jobs_abroad) (9K+) - this one has less options, but can be also useful.

And the last one is not about jobs, but about you searching for your dream job. Channel, where you can publish your CV in a nice format:

(10). [IT CV](https://t.me/Cvflow) (1K+) - I cannot say how much useful it is, but I saw some really interesting CVs there.

<hr/>
Lets expand this listing together! What are your favourite Telegram Job Channels?👇👇👇
Organizing And Empowering Data Engineers At Citadel - Episode 109
Published: 2019-12-03 14:58:30

<p>The financial industry has long been driven by data, requiring a mature and robust capacity for discovering and integrating valuable sources of information. Citadel is no exception, and in this episode Michael Watson and Robert Krzyzanowski share their experiences managing and leading the data engineering teams that power the business. They shared helpful insights into some of the challenges associated with working in a regulated industry, organizing teams to deliver value rapidly and reliably, and how they approach career development for data engineers. This was a great conversation for an inside look at how to buld and maintain a data driven culture.</p><p><a href='https://www.dataengineeringpodcast.com/citadel-data-engineering-episode-109/'>Listen Now!</a></p>
Making Complex Software Fun And Flexible With Plugin Oriented Programming
Published: 2019-12-03 14:57:43

<p>Starting a new project is always exciting because the scope is easy to understand and adding new features is fun and easy. As it grows, the rate of change slows down and the amount of communication necessary to introduce new engineers to the code increases along with the complexity. Thomas Hatch, CTO and creator of SaltStack, didn't want to accept that as an inevitable fact of software, so he created a new paradigm and a proof-of-concept framework to experiment with it. In this episode he shares his thoughts and findings on the topic of plugin oriented programming as a way to build and scale complex projects while keeping them fun and flexible.</p><p><a href='https://www.pythonpodcast.com/plugin-oriented-programming-episode-240/'>Listen Now!</a></p>
Equivocarse es humano: #howto debug en js
Tags: javascript, debug, español, breackpoint
Published: 2019-12-03 00:50:35

---
title: Equivocarse es humano: #howto debug en js
published: true
description: 
tags: javascript, debug, español, breack point
---

Hola humano errador, hoy hablaremos de debug 🐞.

Existen formas de saber por que tu código funciona o no funciona.

![My code works, i have no idea why](https://i.pinimg.com/originals/cd/f4/f0/cdf4f09bfb26784178ce2e424449b19e.jpg)

si no quieres ser como mi amigo de aca arriba, sigue leyendo que estas de suerte 💁‍♂️✨

En mi lista de como debuggear en js, tengo 3 puntos a tener en cuenta:

## **console.log("");**

si bien esta es la forma mas intuitiva, revisar las variables de este modo no esta del todo bien, es la forma más rápida de hacerlo, pero cuando tienes que hacerlo más a fondo, existen mejores formas de hacerlo.

```javascript
const array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

array.forEach((number) => {
    console.log(number);
});
```

de este modo podrás ver en la consola de tu navegador uno a uno los números de `array`.

## **debugger;**

`debugger;` es una herramienta poderosa al momento de poder debuggear tu código, pero esto depende de el navegador que estés usando, yo ~~que tengo RAM de sobra~~ uso Chrome para trabajar, por lo que las siguientes imágenes serán de Chrome.

```javascript
const awesomeVariable = 'awesome';
let user = {
	first_name: 'gustavo',
	last_name: 'flores',
	age: -1,
	isCool: false
};
let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];

function debugVariable(variable) {
	debugger;	
}

debugVariable(awesomeVariable);
debugVariable(user);
debugVariable(array);
```

si ejecutas este código en tu navegador, dentro de las herramientas de desarrollador, en la pestaña **Sources** podrás ver esto:

![debugger code](https://thepracticaldev.s3.amazonaws.com/i/gbsxkwohbrghqambb5p5.png)

puedes interactuar con tus variables, y revisar que esta sucediendo con todo el `scope`.

para manejar este `debugger` y los que vienen tienes 2 botones practicos, F8 y F10:

- F8: salta hasta el próximo `debugger`, si no existe, el código sigue ejecutandose

- F10: salta hasta la próxima función, con esto puedes hacer un seguimiento de que se esta ejecutando.

## **breack points**

Si entendiste todo sobre `debugger`, enhorabuena, ya casi sabes todo de los breack points.

la única diferencia es que puedes ponerlo con tan solo click, en la pestaña **Sources** podras usar los break points haciendo click en el numero de tu linea de código.


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

al momento de recargar la pagina, los break points se guardarán para seguir usandolos.
Master list of free resources (Reddit)
Tags: resources, beginners, opensource, tutorial
Published: 2019-12-03 14:24:37

---
title: Master list of free resources (Reddit)
published: true
description: Master list of free resources in one of the most famous CS subreddit (r/cscareerquestions)
tags: #resources #beginners #opensource #tutorial
---

I've been following [r/cscareerquestions](https://www.reddit.com/r/cscareerquestions/) for two years now. It is one of the best Computer Science career-related subreddit. You will get all types of help related to your career in the tech industry. Recently there was a post for a collection of free resources for CS folks.

In case you don't use Reddit or didn't see the post, here is the link for the same, please have a look. It includes resources for interview preparation, system design, behavioral questions, books, courses, etc.

### <blockquote class="reddit-card" data-card-created="1575382929"><a href="https://www.reddit.com/r/cscareerquestions/comments/e4v755/master_list_of_free_resources/">Master list of Free Resources</a> from <a href="http://www.reddit.com/r/cscareerquestions">r/cscareerquestions</a></blockquote>
<script async src="//embed.redditmedia.com/widgets/platform.js" charset="UTF-8"></script>
Use Google Sheets to translate faster
Tags: productivity
Published: 2019-12-03 14:22:30

#### Have you ever found yourself in a situation where you had to translate a complete app / a lot of strings?

Here are some quite common scenarios:
- Shortly before the launch of your MVP someone notices that the internationalization has been completely forgotten.
- You create a prototype and the interface is in your native language. A new member joins your team that does not speak your native language.
- The market for an existing product is being expanded and requires a new language to be added.

These and other scenarios can quickly lead to frustration among developers.
Large companies have employees whose main task is to provide translations. But often the developers have to translate it by themselves. Freelancers have to do it by themselves also.

To avoid copying every single phrase to a translator and the result back, you can use Google Sheets to quickly translate it!

![Screen recording of the function](https://media.giphy.com/media/ggX6jYhH808KzHlsD7/source.gif)

**How to do it**
Name two columns and put in the origin language in one of them.
Use the following formula in the other one:
```
=googletranslate(A2; "en"; "es")
```
The first parameter is the `cell` you want to translate.
The second parameter is the origin language abbreviation.
The third parameter is the target language abbreviation.

Just drag the cell with the formula down to copy the formula to the other cells and you have your translation!

Of course one can argue about how good the translation of the formula is for one's own purposes, but the result is a good starting point.

And to be honest: I was amazed that this is possible!
How Do You Use Your Talent For Good
Tags: discuss
Published: 2019-12-03 14:02:18

It's Giving Tuesday and I was wondering how do you use your Development talents for good? As for me over the last few weeks, I've been helping a local group migrate from on-prem to the Cloud. I finished up everything last night and it's running well today. It's actually cheaper than what they had been doing before. Also today I spent the morning updating a church website. I see a migration to another CMS in their future as well 🤦🏿‍♂️
Creating New/Old Flutter project with web support
Tags: flutter, webdev, flutterdev, dart
Published: 2019-12-03 13:53:46

Today I will be guiding you to how to create flutter project with web support


#**There will be 2 portions of this article**

1: Creating a project from scratch

2: Adding web support on an old project


##**Creating project from scratch**

Before starting Make sure you are on flutter Dev channel if you are not

You need to switch to Dev or Master channel by hitting this command on your terminal

 >   flutter channel dev

 >   flutter channel master

![Switching channel](https://miro.medium.com/max/734/1*uG1aD7RcmMWMjTM8nzNq8w.png)

Currently, I am on Dev channel

##**Enabling web support**

To enable web support you have to write

 >   flutter config — enable-web

![](https://miro.medium.com/max/734/1*F2oQhz2aDgeZvPmI62Qmhg.png)

It will enable experimental web support


##**Creating a Project**

Now create a project as we usually do

![](https://miro.medium.com/max/734/1*MQuaJA34LDWFAWX7P_ZI0g.png)

You can see there is a web folder available

![](https://miro.medium.com/max/346/1*R1BzKpQNL_KcwPhRmWz2DQ.png)

And we can run it on Google Chrome and Android emulator

![](https://miro.medium.com/max/625/1*nu1Vsw_UiibE-qKk4GW7MA.png)


#**Adding web support on existing project**

(Create a backup of your project before doing anything)

As you know you need to switch to dev/master channel (if you are not)

 >   flutter channel dev

 >   flutter channel master

And Enable web support

 >   flutter config — enable-web

Now open a terminal in your old flutter project directory and write

 >   flutter create.

You can see web/index.html (created)

![](https://miro.medium.com/max/734/1*h8-9U422Pf0x-CR45e2lgQ.png)

All done…

p.s - ”not all library is supported in flutter web so you might get some errors so take a backup of your project before performing these tasks”
Make React Components as Re-usable as HTML Elements
Tags: react
Published: 2019-12-03 13:29:57

Out of the box, components are less flexible and re-usable than raw HTML Elements.
But we can fix that with a little JavaScript and JSX.

## Object Destructuring Assingment

This is a JavaScript feature.
This allows you to assign local variables from object keys using a reverse object literal syntax.

```js
let { name, base_experience } = { name: "Bulbasaur",  base_experience: 64 };

console.log(name) // => "Bulbasaur"
console.log(base_experience) // => 64
```

We use this feature to define variables for incoming props:

```js
function  Pokemon({ name }) {
  /* ...now we can use `name`... */
}
```

## Rest Paramaters

Rest Paramaters is a JavaScript syntax for scooping up remaining properties — where destructuring assingment is used:

```
let { name, ...rest } = { name: "Bulbasaur",  base_experience: 64, height: 7 };

console.log(name) // => "Bulbasaur"
console.log(rest) // => { base_experience: 64, height: 7 }
```

We use this for collecting all the props that might be sent to a regular HTML Element:

```js
function  Pokemon({ name, ...hostProps }) {
  /* ...now we can use `name` and `hostProps`... */
}
```

## JSX Spread Attributes

This is as JSX feature.
JSX Spread Attributes lets of take an object and "spread" it's key/value pairs over a React Element.

These two examples are equivalent:

```
// JSX Spread Attributes
let hostProps = { id: "1", className: "pokemon", data-base-experience: 64 };
<h1 {...hostProps} />

// Individual Attributes assignements
<h1 id={1}, className="pokemon", data-base-experience={64} />
```

We use this to "spread" any and all props (that we don't care about) onto the React Element:

```jsx
function  Pokemon({ name, ...hostProps }) {
  return <h1 {...hostProps}>{name}</h1>
}
```

Now, our component is just as re-usable as an HTML Element!
Phew 😅

## Give it a try!

Open this CodeSandbox in a browser and explore object destructuring assignment, rest paramaters, and JSX Spread Attributes.

{% codesandbox wdw5u %}

### Assignment
1. Use object destructuring assignment to get the `name` property from `props`
1. Use rest paramaters (...) to assign the remaining values to variable named `props` or `rest`
1. Use JSX Spread attributes syntax to assign all of the `props` (or `rest`) to the h1 React Element
1. Test you work by adding an `id`, `class`, `data-attribute`, or anything you like



---

Follow the 🧵 on Twitter:
{% twitter 1201855735061049344 %}

Subscribe on YouTube:
{% youtube QdZKDBogmH8 %}
"Angular can waste your time" series. Pitfall #5 - Low performance issue.
Tags: rxjs, angular, webdev
Published: 2019-12-03 13:20:47

---
title: "Angular can waste your time" series. Pitfall #5 - Low performance issue.
published: true
description: So you are not expecting some big performance issues in your application and run a performance test just to comply with the formalities. But the performance test shows some strange behavior... Why? 
tags: rxjs, angular, webdev
cover_image: https://thepracticaldev.s3.amazonaws.com/i/q3zz06gr1cgt1lxu965a.png
---

So you are not expecting some big performance issues in your application and run a performance test just to comply with the formalities. But the performance test shows some strange behavior... 

Why? Watch this video!

{% youtube pc2wH4aENCQ %}

This video series will become a part of my future video-course with advanced techniques of mastering Angular. Want to get a notification when it is done? Subcribe here: http://eepurl.com/gHF0av

[Buy me a coffee ☕️🤓](https://www.buymeacoffee.com/nqypxi6)