teleren/devto huggingface dataset:
The Best Mode Of Learning - Switching From Electrical Engineering To Data Science
Published: 2021-12-06 19:37:26


There are several modes of learning available for both fresh graduates and professionals. You can take the help of online learning, work on open-source projects, read blogs, or follow fellow Data Science enthusiasts who showcase projects and work on real-world problems. You can also choose to enroll in an in-person classroom session, or an online curriculum, that involves live instructor-led learning.

While an in-person classroom session has its own benefits of real-time engagement and a wholesome learning environment, online training with live instructor-led sessions is also effective if you are not able to be physically present in a classroom. Just make sure whichever mode of learning you choose, the course you’ve selected for upskilling must be industry-relevant, must help you understand Data Science tools and concepts thoroughly, and help you become an Electrical Engineer turned Data Scientist.

The most popular tools being used in the industry are MS Excel, Python or R, Hadoop, Spark, and Tableau. When it comes to programming for Data Science, Python is one of the most sought-after languages. Along with Python, R is also another popular programming language you must learn. R is a better tool for businesses because it is capable of making great business-ready reports using Rmarkdown (offers a framework for data science).

**Some resources for learning data science**:
* Professional Certificate in Data Science (HarvardX, through edX):https://www.edx.org/professional-certificate/harvardx-data-science?d=tx7MgClIXPxvokUfKNonVzuC7Rrq8pn%2BhnppAbuWNvIO10zKA3FHyjsuQNg%2FZ54imRqfUCnSMXO1yadLoVs%3D&b=1
* Analytics: Essential Tools and Methods (Georgia TechX, through edX): https://www.edx.org/micromasters/gtx-analytics-essential-tools-and-methods?d=tx7MgClIXPxvokUfKNonVyaZ4Q7g7IvknXF6HrmSJ%2FhX30TCDGlHxnc1DM86dYkolV6aXXDHc2%2B60%2B9ErFoWJ%2BIx8GGo2A%3D%3D&b=1
* Applied Data Science with Python Specialization (the University of Michigan, through Coursera): https://www.coursera.org/specializations/data-science-python
* **Data Science Textbooks** :
Learning from a textbook provides a more refined and in-depth knowledge beyond what you get from online courses. This book provides a great introduction to data science and machine learning, with code included: “Python Machine Learning”, by Sebastian Raschka. https://github.com/rasbt/python-machine-learning-book-3rd-edition


**HAPPY LEARNING !!**
How to use Azure Blob Storage with Python
Tags: python, azure, nelsoncode, storage
Published: 2021-12-06 19:31:43

In this publication we will see the main methods to use with Azure Blob Storage

```bash
pip install azure-storage-blob
```

### Blob Service Client

```python
from os import getenv
from azure.storage.blob import BlobServiceClient

blob_service_client = BlobServiceClient.from_connection_string(
    getenv("AZURE_STORAGE_CONNECTION_STRING"))
```

### Connection String


![Connection String Azure Blob Storage](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fhx57qlvofcwst3z09ly.png)

## Methods for blobs (Files)


### Upload Blob

```python
def upload_blob(filename: str, container: str, data: BinaryIO):
    try:
        blob_client = blob_service_client.get_blob_client(
            container=container, blob=filename)

        blob_client.upload_blob(data)

        print("success")
    except Exception as e:
        print(e.message)
```

### Download Blob

```python
def download_blob(filename: str, container: str):
    try:
        blob_client = blob_service_client.get_blob_client(
            container=container, blob=filename)

        print(blob_client.download_blob().readall())
    except Exception as e:
        print(e.message)
```

### Delete Blob

```python
def delete_blob(filename: str, container: str):
    try:
        blob_client = blob_service_client.get_blob_client(
            container=container, blob=filename)

        blob_client.delete_blob()

        print("success")
    except Exception as e:
        print(e.message)
```

## Methods for Containers (Folders)

### Create Container

```python
def create_container(container: str):
    try:
        blob_service_client.create_container(container)
        print("success")
    except Exception as e:
        print(e.message)
```
### Delete Container

```python
def delete_container(container: str):
    try:
        blob_service_client.delete_container(container)
        print("success")
    except Exception as e:
        print(e.message)
```

### List Containers

```python
def get_containers():
    try:
        containers = blob_service_client.list_containers()
        print([container.name for container in containers])
    except Exception as e:
        print(e.message)
```

Github Gist

https://gist.github.com/nelsoncode019/eade5071c80f659bfa7ce9a452345d85
Simple Linked List in Javascript
Tags: javascript, programming
Published: 2021-12-06 19:11:26

Below is a **Simple Javascript LinkedList data** structure implementation you can find in NodeList class below. Below works perfectly when data sent to constructor is primive data else === will fail in find function in NodeList. You can ***Still add and print*** though.

```
class Node{
    constructor(data){
        this.node = {data:data};
        this.next = null;//pointer for next node 
    }
}

class NodeList{
    constructor(){
        this.list = null;
    }
    add(node){
        if(!this.list){//if this is null or empty, it enters
            this.list = node;
            return;
        }
        let temp = this.list;
        while(temp.next){//if temp.next is null, break
            temp = temp.next;
        }
//temp.next is null here, so assign the node.
        temp.next = node;
    }
    find(data){
//if list is empty, nothing to find
        if(!this.list){
            return null;
        }
        let temp = this.list;
//keep iterating until we find data
        while(temp.node.data !== data){
            temp = temp.next;
            if(!temp){//if data not found and end of list reached
                return null;
            }
        }
        return temp.node;
    }
    print(){
        if(!this.list){
            console.log('Empty');
        }
        let temp = this.list;
        while(temp){
            console.log(temp.node.data);
            temp = temp.next;
            if(temp)
            console.log(" and next is ");
        }
    }

}

let nodeList = new NodeList();
nodeList.print();
let nice = new Node("Nice");
let nice1 = new Node("Nice1");
let nice2 = new Node("Nice2");
let nice3 = new Node("Nice3");


nodeList.add(nice)
nodeList.add(nice1)
nodeList.add(nice2)
nodeList.add(nice3)
console.log(nodeList.find("Nice1"));
console.log(nodeList.find("asdfasd"));
nodeList.print();
```
Code of Conduct Notifier Action: 2021 GitHub Actions Hackathon
Tags: actionshackathon21, showdev, github, community
Published: 2021-12-06 19:03:36

The challenge of managing online communities is continuously growing. Often times the members are spread across multiple platforms, making it harder to get a complete snapshot of its members' interactions and behavior. While platforms employ different tools and methods to moderate (potentially harmful) conversations, the moderators' priority will always be to create a safe and positive community experience for everybody. 

This Action aims to help just a little bit the GitHub communities moderators into enforcing their Code of Conduct.

### My Workflow
For this year's 2021 GitHub Actions Hackathon, I have built a simple GitHub Action that notifies the members of the community of their Code of Conduct document when this is mentioned. The Action will reply to issues and pull requests comments when the keywords _code of conduct_ are mentioned, helping the maintainers to quickly share the Code of Conduct document without going back and forth copy-pasting URLs. The Action will take care of this part. 

### Submission Category: 
**Maintainer Must-Haves**

### Yaml File or Link to Code
The action is a composite action built on tope of the `github-script@v5` action, using its functionality to retrieve and post comments in the GitHub issues and pull requests. The YAML file of the action is available in the repository under [`action.yml`](https://github.com/BogDAAAMN/code-of-conduct-notifier-action/blob/main/action.yml)

More [information](https://github.com/BogDAAAMN/code-of-conduct-notifier-action#description) and [examples](https://github.com/BogDAAAMN/code-of-conduct-notifier-action#workflows) are available in the repository of the action [BogDAAAMN/code-of-conduct-notifier-action](https://github.com/BogDAAAMN/code-of-conduct-notifier-action). If you want to get started and use the action, you can visit the GitHub Marketplace page: [Code of Conduct Notifier](https://github.com/marketplace/actions/code-of-conduct-notifier).


{% github BogDAAAMN/code-of-conduct-notifier-action no-readme %}


### Additional Resources / Info

The information presented in the description of the action, the inspiration, and the default messages used by the action are shaped from the following sources:

- [Constellation Report](https://orbit.love/constellation-report-state-of-community-tools-2021): State of Community Tools 2021 by [@Orbit](https://dev.to/orbit)
- [Mozilla Community Participation Guidelines](https://www.mozilla.org/en-US/about/governance/policies/participation/) by [Mozilla Corporation](https://www.mozilla.org/en-US/about/)
- Feedback and conversations with [@VirtualCoffee](https://dev.to/virtualcoffee) friends
DevOps-Minus 2 days and counting - Going from zero to DevOps Hero with a Skills Bootcamp paid for by the UK government:
Tags: beginners, devops, bootcamp
Published: 2021-12-06 19:02:16


Do you have your dream job? Finding a job you enjoy is not easy. Sometimes, it can seem like you've found your dream job, one that will keep you engaged and interested for many years. Sometimes, you can tell you're not going to get much out of it.

Hi, I'm Dominic, but my significant other calls me DoDo. I'm looking at becoming a DevOps DoDo, and this will be my log of that transformation.

I am doing this course as part of the UK Governments'  [National Skills Fund](https://www.gov.uk/guidance/national-skills-fund), where eligible people in the UK can take part in a free or heavily subsidised Skills Bootcamp with the aim to retrain and help the recovering economy.

I left school after my A-Levels and went straight to work. My brother, an IT manager in London, managed to secure me a three-month contract in IT Support where my role was very much equivalent to a work experience role: Changing the backup tapes (yes, tapes!), directing basic IT Support calls, replacing ink toners and helping my brother with testing the new programme he had created for the company on as many of the most popular and current phones we could purchase. Eventually, life decided to throw some obstacles at me and I was unable to pursue this field and had to take any job I could.  I have been trying to re-enter the IT field ever since, but always come across the **Experience Paradox**: You need the experience to get the job, but you need the job to get the experience.

I tried several times, years later, when I was medically retired from the police force due to an Auto-Immune disease that meant I couldn't walk. I tried to complete the Cisco Certified Network Associate's exam, then went on to HTML/CSS to be a web developer and finally tried my hand at Android App programming. None of them succeeded, however, due to discipline, support and health.

This time, I have managed to secure a place on a Purple Beard Training course that will teach me the basic skills of DevOps with the aim of getting a job in that field at the end of the course. My training will start on Wednesday Evening and last several hours. This will be the same routine from now till March: Two nights a week, 3 hours a night of fast-paced learning with the exception of Christmas and New Years' week. Once I have finished, I hope to complete (and pass) an exam to get a certificate, although that is optional.

This blog will be my log and experience as I couldn't find much - if any - discussion of the process and the experience whilst doing my research.

Tomorrow, I will be writing on more details about the National Skills Fund and how I applied to join the course and what the requirements are, as well as what I have been doing to prepare.

I hope you find this blog interesting and informative, please don't hesitate to add any questions or comments below.

Happy Coding!
Git app, that shows updates to a project in real-time?
Tags: github, javascript, react, devops
Published: 2021-12-06 18:55:19

Is there a iOS app,
That will display your file changes in real time?

So you can interact with them on a side device like a iPad?

I want to review and commit changes by then self’s and not have my screen cluttered.

Is there a iOS app like that?
Improve Your JavaScript Skills by Playing This Game - WarriorJs
Tags: javascript, tutorial, programming
Published: 2021-12-06 18:45:27

WarriorJS is a fun way to practice and improve your software development skills. Write Javascript to instruct the warrior to battle enemies, rescue captives and make it to the stairs alive. 

Legend tells of a legendary sword, forgotten to the ruins of an abandoned tower. Thousands of warriors have set off on a quest for the sword, whose bearer would become enlightened in the JavaScript language.

In this video we complete the first 6 levels of WarriorJS.

If you enjoy my videos please subscribe like and share.

{% youtube f1AQMOJu90s %}
Data warehouse explained
Tags: datawarehouse, etl, olap, oltp
Published: 2021-12-06 18:41:47

## WHY
Different business processes need different data structures due to different needs. 
The aim of a data warehouse is to
- make the data simple to understand
- performant
- quality assured
- ready for new questions
- secure

It should deliver the data to the user
- in an understandable and performant dimensional model
- with conformed dimensions or separate data marts
- to report and visualize
-- by interacting directly with the model
-- or through an BI application

### OLTP - online transactional processing
For _running a business_ it is important to track different things, like for example inventory, financial transactions or different types of movements.
A single relational database might be sufficient for this part, as there is no redundancy and high integrity.

### OLAP - online analytical processing
To understand _what is going on_ in a business it is important to do analysis and monitoring. Like examine market segmentation over a period of time or split users into market segmentations.
As single relational database is not sufficient, because it might become too slow for analytics and quite hard to understand.

##WHAT
A data warehouse is a system that enables the support of an analytical process. It gathers data from multiple sources. It is a copy of transaction data specifically structured for queries and analysis.

The data from OLTP will run through an ETL process to provide data for the OLAP.

## ETL - Extract Transform Load
### Extract
- get data from a source
- update old states
 
### Transform
- integrate many sources together
- clean data
- produce metadata

### Load
- structure the data
- load into a dimensional data model


![sketch ETL](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fjig1w0qeiuejov8u02z.jpg)


## Dimensional modeling
The dimensional model will help to understand the data easily and perform fast analytical queries.

![sketch starscheme](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9ncm8dojj8hyujdcwls3.jpg)

### Fact table - numeric and additive
- **business events**, like a phone call or a review of a book
- context of the business events in **quantifiable metrics**. Like duration of a call, the rating of a book

### Dimension table
- context of business events: **who, what, where, why**
- attributes, like: date, time, physical locations, human roles, good sold
Python 3.10 Structural Pattern Matching (Match Case)
Tags: python, programming
Published: 2021-12-06 18:35:59

After a wait of so many updates, Python has finally introduced a switch-case like structure in its latest 3.10 version. If we talk about other programming languages like, C++, Java, and JavaScript all these three popular programming languages support switch case statement, which is an alternative to write efficient and cleaner conditional statement.
Let's see an example of Switch Case statement in C++
## Switch Case Statement in C++

```
#include <iostream>
using namespace std;

int main() {
    int http = 200;

    switch (http) {
        case  200:
            cout<<"OK";
            break;
        case 201:
            cout<<"CREATED";
            break;
        case 202:
            cout<<"ACCEPTED";
            break;
        case 400:
            cout<<"BAD REQUEST";
            break;
        case 404:
            cout<<"NOT FOUND";
            break;
        case 503:
            cout<<"SERVICE UNAVAILABLE";
            break;
        default:
            cout << "Error! HTTP Code is not valid";
            break;
    }

    return 0;
}
```
**OUTPUT**
`ok`

The above code is very clean example of conditional statement. The switch case comes very handy when we have a conditional operation based on a single data object.

## Python Structural Pattern Matching
In Python 3.10, the core developer team of Python introduced a new conditional statement syntax Structural Pattern Matching, which is a similar syntax to the switch case statement present in the other programming languages.

Although Python contain `if..else` and `if...elif...else` statements to write conditional statements, but the all new Python Structural Pattern Matching provides a more elegant and legible way to write some conditional statement.

 

###Syntax

```
match subject:
    case pattern1:
        #case 1 code block
    .....
    ....
    ...
    case patternN:
        #case N code block
```
####Keywords

1. `match` is the keyword here.
2. `subject` is the value that need to be match.
3. `case` is also a keyword
4. `pattern` is the value that will be match with `subject` if any case pattern matches the `match` `subject` that case code block will be executed.

## Example
 

```
http = 200

match http:
    case 200:
        print("OK")
    case 201:
        print("CREATED")
    case 202:
        print("ACCEPTED")
    case 400:
        print("BAD REQUEST")
    case 404:
        print("NOT FOUND")
    case 503:
        print("SERVICE UNAVAILABLE")
    case _:
        print("Error! HTTP Code is not valid")
```

#### Output

```
OK
```

## Conclusion
The new Python match case statement is an alternative of the switch case statement present in the other programming languages. Although the switch case statement provide an elegant way to write conditional statement, still for complex and multilayer conditional statement it is not a good option. It can only be used when the condition expression is a single value.
How to create a progress bar with HTML and CSS (video)
Tags: webdev, tutorial, youtube, html
Published: 2021-12-06 18:22:28

---
title: How to create a progress bar with HTML and CSS (video)
published: true
description: Tutorial on how to create a progress bar component with a single HTML element and vanilla CSS (no JavaScript needed).
tags: webdev,tutorial,youtube,html
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iqw3cj747xfv6vbxy9io.png
---

There are many pages on how to create a progress bar using web technologies, why do we need a new one? I found that many of those tutorials are _bloated_: they include a lot of unnecessary HTML elements or they base everything on JavaScript. Also, they tend to forget about Web Accessibility, and the resulting component will prove to be a challenge for assistive technologies (AT) users.

But it doesn't have to be that way. We can create a dynamic progress bar component using a single HTML element and some CSS, and it can be customizable, responsive, and accessible. I explained the process in this video:

{% youtube aXmNG2wie7I %}

If you prefer reading rather than watching videos for tutorials, I'll have a post about this topic soon (it will be sort of a transcript from the video). Or if you want to jump directly to the code and explore it, you can view the source code on this [CodePen demo](https://codepen.io/alvaromontoro/full/poWgdVV):

{% codepen https://codepen.io/alvaromontoro/pen/poWgdVV %}
#100daysofcode Update: I'm back!
Tags: 100daysofcode, react, python, beginners
Published: 2021-12-06 18:21:29

Hey everyone! It has been a couple days since my last update. I decided to stop making daily updates on the #100daysofcode challenge temporarily, as I was too invested with finishing my school semester to give this challenge the attention it needs! I will be starting again from Day 26 starting *tomorrow*! 

## What have I been working on?
Despite not updating daily, I have been putting in the minimum one hour daily I set out for myself. These hours have been used doing the following:
* LeetCode Practice
* Reading a bit more about Django - Purely out of curiosity, my next project will *NOT* involve Django
* Bit of progress on FreeCodeCamp's JS course - Need to kick this back into high gear
* Creating a small Android app as part of an application process for CodePath's Android Kotlin University course
* **Started learning Redux** - I intend on using Redux in my Study Aid app (NAME TBD), so this is top priority now

Beyond the above, the vast majority of my time has been spent working on final stuff for school. This includes, but is not limited to:
* **Final course project work** - **Integration**, bug fixes, final spec checks, *integration*
* Final assignments
* Prepping for final exams

I'm still not finished with school, but the vast majority of the work is done now and I am feeling much more comfortable with jumping back into this challenge!

## What's next?
So it's time to jump back into the challenge! Starting tomorrow, I will begin again from Day 26. Here's the current plan for what I will be working on!
* Daily FreeCodeCamp progress and Leetcode practice
  * Working towards a JS Certification through FreeCodeCamp
  * I need to keep practicing with Leetcode to stay sharp for interviews. Recently I have had trouble with Trees in mock interviews, so I will be focusing my efforts on Tree problems for now
* **Redux tutorial and a bit of a deep dive**
  * I want to know as much as possible about Redux before I jump into creating my app. Previously, I created a web of problems due to a lack of experience with states in React. I want to make sure that I prevent as many of those problems as I can when learning Redux's management of state. My hope is that Redux's framework will allow me to more easily fix state problems that I create.
* Start the Study Aid app!
* Later in the challenge: AWS Deployment, AWS Certification, and Using Docker!?