teleren/devto huggingface dataset:
The Complete NumPy course For Data Science : Hands-on NumPy
Tags: python, machinelearning, beginners
Published: 2020-02-03 07:46:21

Learn first step towards Data Science with all important concept of Numerical Python NumPy in Python For Data Science 

It's difficult to describe everything around us with just one number. The world is multidimensional. The data we are consuming, product we use on daily basis, from non living organism to living organism require many feature to fully characterise and quantify it.

So if you want to learn about fastest python based numerical multi dimensional data processing framework, which is the foundation for many data science package like pandas for data analysis, sklearn scikit-learn for machine learning algorithm, you are at right place.

This course introduce with all majority of concept of NumPy - numerical python library.

I will teach from what and why of NumPy to all important concept of N dimension data processing.

This course covers following topics.
* Why and What NumPy is
* NumPy installation
* Creating NumPy array
* Array indexing and slicing
* Array manipulation
* Mathematical & statistical function
* Linear algebra function
* How to persist NumPy array

Who this course is for:
* Any Python Developer who is curious about Data Science

What you'll learn
* You will learn Numpy - Numerical Python Library

{% youtube S5bbwDfjoZg %}
MLM Software Developers In Vizag | Colourmoon
Tags: mlmdevelopersvizag, mlmsoftwarevijayawada, mlmdevelopershyderabad, mlmwebsitevizag
Published: 2020-02-03 07:30:34

There Are Many Numbers Of MLM Software Development Companies Are Available In and Around The City But When It Comes To The " Best " Colourmoon Technologies In Our Vizag. We Are One Of The Finest & Leading MLM software developers in Vizag. We Have 11 Years Of Experience In Creating MLM Mobile Apps for Android and iOS.  



MLM

Abbreviated As Multi-Level Marketing and Also Called As Network Marketing and It Is A Controversial Marketing Strategy For The Sales Of Products Or Services.MLM Software Plays An Important Role For Successful Multi-Level Marketing and There Are Three Most Common Mlm Plan Types They Are Unilevel, Binary MLM Software Development & Matrix

Concept Of MLM

In which an administrator client can deal with a system, its clients, and the remuneration plan. MLM Software likewise gives its end clients in the system, capacity to see their system status, pay, and deal with their referrals, and payouts.

Why Colourmoon?

We Have An Efficient Team Who Are Ever Enthusiastic To Understand The Preferences Of Our Clients and Provide Them With The Quality Services. We Work In Your Budget With Our Experience, We Have Different Type Of Solutions To Your Problem and That Too With In Your Budget & We Provide A Great Solution To Your Business With Right Guidance. 

Take Our Name If You Are Finding Difficulty To Find The Mlm Software Developers In Visakhapatnam Then Call Us Today and Connect To The Colourmoon Technologies In Vizag. We Are The Most Trusted Web & Mobile App Development Company In India. We Strive To Delight Our Client With The Best, Resilient & User-Centric Mobile Apps.

For More Info

Call Us: 9676600666

Email: vizag@thecolourmoon.com

Website: www.thecolourmoon.com
Learn Angular from Scratch: Beginner to Expert
Tags: angular, webdev, javascript, beginners
Published: 2020-02-03 07:05:16

Learn the basics and advanced of Angular from scratch. 

This course will teach you everything that you need to become an expert from scratch. In this course i will assume that you have no prior knowledge about Angular and by the end of the course you will be at advanced level. This course will guide you step by step so that you will learn basics and theory of every part. This course contain hands on example so that you can understand Angular better.  This course contain hands on practical examples without neglecting theory and basics. Learn to use Angular like a professional.

### Who this course is for:
* Anybody who want to learn Angular
* Anybody who want to learn Web Development
* Anybody who want to learn Programming

### What you'll learn
* Learn Basics Of Angular
* Setting Up Angular
* Modules
* Routing
* Angular DOM
* Animation
* Advanced Angular Programming

{% youtube tJJiiE5KekM %}
Blazor + Dapper CRUD - .NET Core 3.1
Tags: dotnet, webdev, beginners
Published: 2020-02-03 06:36:08

Build modern data-driven Web apps with Microsoft Blazor and Dapper. 

In this course you'll learn to use Microsoft's Blazor Stack Overflow's Dapper Micro-ORM to rapidly developer modern data-driven asynchronous websites. Many people prefer Dapper to Entity Framework because it's simple, lightweight, and doesn't hide the SQL code from you. The techniques you learn here should prepare you for data-driven website development for the 2020 - 2030 decade.

What you'll learn
* Use Server Side Blazor with Dapper to build modern data-driven websites.

{% youtube W9xUUk_H_Ng %}
My coding style
Tags: java, coding
Published: 2020-02-03 06:25:04

---
title: My coding style
published: true
description: We talk about how I write my Java code and why I have chosen to write my code in a specific way. This is my opinion. I'm interested in yours if you have differing opinions.
tags: Java, coding
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/m6txd9a2s1cyizfwi6ig.jpg
---

{% youtube oMuMoQemMj0 %}

We talk about how I write my Java code and why I have chosen to write my code in a specific way. This is my opinion. I'm interested in yours if you have differing opinions.
Dev Quotes API
Published: 2020-02-03 06:24:07

Like every person out there an IT Person (regardless of dev, qa, scrum master, project manager, devops etc) needs a moment a day to relax after the x number of WTFs that they have in a day.

Sometimes hearing/reading some words of wisdom does help.

With this in my I made a little API for IT Quotes. Collection still in progress, feel free to write to me any new quotes and lets make this API have the biggest number of IT Quotes ever


https://funquote.herokuapp.com/quotes

P.S. Have to add about 200 good quotes more, just have not found the time.
Hobby Project: Generator for Testing
Published: 2020-02-03 06:10:49

Here I ended up creating an article generator for unittesting. I did start the work which prompted this need.

https://gitlab.com/jessephillips/devarticlator/compare/v0.0.5...v0.0.6

Building an article generator starts with how to build an single article. I have chosen to start with a json string which has some data placed in it. But having the exact same data when testing isn't advisable, though controlling what is different is also important.

https://gitlab.com/jessephillips/devarticlator/blob/v0.0.6/source/unittesting/articlegenerator.d#L51

In order to build out a list of articles, this single function can be utilized with the range generate template.

```dlang 
generate!fakeArticleMe;
```

This uses `generate` instead `repeat` because it will make a new object instead of repeating the same reference. But it does not change the article content. 

-------

https://gitlab.com/jessephillips/devarticlator/blob/v0.0.6/source/unittesting/articlegenerator.d#L58

I decided that I wanted to make modifications over the range. `sequence` will modify each article to create a descending sequence of articles. This is to simulate what the api would return.

```dlang 
generate!fakeArticleMe.seqence();
```

What I find interesting is that I can place this in a helping function and I would call that function 'generateFakeArticleMeSequence' true I might not utilize the term 'sequence' but the rest is accurate.

It appears I forgot to fill in the doc comment.

-----

I've never really figured out a good organization for imports. I that standard library, third party, local organization makes sense. 

https://gitlab.com/jessephillips/devarticlator/blob/v0.0.6/source/unittesting/articlegenerator.d#L3

-----

While I didn't implement this functionality, I do have an initial test to show the concept. 

https://gitlab.com/jessephillips/devarticlator/blob/v0.0.6/source/devtopull.d#L30

```dlang
auto devreq = generate!fakeArticleMe
    .seqence(ps.datePulled)
    .map!(x => x.deserializeJson!(ArticleMe))
    .take(3);
assert(devreq.filter!(x => x.isNewerArticle(ps)).empty);
```

I am looking to design the short circuit to use general range methods. And as I write this I realize that filter is the wrong choice as it will walk all articles. Instead I should have used `until`.

```dlang 
assert(devreq.until!(x => !x.isNewerArticle(ps)).empty);
```

The list would come out the same but this will rely on order of items to stop.

------

I think I wrote tests first, but I think I was adjusting the test as I developed.
How to set up Visual Studio Code command line on OSX ? – Quick Tip
Tags: howto, osx, programming, visualstudiocode
Published: 2020-02-03 08:57:46

---
title: How to set up Visual Studio Code command line on OSX ? – Quick Tip
published: true
date: 2020-02-03 06:00:00 UTC
tags: How to,OSX,Programming,Visual Studio Code
canonical_url: 
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/29l1dmne7ntaugwkcm40.png
---

Two week ago, I had to reinstall all the tools I use on a new computer, since the previous one passed away ☠

And since I often use Visual Studio Code when developing, (please, no debate over which text editor is the best in the comment 😝), I had to reinstall it and make it easily accessible through the terminal.

## The command `code`

For those who don’t know, Visual Studio Code has a shortcut, a command line tool named `code`, which allow you to use summon Visual Studio Code though your terminal.

Once setup up, you can use command line like `code my_file_or_folder` to open a file or a folder in Visual Studio Code. You can also add the option `-n` to open it in a new windows, or the option `-h` to display the help and have all the description of all the possibilities available to you. 😉

## Setting up `code` on OSX

The first step to have the command `code` accessible is to install Visual Studio Code, obviously.If this is not already the case for you, then, follow this [link](https://code.visualstudio.com/download), download and install it on your computer.

At this point, you should be able to open Visual Studio Code, without using the terminal 😉

So now, let’s focus on the main goal, being able to call the command `code` from your the terminal.To do so, you must open Visual Studio Code. Then press the keys command-shift-P (or ⌘-⇧-P), a text field should appear, stating with a `&gt;`. Now, type "Shell Command: Install ‘code’ command in PATH", and click on the option. Once installed (it shouldn’t be long), you will have a notification pop-ing up in the bottom right corner of Visual Studio Code.

All you have to do now, is to close your terminal and reopen it, and you will be able to run the command `code`. To make sure of it, you can run the command `code -v` to display your version of the command line installed 😉

## Conclusion

Personally, I needed to write this post so that future me will be able to go back to it whenever he will need to do so 😆
And maybe some of you, awesome people, will need it in the future too, so here it is 😉

Thank you all for reading this article !And until my next article, have an splendid day 😉

## Other resources

- [Visual Studio Code Osx Documentation](https://code.visualstudio.com/docs/setup/mac)
Identifying the OS version and phone model hosting a React Native mobile app purely with JavaScript
Tags: reactnative, javascript, opensource, npm
Published: 2020-02-03 05:08:19

When it is absolutely necessary to determine the OS and phone model in a [React Native](https://facebook.github.io/react-native/) app it can be done with purely with JavaScript.  Please let me explain how exactly the open source React Native component [info-glass](https://github.com/starpebble/info-glass) does it.

**User Agent String**

The React Native [WebView](https://facebook.github.io/react-native/docs/webview.html) component can execute a simple JavaScript function that returns the user agent string.  That means the WebView will kinda reply like a web browser does.  

The user agent string identifies the mobile app's host:
1. OS name
1. OS version
1. Phone model

It doesn't have to be a phone the WebView can also identify a mobile device model like a tablet too.

**Code**
```
<script>
  function getinfo() {
    if(window.postMessage.length !== 1) {
      setTimeout(getinfo, ${ASYNCHRONOUS_DELAY_MS});
    } else {
      window.postMessage(window.navigator.userAgent);
    }
  }
  window.onload = getinfo;
</script>
```

The code snippet above is just a single javascript function named getinfo() in a single HTML script tag. The function getinfo() returns the [window.navigator.userAgent](https://developer.mozilla.org/en-US/docs/Web/API/NavigatorID/userAgent) string for the WebView.

The secret is that a WebView component instance can send a message to the containing React Native component through the JavaScript function [window.postMessage()](https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage).  

**info-glass**

The npm package [info-glass](https://www.npmjs.com/package/info-glass) is a single JavaScript component that does one or two more things to simplify the above snippet.  The source code is on Github in one single [index.js](https://github.com/starpebble/info-glass/blob/master/infoglass.js) file.

Every single React Native project is different.  I simply like building purely in JavaScript because:

1. Developer operation simplifications.
1. Debugging a purely JavaScript application is relatively easy.  
1. Dust bunnies are easy to find with a JavaScript linter.  

It's not too difficult to mix in native code, it simply isn't always absolutely necessary to write native code.  If you are trying to be a humble JavaScript champion, it can't hurt to use a WebView to get the userAgent.
The Four Pillars of Object Oriented Programming
Published: 2020-02-03 04:44:39

I've had the flu all week, so for this blog I'm covering something super fundamental. Never hurts to hear it again right? Let's take a look at the Four Pillars of Object Oriented Programming. 

###1. Abstraction###

The **abstraction** of data or hiding of information, involves boiling a component down to just what elements you or the user may be concerned about. I like to think about this as creating a machine with a simple button. This machine might need to do something very simple, such as make a sound, but use a complex method to get there. It has gears and bells and timers. But the user doesn't want to operate any of that. So you give them a box, with a single button on it. They press the button. All that button does is tell the stuff in the box to do some work. The box handles the work, and _Ding!_ A sound is produced. The user doesn't see the whole process - it is hidden from them. This is abstraction. 

###2. Encapsulation###

When we put all those gears and bells and timers inside the box, by binding them together, we **encapsulated** them. All the tasks involved with making the sound have been gathered into one object - this box. If we have some other tasks, such as some bulbs mirrors for making a bright flash, we could bundle those together in a different box. Everything used for making sounds bundled in one spot, everything used for making lights bundled in another.

###3. Inheritance###

Inheritance is pretty much exactly what it sounds like! One class called a 'parent' class, may pass on certain properties to a 'child' class. We could make for example, a 'mammal' class, which has the child class 'cat.' 'Cat' would **inherit** properties from its parent 'mammal' class, such as warm-blooded, while also having some properties of its own, such as 'super cute' or 'really annoying at 3am.' Inheritance can go through multiple 'generations,' and parent or grandparent classes can have multiple child classes. One of the articles I link to in my sources below has a more full break down on different kinds of inheritance.

###4. Polymorphism###

**Polymorphism** refers to the ability of objects to literally take many _(poly)_ forms _(morph)_. As I understand it, this is largely thanks to inheritance. Lets take the 'mammal' class we proposed above. We could give it a function called "move()". Then each of its subclasses would have access to that function. However, when the subclass "rabbit" calls `move()` it may return "hop hop hop" while for a subclass "horse" you may get "clip clop clip clop." The same thing has taken multiple forms. 

I hope this may serve as a helpful resource or refresher for someone! I know it was helpful for me to write this.


Sources:
https://medium.com/@hamzzza.ahmed95/four-pillars-of-object-oriented-programming-oop-e8d7822aa219
https://standardofnorms.wordpress.com/2012/09/02/4-pillars-of-object-oriented-programming/
https://stackify.com/oop-concept-for-beginners-what-is-encapsulation/
https://www.techopedia.com/definition/28106/polymorphism-general-programming
Simplest sample of DotNetCore in Docker
Tags: dotnet, docker
Published: 2020-02-03 04:42:27

## Step 1 - create a DotNetCore web app
```
dotnet new webapp -o TestDotNetCoreWebApp
```

## Step 2 - build
The way Visual Studio does this is 
- creating a build image docker
- copy the project files there
- making the build
- copying the files back to your final image

here the purpose is to make it in the simplest form, so I am building locally.
```
cd .\TestDotNetCoreWebApp\

dotnet publish -c Release -o out
```

## Step 3 - Create the docker image
First we need a docker file. You can use an editor but I am just using powershell.
```
new-item -path "Dockerfile" -ItemType "file" `
-Value 'FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS runtime
WORKDIR /app 
COPY out ./ 
ENTRYPOINT ["dotnet", "TestDotNetCoreWebApp.dll"]' 

```
Build the image
```
docker build . -t test-dotnetcore-webapp-docker-image
```

## Step 4 
```
docker run -it --rm -p 8080:80 --name test-dotnetcore-webap-docker  test-dotnetcore-webapp-docker-image
```

the *--rm* option will tell docker engine to delete your docker as soon as it stopps.

## Step 5
That's all. Your application is running on http://localhost:8080

if you run the *docker ps* in another terminal you would see your docker instance running but as soon as you stop it with Ctrl+C in the first terminal, the docker will be deleted.
White Label Job Board Script
Tags: jobboardsoftware, jobboard
Published: 2020-02-03 04:42:25

Ready to use job board script can be used by businesses, organizations, agencies to make their own job board. This software aid to bridge the gap between job seekers and recruiters. It is a simple yet advanced, user-friendly solution in which even nontechnical people can also operate with ease. Get your own online job board software that will help you to manage the hiring process in no time. </br>

<b>What does Job Board Software do for you? </b>

Our ready to use <a href="https://www.logicspice.com/job-board-software">Job Board Software</a> can help you to launch your own job board in less time. This ready to use the script is secure, responsive yet user-friendly that has a dedicated dashboard for admin, employer, jobseeker. It is very simple to use as no coding knowledge is required for setup, our technical team will do it for you. </br>

Jobseekers can register themselves by Gmail, Facebook, LinkedIn, and email id. They can also create and manage their profiles in this Job Board Software. Candidate Can mark a particular job as a favorite can also apply directly or nearby in the future. Prospects can also share jobs over social media with their dear ones. With the help of the “Generate A CV” feature, they can create their own CV in the given format. </br>

This job board clone provides an incredibly great experience for employers to post unlimited jobs and can review the pool of prospects accordingly. Employers can send the email notification directly to job seekers & can also update the job status by activating or deactivating the listed jobs. Employers can also track the membership plan and payment history, mail history, and applications in the dashboard.</br>

The admin dashboard is the main aspect of our job board app as the Admin can monitor and manage the total number of jobseekers, employers, categories, skills, designations, locations, jobs, blogs and many more in this dynamic job board app. Since the dashboard is the control center, one can easily manage the username, password, email security questions, plans etc. The same way the Admin can update or change the configurations of payment gateways.
[Meetup] CSS Bangalore - 'Write responsible CSS'
Tags: css, meetup, a11y, performance
Published: 2020-02-03 04:20:30

---
title: [Meetup] CSS Bangalore - 'Write responsible CSS'
published: true
description: I gave a talk on the 'writing responsible CSS'
tags: CSS, Meetup, A11y, performance
---

Last weekend I gave my first talk of 2020 on 'Write responsible CSS' at CSS Bangalore Meetup group. 

I spoke about how CSS impacts the performance and Accessibility too.

You can check the slides here: [Slides](https://docs.google.com/presentation/d/1LSKVL8wB6frDso_YkYhnQ1pWxLG4xJ5QwDbgsjPY1LU/edit?usp=sharing).

Happy Learning!!
Infrastructure Diagram as Code
Tags: cloud, system, infrastructure, diagram
Published: 2020-02-03 02:55:33

I made an infrastructure diagram drawing library!

Diagrams lets you draw the cloud system architecture in Python code.

It was born for prototyping a new system architecture design without any design tools.

GitHub: [https://github.com/mingrammer/diagrams](https://github.com/mingrammer/diagrams)
Website: [https://diagrams.mingrammer.com](https://diagrams.mingrammer.com)

Here are some examples:

| Grouped Workers                                              | Clustered Web Services                                       | Event Processing                                             |
| ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| ![grouped workers](https://diagrams.mingrammer.com/img/grouped_workers_diagram.png) | ![clustered web services](https://diagrams.mingrammer.com/img/clustered_web_services_diagram.png) | ![event processing](https://diagrams.mingrammer.com/img/event_processing_diagram.png) |

Thank you :)
Use MFA on the CLI and execute awscli commands securely
Tags: aws, mfa, cli, awscli
Published: 2020-02-03 01:46:35

To enhance security, you can enable multi-factor authentication (MFA) also for issuing CLI commands.

You can configure your MFA device by going to the IAM console, searching a user and follow these arrows:

[![Configure your virtual MFA device](https://i.postimg.cc/Tw3KwMVq/configure-mfa-device.png)](https://postimg.cc/jWBxg1kL)
<figcaption>Configure your virtual MFA device</figcaption>

## IAM policy example

For example, you configure a Trust Policy as copied below. Notice the `Condition` to have `MultiFactorAuthPresent`. This way, in order for a user to assume a role in the CLI, the user must have an MFA token.

This condition can be applied to any `Action` of any IAM policy.


```json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "AWS": [
          "arn:aws:iam::nnnnnnnnnnnn:user/user.name"
        ]
      },
      "Action": "sts:AssumeRole",
      "Condition": {
        "Bool": {
          "aws:MultiFactorAuthPresent": "true"
        }
      }
    }
  ]
}
```


Manually using the CLI to obtain the temporary session tokens and setting them up as environment variables can be a hassle. I came up with this quick script to automate the job.

In the following script, you only have to replace `YOUR_MFA_ARN` with the ARN of the MFA device you have configured in your security settings in your AWS IAM user.

Then you can either `source` or `execute` the script.

Full article [here](https://medium.com/@mrodz/use-mfa-on-the-cli-and-execute-awscli-commands-securely-ef00ecf0e648)

Here's the bash script `aws-mfa-cli.sh`:

{% gist https://gist.github.com/siran/0979d1f9aeaa16e7fa7162e16ded6f19 %}