teleren/devto huggingface dataset:
15 Best Project Management Softwares in Dubai, UAE
Tags: management, productivity
Published: 2021-01-06 05:29:37

Project management software is a tool that is required to manage accepts of the project and delivers the project successfully. Project management software can be connected on-premise, but various new tools are offered online as a Saas. Project management tool compromise features to make graphs and reports, share data, track finances, assign resources, achieve tasks, design projects, and communicate with the whole team.

15 Best Project Management Tools

Here, we have listed 15 project management tools, considering their features and functionalities. But when it comes to your workflow and definite functionality you need to look around and take advantage of free <a href="https://blog.emeraldsoftwares.com/best-project-management-software-tools/">project management software </a> to meet your requirements.

1. Elate:

Elate is one of the best project management software catered by Emerald Global LLC. It allows users to manage projects, track teams, and connect with clients and employees. It provides a comprehensive and integrated solution to organize projects, plan tasks, distribute tasks among colleagues, and acquire customized workflow.

Features

Plan, Schedule, and track projects
Easy Internal and External Communication
Easily Customizable
free demo

2. Basecamp:


It is one of the oldest project management solutions which are an extremely reliable tool for industries that work on big projects. Its supportive features include the facility to send direct messages for fast discussions and set up a schedule. You can even save and track client feedback and approvals that helps you to track the project.

Features

Get reports on how projects are going
Resource planning
Long-term scheduling
Easy collaboration

3. ClickUp:

This tool has powerful features of managing and implementing all your team’s projects in one single platform. Users can easily organize projects, plan tasks, and manage resources in a centralized workspace by communicating and collaborating with team members.

Features

This tool allows unlimited users
Limitless file storage on all paid account
Can email a task straight from Outlook

4. Monday.com:

Monday.com is project management software that has initiated a lot of the add-ons of typical management tools that focus on simple, visually in-built layouts that help simplify the sequence of work.

Features

Supports integrations
Easy to customize a workflow
Availability of color-coding customization

5. Smartsheet:

This tool is known for its similarity in working as Excel. It performs all the calculations for you throughout multiple sheets. One can add customized brand logos and set color themes for individual projects.

Features

Easy Sheet-to-sheet linking
Various project templates
Simplicity in sharing
Simple and customizable dashboards

To know more visit https://blog.emeraldsoftwares.com/best-project-management-software-tools/
5 Skills Required to be Data Scientist in 2021 🔥🔥
Tags: devops, programming, dev, programmer
Published: 2021-01-06 05:07:02

Hello Developers  , today we are going to discuss 7 skills required by developers to become Data scientist in 2021.These skills are recommended by the data leader all around the world.

1.Python

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


Python is most used language all around the world and one of the growing programming language .Python has wide variety of libraries ,which is easy to learn . You should be able to write valuable scripts and build many applications like manipulating data, building machine learning models .


2 Pandas

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


Arguably the most important library to know in Python is Pandas, which a package for data manipulation and analysis. As a data scientist, you’ll be using this package all the time, whether you’re cleaning data, exploring data, or manipulating the data.
Pandas has become such a prevalent package, not only because of it’s functionality, but also because Data Frames have become a standard data structure for machine learning models.


3 SQL

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

As a Data scientist You should be able to extract data from database , manipulate data and create new models. Whether you’re a data scientist, a data engineer, or a data analyst, you’ll need to know SQL.Developing strong SQL skills will allow you to take your analyses, visualisations, and modelling to the next level because you will be able to extract and manipulate the data in advanced ways. Also, writing efficient and scalable queries is becoming more and more important for companies that work with petabytes of data.


4 Docker

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


Docker is a containerisation platform that allows you to deploy and run applications, like machine learning models.
It’s becoming increasingly important that data scientists not only know how to build models but how to deploy them as well. In fact, a lot of job postings are now requiring some experience in model deployment.
The reason that it’s so important to learn how to deploy models is that a model delivers no business value until it is actually integrated with the process/product that it is associated with.


5 Data Visualisation and Explanation

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


Data Visualisation means  data which is presented visually in form of bar and graph or any other conventional methods .

As a Data Scientist you should be able to understand and explain the graph to others because you’re always selling your ideas and your models as a data scientist. And it’s especially important when communicating with others who are not as technologically savvy.
My 2021 Learning Plan
Tags: javascript, python, webdev, bash
Published: 2021-01-06 05:01:39

2021, is here already?! Seems like only yesterday when I started learning how to code in April of 2020. This year, I want to take things to another level: programming real projects and learning new things. I wanted to hold myself accountable, hence why I'm publishing my 2021 learning plan here on DEV and will give weekly updates every week to let you know how I'm doing. In this post, I will be sharing my main focuses for 2021 and the different frameworks, tools, and languages I will be learning along the way. Let's dive right in!

## Basics/Refreshers

Since I've only been programming for about half a year and I like to move quickly, I need to review the basics. Oftentimes, I find myself not remembering how to do certain things like setting up a GraphQL server or setting some Typescript types. Also, I would like to revisit algorithms and data structures as I haven't mastered them 100%. Here are the basics that I'm going to review in 2021:

- Setting up a Node.js Typescript backend 
- Algorithms and data structures
- Big O Notation
- Server-side rendering
- Typescript
- Authentication with JWTs

## New things I'm going to learn

This year, I want to step outside of my comfort zone. I've always loved full-stack web development in Javascript/Typescript. In 2021, the big things I would like to do are: to create some useful full-stack web apps with a Rust backend and learn about ethical hacking and cryptocurrencies. Here is the list of things I'm going to "hopefully" learn:

Javascript/Typescript:
- Authentication with Passport.js (GitHub, Twitter, Google)
- REST APIs
- PostgreSQL with Typeorm
- PWAs
- React Testing Libary/Cypress
- Mocha and Chai Testing
- React Query
- Tailwind CSS

Python:
- Ethical Hacking with Python
- CNNs, RNNs, and ANNs with Tensorflow
- Machine learning algorithms in Tensorflow
- Matplotlib

Rust: 
- Rust basics
- Tokio
- Diesel (ORM)
- Setting up a REST API in Rust with Rocket

Other:
- AWS: S3, Lambda, Lightsail
- Vercel hosting + analytics
- Docker

## Courses I'm going to take

Since I'm learning a lot of new things, I need some courses to learn from! I'll be sharing 5 courses which I plan to take in 2021:

- <a href="https://www.udemy.com/course/complete-ethical-hacking-bootcamp-zero-to-mastery/">Ethical Hacking with Python</a>

- <a href="https://www.udemy.com/course/master-the-coding-interview-data-structures-algorithms/">Data Structures and Algorithms</a>

- <a href="https://www.udemy.com/course/rust-fundamentals/">Rust Fundematals</a>

- <a href="https://youtu.be/x1rQ61otgtU?list=PL4cUxeGkcC9jpi7Ptjl5b50p9gLjOFani">React Query Tutorial</a>

- <a href="https://www.youtube.com/watch?v=UBOj6rqRUME">Tailwind CSS Crash Course</a>

****

I have a very busy year ahead. I'll try my best to complete all the things on this list and if I don't: that's ok! 

Let's start 2021 on a high note, let's get coding! Thanks for reading.

**Henry**
Test Post
Published: 2021-01-06 05:00:59

this is post content
hhhlhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj h jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
Updated <lume-gltf-model> 3D model element (live demo)
Tags: lume, webdev, webgl, javascript
Published: 2021-01-06 04:57:37

I'm posting one demo per day all 2021!

I improved the [previous demo](https://dev.to/trusktr/lume-gltf-model-3d-model-element-live-demo-37e1) by adding new attributes to the `<lume-scene>` element that give the rendering an "environment map" that reflects off of shiny surfaces in the scene.

This what it looks like now:

{% codepen https://codepen.io/trusktr/pen/wvzjgbo %}

And this is what it looked like before:

{% codepen https://codepen.io/trusktr/pen/mdrxvVx %}

The gist of it is you can write HTML like the following and you'll have a 3D model on your web site:

```html
<lume-scene
	id="scene"
	webgl
	disable-css
	background="https://assets.codepen.io/191583/airplane-hanger-env-map.jpg"
	equirectangular-background="true"
	environment="https://assets.codepen.io/191583/airplane-hanger-env-map.jpg"
>
	<lume-point-light position="200 -200 200" intensity="1" color="white"></lume-point-light>
	<lume-ambient-light color="white" intensity="1.2"></lume-ambient-light>
	<lume-node id="cameraRig" rotation="0 200 0">
		<lume-perspective-camera size="0 0 0" position="0 0 1000" rotation="0 0 0" active></lume-perspective-camera>
	</lume-node>

	<lume-gltf-model
		id="model"
		src="https://rawcdn.githack.com/KhronosGroup/glTF-Sample-Models/c99173c645f47fae603dcb2e7263e656e265cf06/2.0/DamagedHelmet/glTF-Binary/DamagedHelmet.glb"
		size="2 2 0"
		scale="400 400 400"
	>
	</lume-gltf-model>
</lume-scene>
```

The demo is built with LUME, a software developer toolkit for making interactive 2D or 3D experiences with HTML. We're working towards its initial release.

{% github lume/lume %}

topics: #webgl #threejs #html #css #webdev #javascript #365DaysOfCode2021
Leetcode Reverse Integer - Solution and Video Explaination
Tags: cpp, leetcode, algorithms, interview
Published: 2021-01-06 04:39:01

{% youtube wL4quVX5cl4 %}

## Solution

```cpp
int reverse(int x) {
  int reversed = 0;
  int max = INT_MAX/10;
    
  while (x != 0) {
        
    if (abs(reversed) > max) {
      return 0;
    }
        
    reversed *= 10;
    reversed += (x % 10);
    x /= 10;
  }
    
  return reversed;
}
```

## Complexity

Runtime: O(n)
Space: O(n)
What’s your take on the coming decade?
Tags: future
Published: 2021-01-06 04:21:43

---
title: What’s your take on the coming decade?
published: true
description: 
tags: future
cover_image: https://cdn.olai.in/jjude/vr-experience.jpg
---

The last two decades have been about convenience. Developers converted every activity into algorithms and then into apps, improving our lives in tangible ways.

Now that convenience is covered, most would upgrade to the next level in the hierarchy of wants. I suspect that level is “experience.”

Joseph Pine and James Gilmore wrote of the emerging experience economy in a HBR article. They published a book later on the same topic.

Joseph & James predicted that “the next competitive battleground lies in staging experiences” We witness the competition playing out in some areas already.

I wrote my take on this here: https://jjude.in/expdevto

What is your take?
Google Firebase Good or bad?
Tags: discuss, javascript, webdev
Published: 2021-01-06 00:56:55

---
title: Google Firebase Good or bad? 
published: True
description: What do you all think about the use of firebase to help replace the need for a custom back end solution?
tags: #discuss #javascript #webdevelopment
//cover_image: https://direct_url_to_image.jpg
---
So over the past few months now I have been diving into the deep end with Vue. With this, I have started to figure out the extreme usefulness of firebase to spin up a database. 

I have found being able to do a simple api call and have everything set up for you so convenient. As it allows me to rapidly prototype my project without dealing with the added back end. I found it even more satisfying how quickly I can use authentication tokens. Rather than having to again set up my own back end to handle session IDs ect.

However, I do currently look at this as a prototype as I can see that this probably would get expensive for separate hosting ect. Rather than using a normal domain hosting with SQL ect and PHP. I will say that its great though if you are wanting to stay within the front-end realm.

What do you all think? What are the drawbacks of using this service? What do you all think the pros to it? Really curious to see the community's thoughts.
Make a Cool Typing Effect in just 5 Lines of JS code
🔥[Video Tutorial]
Tags: tutorial, javascript, devops, webdev
Published: 2021-01-06 04:11:32

{% youtube 5_1uMK163DY %}
<br>
Hey Guys!!
This is a New Video from My YouTube Channel !
It's about designing a Cool Typing Effect !
I've made a Live Demo for you to try at [https://cool-typing-effect-neatcoder.netlify.app](https://cool-typing-effect-neatcoder.netlify.app)

The Main objective of this tutorial is to implement something like this in less javascript code !

The Code is Pretty Simple! It uses the setInterval() function to loop through a string and append each Letter in the String To an Empty <span> element..
Then, the cursor blinking effect is done with CSS. It sets the border-right property of the span element to white color and again sets it to transparent ...
So, I hope you got a Simple idea about this!


Get the Source files at [https://github.com/Sakindu-d/Cool_Typing_Effect](https://github.com/Sakindu-d/Cool_Typing_Effect)

Support My YT Channel at [https://www.youtube.com/channel/UC_x91mqbyHX4-meYOpMxyUA](https://www.youtube.com/channel/UC_x91mqbyHX4-meYOpMxyUA?sub_confirmation=1)

Thank you! 😄😄😄
GCP - Streaming IoT Kafka to PubSub
Tags: googlecloud, serverless, pubsub, beginners
Published: 2021-01-06 04:05:33

Subscribe to my YouTube channel : [MyDigitalWorld](https://www.youtube.com/channel/UCvJ2JvEAzFi_cU8kPFdppjA)

## Objectives:

• Launch a Kafka instance and use it to communicate with Pub/Sub

• Configure a Kafka connector to integrate with Pub/Sub

• Setup topics and subscriptions for message communication

• Perform basic testing of both Kafka and Pub/Sub services

• Connect IoT Core to Pub/Sub


## Architecture:

![Arch](https://dev-to-uploads.s3.amazonaws.com/i/2szhikz58n2yt3a8pv5i.png)


## Introduction:

With the announcement of the Google Cloud Confluent managed Kafka offering, it has never been easier to use Google Cloud's great data tools with Kafka. You can use the Apache Beam Kafka.io connector to go straight into Dataflow, but this may not always be the right solution.

Whether Kafka is provisioned in the Cloud or on premise, you might want to push to a subset of Pub/Sub topics. Why? For the flexibility of having Pub/Sub as your Google Cloud event notifier. Then you could not only choreograph Dataflow jobs, but also use topics to trigger Cloud Functions.

So how do you exchange messages between Kafka and Pub/Sub? This is where the Pub/Sub Kafka Connector comes in handy.

Tip: Here we use a virtual machine with a single instance of Kafka. This Kafka instance connects to Pub/Sub and exchanges event messages between the two services.

In the real world, Kafka would likely be run in a cluster.


![Arch](https://dev-to-uploads.s3.amazonaws.com/i/7mzymeirem0m3e45fxqr.png)


## Details:

Youtube link: https://tinyurl.com/y6dd28vr

GitHub: https://github.com/IamVigneshC/GCP-Streaming-IoT-Kafka-to-PubSub


Blog: https://tinyurl.com/y4q9k4cp
Why Axios Is Awesome (and how to get started with it)
Tags: webdev, javascript, html
Published: 2021-01-06 03:32:07

Making HTTP requests can easily get bloated and unnecessarily complex. Sure, you can use jQuery's ajax methods or even jquery.get, but that has its limitations and doesn't fit well with a code base that's heavily based on promises.

Enter: Axios. Axios is a promise-based HTTP handler that makes your life a thousand times easier. It's very simple to use. For example, an ajax request through jQuery could take up a dozen lines or more, and the more lines of code that aren't abstracted away from you, the more room for error and bugs.

An axios request can take two primary forms for most uses. The simplest one, for example, a GET request, looks like this: 

```
const axios = require('axios');
axios.get('YourURLorEndpointHere');
```

That's a simple get request. The fun part is that that statement on the second line actually returns a promise, so you could handle the response extremely easily. For example:

```
const axios = require('axios');
axios.get('YourURLorEndpointHere')
  .then(response => {
    //do something
  })
  .catch(err => {
    //do something else 
  });
```

And you're done. That's it. That's the whole get request, handled and caught.

Let's say you wanted to make a post request instead, and you wanted to add some options in there. You can also use Axios as a function and give it an object with what ever parameters you want. For example:

```
axios({
  method: 'post',
  url: 'yourURLorEndpointHere',
  data: {
    //Your info to send here
  }
})
.then(response => {
  //do something with the response
})
.catch(err => {
  //handle any errors
});
```

That's it. That's what you'd use in 90% of any situations you'll run across, at least for simpler websites. Axios can help you make simpler, easier, and cleaner HTTP requests. 

Bonus: If you don't already use it, Express is a great tool for receiving all those super clean requests you just made!
(n)vi(m): productivity plugins
Tags: vim, productivity
Published: 2021-01-06 03:29:15

Let's take a look at my favorite _productivity_ plugins. I blogged about my basic nvim settings, this time I would like to share all the plugins I use as a heads-up-display when editing text.

### 1) ctrlpvim/ctrlp.vim

[ctrlp.vim](https://github.com/ctrlpvim/ctrlp.vim) is a full path fuzzy file finder. It's amazing! The configuration I use is the following:

```vim
set runtimepath^=~/.vim/bundle/ctrlp.vim
let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files -co --exclude-standard']
```

### 2) tpope/vim-commentary

[vim-commentary](https://github.com/tpope/vim-commentary) allows you comment/comment out blocks of text, it's really useful.

### 3) tpope/vim-surround

[vim-surround](https://github.com/tpope/vim-surround) allows you to easily manipulate "surroundings", to do whatever you want with those delimiters. It's really better explained in the README.

### 4) SirVer/UltiSnips

[UltiSnips](https://github.com/sirver/UltiSnips) allows defining custom snippets, I use this a lot for generating skeletons of Go tests, time saver for sure.

---

![The more you know](https://media.giphy.com/media/83QtfwKWdmSEo/giphy.gif "The more you know")
Code Smell 54 - Anchor Boats
Tags: codenewbie, webdev, tutorial, cleancode
Published: 2021-01-06 03:06:05

*Code is there. Just in case. We might need it soon.*

> TD:LR; Don't leave code for future use.

# Problems

- Complexity

- Coupling

# Solutions

1. Remove dead code.

2. Leave covered and real tested code.

# Sample Code

## Wrong

[Gist Url]: # (https://gist.github.com/mcsee/22deb44d4e95b4a3ca8ce9ba18d0f908)
```php
<?

final class DatabaseQueryOptimizer {
  
  public function selectWithCriteria($tableName, $criteria) {
    //Make some optimizations manipulating criterias
  }
  
  private function sqlParserOptimization(SQLSentence $sqlSentence): SQLSentence {
    //Parse the SQL converting it to an string and then working with their nodes as strings and lots of regex
    //This was a very costly operation overcoming real SQL benefits.
    //But since we made too much work we decide to keep the code. 
  }  
}
```

## Right

[Gist Url]: # (https://gist.github.com/mcsee/7d520c7f266d0180f42c3fc12b41fddc)
```php
<?

final class DatabaseQueryOptimizer {
  
  public function selectWithCriteria($tableName, $criteria) {
    //Make some optimizations manipulating criterias
  } 
}
```

# Detection

Using some [mutation testing](https://en.wikipedia.org/wiki/Mutation_testing) variants we can remove the dead code and see it test fails.

We need to have good coverage to rely on this solution.

# Tags

- YAGNI

# Conclusion

Dead code is always a problem.

We can use modern development techniques like TDD to ensure all code is alive.

{% post https://dev.to/mcsee/how-to-squeeze-test-driven-development-on-legacy-systems-8m9 %} 

# Also Known as

- Speculative Generality

# Relations

{% post https://dev.to/mcsee/code-smell-09-dead-code-3ig2 %}

# More info

- [Exception not Found](https://exceptionnotfound.net/boat-anchor-the-daily-software-anti-pattern)

- [Wikipedia](https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it)

- [Refactoring.guru](https://refactoring.guru/smells/speculative-generality)

# Also Known as 

- Speculative Generality

# Credits

Photo by <a href="https://unsplash.com/@kmkr">Kris Mikael Krister</a> on <a href="https://unsplash.com/s/photos/anchor">Unsplash</a>

Thanks to @[Apoorv Tyagi](@apoorvtyagi) for pointing this out.

* * *

> It is very hard to predict, especially the future.

_Niels Bohr_ 
 
* * *
 
{% post https://dev.to/mcsee/software-engineering-great-quotes-26ci %}

* * *

This article is part of the CodeSmell Series.

{% post https://dev.to/mcsee/how-to-find-the-stinky-parts-of-your-code-1dbc %}

*Last update: 2021/06/13*
Ubuntu is harder than Arch
Tags: ubuntu, archlinux, linux
Published: 2021-01-06 02:57:36

Did I get your attention?
I actually used Ubuntu as my very first Linux Distro. Now after using Arch, I can't imagine going back to Ubuntu. I've tried using it and other derivatives of it. And I find it very hard to use. 

Yes installing Arch is harder...much harder, but after that everything is just easier to use. Especially installing programs.

I don't even use a Desktop Environment. I just use a simple i3wm and I can't imagine using anything else anymore. I tried other DEs and just can't get the feelings.

Update: Arguing about *stability* is a weak argument. You do not have to constantly update. Just because you can, doesn't mean you have to. + if you installed Arch (vanilla, not manjaro) on your own you pretty much know 99% of what is going on with your system. You will know how to fix things.

If you said you used Arch, but was actually referring to Manjaro, then you really ~~can~~ can't say you are an Arch-user.