teleren/devto huggingface dataset:
Face Detecting Bot
Tags: octograd2020
Published: 2020-05-22 14:00:31

[Comment]: # (All of this is placeholder text. Use this format or any other format of your choosing to best describe your project and experience.)

[Note]: # (If you used the GitHub Student Developer Pack on your project, add the "#githubsdp" tag above. We’d also love to know which services you used and how you used it!)

## My First React Project 


## Demo Link - https://rahuls321.github.io/SmartBot/
 

## Link to Code - https://github.com/rahuls321/SmartBot

[Note]: # (Our markdown editor supports pretty embeds. If you're sharing a GitHub repo, try this syntax: `{% github link_to_your_repo %}`)

## How I built it?
I have built one SmartBot using React which can detect a face in the picture. I have used machine learning Clarifai API for detecting the face. I have also added the demo link. Give it a try.


## Resources which I have used to learn React and built this awesome app.
1. https://www.codecademy.com/learn/react-101
2. https://www.udemy.com/course/the-complete-web-developer-zero-to-mastery/
3. https://github.com/enaqx/awesome-react
4. https://www.freecodecamp.org/learn
5. https://www.clarifai.com/models/face-detection-image-recognition-model-a403429f2ddf4b49b307e318f00e528b-detection
[Final Note]: # (CONGRATULATIONS!!! You are amazing!)
5 Weather APIs for 2020
Tags: api, weatherapi
Published: 2020-05-22 13:25:54

A weather API is an essential business tool. Accurate and actionable weather forecast is business critical in industries like hospitality, transportation, shipping, insurance, public-safety, agriculture, to name a few.

Let me drive home that point with an example. As per a McKinsey report a storm causes, on an average $1.4B damage to a utility company over a period of 20 years. Actionable weather forecasts can help businesses better prepare for adverse weather events.

With Dark Sky API shutting down developers are looking for alternatives. So without further ado let me present the top 5 [weather apis](https://blog.api.rakuten.net/top-weather-apis/) for 2020.

1. [Open Weather Map API](https://openweathermap.org/api) - The OpenWeatherMap API was established in 2014 by a group of engineers and experts in big data, data processing, and satellite imagery processing. The API returns current weather, historical weather data, and forecast details. It collects data from more than 40,000 locations around the world, allowing you to get accurate weather information about any place you want.

2. [Weather 2020 API](http://api.weather2020.com/) - This API was developed by Gary Lezak, a famed meteorologist. To enhance its accuracy, the API uses the powerful long range weather model technology known as the LRC.

3. [WeatherBit API](https://www.weatherbit.io/) - This API gives you access to lightning-fast data to meet all your needs for up-to-date weather information. With the API, you can get accurate historical, current, and forecast weather data about any location around the world.

4. [AccuWeather API](https://developer.accuweather.com/) - The AccuWeather API provides accurate weather data about any location on Earth. With the API, you can get minute-by-minute forecasts with engaging video presentations that can be deployed to a wide range of platforms.

5. [Weather API](https://www.weatherapi.com/) - The Weather API gives you access to lightning-fast data to meet all your needs for up-to-date weather information. With the API, you can get accurate historical, current, and forecast weather data about any location around the world.
Kuberty, kubernetes testing for service clusters
Tags: 2020devgrad, octograd2020, showdev
Published: 2020-05-22 13:48:07

---
title: Kuberty, kubernetes testing for service clusters
published: true
description: I just graduated from KULeuven, and this was my final project.
tags: 2020devgrad, octograd2020, showdev
---

## My Final Project
When you start getting into services, you quickly discover how trivial unit tests and integration tests are. Small codebases are easy to perfect and are thus easy to test.

The hard truth is, most production errors no longer result from the codebase itself. These errors result from the way the service interacts with it's environment, an environment you've either completely mocked out, or ran in a fashion that does not resemble production.

Kuberty is a thought experiment. It wonders if there is a way to add a small definition file to each of your services containing its dependencies and most importantly its tests. The kuberty controller can then use this definition to deploy the service and all of its dependencies (recursively) and execute all of your tests this way.

Taking this one step further, the controller then resets the databases (and other state) each time a test is ran, making tests independent from eachother.

This is the future of testing on kubernetes. This is Kuberty.

## Demo Link
To learn more about Kuberty take a look at the [README.md](https://github.com/kuberty/kuberty).

{% github https://github.com/kuberty/kuberty %}
Changelog: DEV has Some Stories for You
Tags: html, css, javascript, storybook
Published: 2020-05-22 13:46:37

My first PR to the DEV repository was when I added Storybook to the project. In fact, this was in March of 2018, when the repository was private (which means that I can't even link you to the PR where I added it!)

<center>

![Screenshot of my first commits to the DEV codebase](https://dev-to-uploads.s3.amazonaws.com/i/x23u4dfcyplsubjkouzp.png)

</center>

If you're interested, here is the [commit](https://github.com/thepracticaldev/dev.to/commit/6a8df8c8ddec739280325c0000d6d32593f70ed0).

If you are new to Storybook I recommend giving this post I wrote a while back a read as well as checking out the [Storybook documentation](https://storybook.js.org/docs/basics/introduction/).

{%link https://dev.to/nickytonline/getting-started-with-react-storybook-9jh %}

The TLDR is, Storybook allows you to build out components in isolation and test them visually based on the different states they could be in. Each story you write is the component in a different state.

I added some stories for some [Preact](https://preactjs.com/) components, but after that, Storybook never really got used. Fast forward to January 2020. I started working at DEV and I had some discussions with my awesome product designer Pawel, @pp, about the design system. I mentioned that Storybook was already in the project, but needed to be resuscitated. Once I got it back up and running, we started collaborating, building out design system components and some application components. 

Storybook could be run locally if you had the DEV codebase but it was not deploying as part of our CI/CD pipeline. After doing some pairing with @andy this week, we got it deploying to [Netlify](https://www.netlify.com/) (awesome service!) whenever JavaScript files changed on master.

### **All that to say, you can view our very work in progress Storybook at [storybook.dev.to](https://storybook.dev.to).**

Photo by [Robyn Budlender](https://unsplash.com/@robzy_m?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash](https://unsplash.com/s/photos/stories?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)
Getting back on the web
Tags: impostorsyndrome, middleagedev
Published: 2020-05-02 20:43:51

---
title: Getting back on the web
published: true
description: Was I ever going to enjoy publishing my work?
tags: impostor-syndrome, middle-age-dev
---

At 44 years old, after 11 years of web development, 9 as a paid professional, I found myself without so much as a blog post, much less a portfolio site to my name. Despite my mastery over many aspects of this craft, **I just could not self-promote**. Worse, the combination of impostor syndrome, perfectionism, rebelliousness, and plain old fear had me obsessing about what I **should** be doing, was preventing me from writing at all.

My todo list, as it migrated from Omnifocus to Todoist to a dot-grid notebook, could never free itself "Build portfolio site" task. It sucked all the air out of me. Often, I would want to do some coding for fun, but I ended up opening the most recent portfolio directory. I would refactor something. I would start again with a new technology in a new directory. 

I had added analysis paralysis to the situation. I had no idea how to describe myself, what colors to use, static or dynamic, what kind of backend or CMS, what case studies or work experiences to write about, or where to start. I felt like I didn't even have anything to show. I jumped between new side projects or dusted off abandoned ones, trying to make them good enough to put out there.

I wasn't writing and I wasn't shipping. I wasn't really having fun. I kept feeling paralyzed about the portfolio I should be building. As a friend often says, *I was shoulding all over myself*.

## Don't should on me

To be fair to myself, I hadn't stopped learning. I did excellent work at my day job and the constant fiddling with projects had accumulated a strong start to a personal design system. I had become if not expert, highly proficient at accessible development, CSS, content strategy, design systems, Vue, leading meetings and guiding group efforts, and writing elegant and readable code.

But I had lost something. Something was missing that drew me to the web in the first place. It wasn't about my portfolio. It wasn't about putting myself out there. I was missing the joy I had at putting *my stuff* out there. Look what I made! The product of my play as much as my work. As someone who studied and taught the craft of writing, the web was first a place to present words. So add to the list a sense of unfulfilled potential and a fear that fun things are just not going to be fun anymore.

It was time to stop. I'd dealt with procrastination and fear. I'd changed bad habits. I could do it again. It might be fun.

## Start
At 44 years and 3 weeks old, I pushed some code up to [matt-kreiling.website](https://matt-kreiling.website). Along with a [tool for generating accessible color combinations](https://matt-kreiling.website/#/palette) from a set of colors, I added a home page with a few paragraphs about me and the site.

It feels good to be back.
Python in a nutshell [Part-1]
Tags: python, beginners, abstractlearning, tutorial
Published: 2020-05-22 13:43:05

---
permalink : /python-in-a-nutshell-part-1
---

Lets start with the *Hello World* of Python.
```python
>>> print("Hello, World")
Hello, World
>>>
```
We know one rule, a computer program does only what we have specified it to do. So how did the print function printed a new line character?
Lets investigate the *print* function with one of our bestfriends called the *help* function.

```python
>>> help(print)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.
```
(Type _q_ to exit the help)

So from this we can understand that after printing the value, it entered a new line character. Lets see different arguments in action:

```python
>>> print("Hello, World", end='')
Hello, World>>> print(1, 2, 3)
1 2 3
>>> print(1, 2, 3, sep='-')
1-2-3
>>>
```<class 'str'>


Okay next thing now is to take *input* from the user, which can be done as:
```python
>>> a = input("Enter your name:")
Enter your name: Anurag
>>> print(a)
Anurag
>>>
```

The input function returns a string. Don't worry about different data types, we will cover them later.
You can find the type of an object using *type* function:
```python
>>> type(a)
<class 'str'>
```
So the object returned by the input function is of class _str_.

Lets try our new bestfriend *help* function on it:
```python
>>> help(input)
Help on built-in function input in module builtins:

input(prompt=None, /)
    Read a string from standard input.  The trailing newline is stripped.

    The prompt string, if given, is printed to standard output without a
    trailing newline before reading input.

    If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
    On *nix systems, readline is used if available.
```

It is important to remember what type of object a function returns.

Takeaways:
1. Make *help* function your best friend.
2. Use *type* function to find the type of an object.
3. Know what to provide to a function and more importantly what it *returns*.


In Part-2, we will discuss about the importing different modules and different data structures in Python.

P.S : ~~Python 2~~ Python 3 is used.
Should we explicitly type the output of all functions (TypeScript) ?
Tags: typescript, discuss
Published: 2020-05-22 13:39:40

I'm starting to learn TypeScript and I'm frustrated about if I should type functions output or not.

In one hand, I would like to be explicit and consistent in my code, which invite me to explicitly type the output.

But in the other hand there are type inferences and I feel that adding the output type can become verbose and thus, more difficult to read.
Finally (I'm not sure about this), I think that I've read in the doc that type inferences may fail when the type is complex. This last point is in favor of explicit output typing.


I wondered what our your thoughts on this, experienced TS developers, so share your opinions !
Daily Challenge #247 - Get Planet Name By ID
Tags: challenge
Published: 2020-05-22 13:37:08

---
title: Daily Challenge #247 - Get Planet Name By ID
published: true
series: Daily Challenge
description: The function is not returning the correct values. Why?
tags: challenge
---

The function is not returning the correct values. Can you figure out why?

```
def get_planet_name(id):
    # This doesn't work; Fix it!
    name=""
    switch id:
        case 1: name = "Mercury"
        case 2: name = "Venus"
        case 3: name = "Earth"
        case 4: name = "Mars"
        case 5: name = "Jupiter"
        case 6: name = "Saturn"
        case 7: name = "Uranus"  
        case 8: name = "Neptune"
    return name
```

###Example
`get_planet_name(3)` # should return 'Earth'

###Tests
`get_planet_name(3)`
`get_planet_name(8)`
`get_planet_name(1)`
`get_planet_name(5)`

Good luck!
***
_This [challenge](https://www.codewars.com/kata/515e188a311df01cba000003) comes from jhoffner 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!_
Askeuomorphic UI — visual design for digital natives.
Tags: uiuxdesign, ui, uidesign, skeuomorphism
Published: 2020-09-08 13:23:31

---
title: Askeuomorphic UI — visual design for digital natives.
published: true
date: 2020-05-22 13:33:57 UTC
tags: uiuxdesign,ui,uidesign,skeuomorphism
canonical_url: https://medium.com/@mat_wright/askeuomorphic-ui-visual-design-for-digital-natives-b6afb6fef40f
---

[![](https://cdn-images-1.medium.com/max/1584/1*NWsWIDvFAcbs8Ur3P4LvWg.png)](https://medium.com/@mat_wright/askeuomorphic-ui-visual-design-for-digital-natives-b6afb6fef40f?source=rss-8818e5bb5014------2)

Analysis of an askeuomorphic approach to UI/UX design.

[Continue reading on Medium »](https://medium.com/@mat_wright/askeuomorphic-ui-visual-design-for-digital-natives-b6afb6fef40f?source=rss-8818e5bb5014------2)
May 22nd, 2020: What did you learn this week?
Tags: weeklylearn, discuss, weeklyretro
Published: 2020-05-22 13:21:30

Photo by [Roman Mager](https://unsplash.com/@roman_lazygeek?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText) on [Unsplash](https://unsplash.com/s/photos/learn?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText)

It's that time of the week again.

So wonderful devs, what did you learn this week? It could be programming tips, career advice etc.

<center>

![Information flowing through your brain](https://media.giphy.com/media/qKltgF7Aw515K/giphy.gif)

</center>

Feel free to comment with what you learnt and/or reference your TIL post to give it some more exposure.

{%tag todayilearned %}

And remember, if something you learnt was a big win for you, then you know where to drop it as well.👇👇🏻👇🏼👇🏽👇🏾👇🏿

{% link https://dev.to/graciegregory/what-was-your-win-this-week-57pc %}

<center>

![Price is Right contestant celebrating](https://media.giphy.com/media/gF29UEqBhSoDY8LHKg/giphy.gif)

</center>
What are Python Comprehensions?
Tags: python, beginners
Published: 2020-05-21 23:23:54

Python has a powerful feature called comprehensions. With this comprehension feature, a new sequence can be built based on another sequence with added calculation logic in a **succinct** way. Python 2.0 introduced list comprehensions. Dictionary and set comprehensions were introduced in Python 3.0. This article covers various types of comprehensions with examples.

<h3>List Comprehension</h3>

Let’s try to understand comprehension with an example. Let’s say we have a list of numbers. We want to build a new list that contains double of every odd number from the original list. New list with above requirements can be created using list comprehension:  
```python
nums = [11, 21, 30, 40, 55, 66, 17]
odd_nums = [n*2 for n in nums if n % 2 != 0]    # output is [22, 42, 110, 34]
```
Let’s break down the above statement to understand the structure of comprehension. 

Comprehensions generally have below parts: 

* An input sequence - **nums** in the above example which is a list
* A variable representing individual members of the sequence - **n** in the above example
* An optional predicate -  **if n % 2 != 0** we are filtering odd numbers from the original list
* An output expression - **n*2** this double the filtered odd numbers

Here is an illustration outlining different parts of the list comprehension:
 
![Comprehension Representation](https://dev-to-uploads.s3.amazonaws.com/i/0k6z5gxdc3lmq1orfdi9.png) 

Here are few more list comprehension examples:
```python
nums = [1, 2, 3, 4]
#Get a new list containing square of the numbers
sq_nums = [n*n for n in nums]      # [1, 4, 9, 16]
fruits = [“Apple”, “Banana”, “Orange”]
#convert list to lowercase
l_fruits = [name.lower() for name in names]  #[‘apple’, ‘banana’, ‘orange’]
```
<h3>Set Comprehension</h3>

We can create set sequences using set comprehensions. Let’s say we have a list containing duplicate numbers and we want to create a set without duplicates. Also, the resulting sequence should be double of the original numbers. This can be achieved using set comprehension. Please note as sets don’t maintain order of elements, resulting sequence's members could be arranged in any random order.  
```python
dup_nums = [1, 2, 2, 3, 4, 5, 12, 10, 2]
sq_set = {num*2 for num in dup_nums} # {1, 4, 100, 9, 16, 144, 25}
```

<h3>Dictionary Comprehension</h3>
Here is an example of dictionary comprehension creation, containing number as its key with square of the number as its value 
```python
 d = {n : n*n for n in range(1, 6)}     # {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
```
<h3>Tuple Comprehension</h3>
There are **no tuple comprehensions** in Python. Python generators could be used to create tuples in a similar succinct way.
Don’t Chase the Hottest Technologies
Tags: career, beginners, languages
Published: 2020-05-25 02:20:17

---
title: Don’t Chase the Hottest Technologies
description: COBOL is making waves right now. Many unemployment systems are buckling in the wake of COVID-19, and states need COBOL programmers. New devs hungry for work and wondering if they should chase this new demand and learn the language. In this video, I share why bouncing between the current in-demand technologies can hurt your prospects.
published: true
date: 2020-05-22 13:17:00 UTC
tags: career,beginners,languages
canonical_url: https://raddevon.com/articles/dont-chase-the-hottest-technologies/
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/47uqrl4msb49ywsva1f7.jpg
---
{% youtube 118Tj-ETYBc %}

Video Notes
-----------

[COBOL](https://en.wikipedia.org/wiki/COBOL) has been in the news recently because tons of people are applying for unemployment and it’s breaking these ancient systems that were built in — you guessed it — COBOL.

I had to make this video after I saw [a post on Reddit](https://www.reddit.com/r/learnprogramming/comments/g5zvpa/psa_dont_try_to_learn_cobol/) giving new developers advice _not_ to chase that COBOL money (if there even is any money to chase).

If you haven’t even heard of COBOL, you’ll probably be just fine without knowing about it. I took a COBOL course in college. That was almost 20 years ago, and COBOL was ancient even then. Today, it’s almost 60 years old. To give you a frame of reference, Python, which is a very mature language, is 30 years old. Javascript is about 25.

The commenters’ arguments for why you shouldn’t chase down that COBOL money are great. My only critique is that you could take them even further.

My advice: stop chasing down every job requirement you see – frameworks, languages, dev ops tools… all of it. Keep learning, but do it on your terms instead of letting poorly written job listings pull you from stack to stack.

In this video, I explain why it _hurts_ your chances of getting a job rather than helping them.

If you’d like to hear about another potential distraction that might delay your goals, check out [my article about the seductive powers of the coding tutorial](https://raddevon.com/articles/stop-doing-coding-tutorials/)!
Full Stack Vs Mean Stack Developers
Tags: mongodb, angular, node, php
Published: 2020-05-22 13:11:52

The websites that you visualize on the web have a couple of sides. The initial one happens to be the one seen by you, while another one functions in the background for managing its data. The former one is known as front-end development, which comprises web design along with its interface. The second one is known as back-end development, which deals with server-side programming and databases.

It is imperative to invest in each of these sections to operate a website properly. 

Without a decent front-end development, any website is not going to appear great. In the same manner, it will not be capable of processing its information in case it does not have sufficient back-end development. In fact, both these sectors happen to be extremely complicated. Due to this reason, some specialists actually specialize in any one of these two web development disciplines.

Nevertheless, you will come across experts who will be able to manage both these divisions effectively. We call them full stack developers. These experts learn lots of programming tools and languages, which help them to create websites quicker. One of these tools is known as the Mean stack.

In the subsequent paragraphs, we will discuss the differences between Mean Stack and Full stack Developers.

Mean stack vs. Full stack
By the term “full-stack”, we refer to a group of tools and programming languages learned by a developer for handling both front end as well as back end development of a site. On the contrary, Mean stack is actually a well-known full stack framework consisting of Express.js, MongoDB, AngularJS, plus NodeJS.

MEAN Stack Development Services
Even though full stack isn’t restricted to any specific language sets frameworks, for example, mean stack is. Being a full stack developer it will be essential for you to learn more than one language associated with web development in addition to several web design concepts.

While full stack primarily denotes the developer, Mean happens to a full stack framework acronym. Both of these have become extremely popular at present. Moreover, if you like to hire full stack developers, bear in mind that their demand is quite high right now. Nevertheless, these two are going to differ in lots of areas including the ones, which we have already mentioned earlier.

Read here:https://www.rlogical.com/blog/what-is-the-difference-between-full-stack-developers-and-mean-stack-developers/