teleren/devto huggingface dataset:
My Favorite Programming Books When I Was An Absolute Beginner
Published: 2020-03-20 18:48:36

As I am reading my slightly more intermediate book "Writing Interpreters and Compilers for the Raspberry Pi Using Python" by Anthony J. Dos Reis, I remembered some of my favorite programming books when I was an absolute beginner. My favorite book as a beginner was "Automate the Boring Stuff with Python" By Al Sweigart. I also read other books of his like "Invent Your Own Games With Python", and "Coding In Minecraft" all of which I loved. I also remember reading "Coding for Kids" by the Dummies book publisher, you know, those books that insult you for not knowing the topic? I also owned their "JavaScript for kids" book. I also vaguely remember this one Python book which had a robot in front of a chalkboard but not much else I can remember, and a Java book for kids. Anyways just wanted to share about my favorite books.
tsParticles masking Fullscreen HTML5 Page Background Video
Tags: codepen, javascript, typescript, showdev
Published: 2020-03-20 18:43:00

<p>Technique explained in <a href="http://thenewcode.com/777/Create-Fullscreen-HTML5-Page-Background-Video">the related blog post</a></p>

{% codepen https://codepen.io/matteobruni/pen/zYGWPYL %}
Setting Up Environment For Python
Tags: python, learning, beginners
Published: 2020-03-20 18:23:54

---
title: Setting Up Environment For Python
published: True
description: Installing Python in OS
tags: #python #learning #beginner
---
##### Before Installing any software on your device consider the following
- Whether your System is 32-bit or 64-bit
- Which OS you are Using Mac/Linux/Windows
- Memory space

#### Python is Pre-installed in Linux and Mac.
To open python shell:
- open Terminal
- Type **Python**
- you will see

![Python](https://dev-to-uploads.s3.amazonaws.com/i/3u7e6px1kdjq060ghata.png)

- Now Type the following there:

        >>>print("hello World!")
        hello World!

- If you want to have python3 but getting python2.7 instead then run this in your bash shell

        $ echo "alias python=/usr/local/bin/python3" >> ~/.bashrc

what this does is this points python3,when python is called instead of python2.7.

   **For Windows**

- Download Python installation file from [Python.org](https://www.python.org/downloads/windows/)
- After starting the installer, one of two options may be selected:

![Python Installation Step](https://dev-to-uploads.s3.amazonaws.com/i/mzu3yde3wjmugze0h2gj.png)

- If you select “Install Now”:
   - Python will be installed into your user directory
   - The standard library, test suite, launcher and pip will be installed
   - If selected, the install directory will be added to your PATH.
- On selecting Install Now, the setup process begins and wait for the installation to complete.

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

- Once the installation completes, choose Close.

P.S. By selecting **‘Add Python 3.X to PATH’** will save some troublesome of adding PATH to your system variables.

Since you can't do all the stuffs in console so we need an Editor.
I use [VS Code](https://code.visualstudio.com/)
but there are many different editors out there of your choice. like Sublime text , Atom , Pycharm and so on


For more [Visit Here](https://blogs.mausamadhikari.com.np/2021/02/setting-up-environment-for-python.html)
React Unit Testing: Async Act
Tags: webdev, react, testing
Published: 2020-03-20 17:37:07

This is more or less for my own benefit as much as other people. Since starting my newest job last September, I've been knee deep in figuring out React testing with Enzyme and Jest. I'm not saying what I've got is the best way of doing things, but it works well enough.

So this will be the first of a series of different short articles where I describe methods of unit testing React.

We'll start with the async act. Act itself is rolled into a lot of Enzyme functions already, for example `mount` and `simulate`. So for the most part it's abstracted out if you use Enzyme.

But Enzyme just rolls in `act`, which is required if state changes happen. Without encompassing something that changes state in your component in `act` in a unit test, it throws an error. There are situations where you need to wait until the state change is entirely finished before continuing on. This is often found when using `useEffect` and setting state in that, especially if it sets the state that's required for the rest of the component. If you start looking at the component before `useEffect` has run its course, you might run into issues with things not looking how you'd expect them to.

This is where async act comes in. 

```jsx
import React from "react";

import { mount } from "enzyme";
import { act } from "react-dom/test-utils";

import MyComponent from "./MyComponent";

let wrap;
beforeEach(async () => {
  await act(async () => {
    wrap = mount(<MyComponent />);
  });
  wrap.update();
});
```

Let's pretend that `MyComponent` has a useEffect that sets some state. If you just use mount that state may not be set properly. On the other hand, if you use an async act like above? It will wait until the useEffect has finished running. 

Make sure to call `.update()` as well so the React wrapper updates.

This was a major pain point for us where useEffects would not run as we expected them to. The `async act` solved a lot of these issues, and we didn't even know it existed until we updated our version of React. So I guess that's a good lesson for keeping up with the updates for the tools you use!
Good User Interface - FICUS system
Tags: ux, design, architecture, inclusion
Published: 2020-03-20 17:35:47

## Fast

* interfaces that make users wait are breaking flows. They should strive to be real world fast - remember when you tun a faucet on and the water takes a while to run? Frustration.

## Interactive

* all action that is directed at the interface should respond with two kinds of feedback: roger and status. Animation is the "Roger" and status is repeating back what is going to happen next. That is because working with an interface is the same as WalkieTalkie speak, you need reassurance that the other party got the right message.

## Consistent

* a good interface classifies by an internal system types of interaction into groups, and should try to behave the same for groups of similar actions. Consistency should not be forced across groups of interactions but be the law inside same kinds of interactions. Consistency allows users to remember patterns and hence generalize their feeling of trust in their knowledge.

## Usable

* ideally, interfaces should not depend on anything else other than the intent of the user. Since we don't have mind reading capabilities, yet, we use affordances. These affordances are what should be thought of individually to be disconnected from ability, savviness and culture. The ideal affordance is acultural, provides options to existing abilities and uses as much as possible intuitions learned by a preschooler.

## Simple

* simple as in not complicated. Complex systems will require complex interfaces, but complexity can be managed through all the other FICUS properties (fast, interactive, consistent, useable).
* Complication represents two things: unexpected entanglement or too long entanglement. Briefly when parts of the interface depend on surprising, nonsensical other parts of the interface, or when short term memory is solicited exhaustively because of long chains of successive operations required. If this is avoided, simplicity exists and it will be picked up by users, because it will result in easy to grasp and small cause-effect chains.
Coursera: Functional Programming in Scala Specialization
Tags: scala, functional
Published: 2020-03-20 17:23:57

It is one of the best series of programming lectures I have ever learned. It is formed by a set of courses created by Prof. Odersky and his team. It also covers most aspects of Scala programming. Moreover contains a brief introduction to Spark. The final project and programming assignments showcase industrial applications of many known algorithms.

# For beginners: 
The lectures serve as a fantastic introduction to functional programming. It demonstrates imperative/oop and functional solutions of the same problem side by side to enhance an overall understanding of programming paradigms.

# For experienced:
The series is focused on a combination of the most powerful techniques from object-oriented and functional programming. It also describes multiple advanced aspects of object-oriented programming.

The courses are available on [Coursera](
https://www.coursera.org/specializations/scala?)
Big Companies Like Microsoft, Apple, Windows Cancel Biggest Events Of The Year!!!
Published: 2020-03-20 17:17:21

Coronavirus made Microsoft cancel its biggest event of the year. An annual developer conference that is called Build will take place as a digital event. 

Facebook and Google also canceled their developer events and decided to hold them virtually. 

Apple didn't still announce that its biggest event Worldwide Developers Conference will be canceled or postponed but it is supposed so. 

It is announced that the events will be hold virtually, and the people, participants, media will be able to follow through the internet. 

Microsoft reported that they are following health and safety recommendations and help to prevent the further spread of COVID-19.

"The safety of our community is a top priority,- a representative of Microsoft said,- In light of the health safety recommendations for Washington state, we will deliver our annual Microsoft Build event for developers as a digital event, in lieu of an in-person event."

"We look forward to bringing together our community of developers in this new virtual format to learn, connect and code together."
Introducing Python
Tags: python, beginners
Published: 2020-03-20 16:57:09

---
title: Introducing Python
published: True
description: Python, Features And Application
tags: #Python #Beginner
---
Introducing Python:
#Python is High level interpreted language.
[Python](python.org) is:
- easy to learn
- interactive programming language
- efficient high level data structures
- simple but effective approach to Object Oriented Programming.

Python's elegant syntax and dynamic typing together with it's interpreted nature ,makes python an ideal language for scripting and rapid application development in many areas on most platforms.

##### Python was developed by Guido Van Rossum in 1991 at the National Research institute for mathematics and computer science in Netherlands.
- Naming of python was inspired from his favorite comedy show Monty's Python's Flying Circus.

Features Of Python:
- Easy To learn and Use
- Expressive language i.e more understandable and more readable
- Interpreted language
- Cross platform language
- Free and Open-source
- Object Oriented Language
- Extensible language - C , C++ can be used to compile code
- Large Standard Library
- GUI programming Support

[Applications](https://wiki.python.org/moin/Applications) of Python:
- Web applications like Django , Pyramid , Flask
- Desktop GUI applications using [Tk](https://wiki.python.org/moin/TkInter) , [Wxwigets](https://docs.wxwidgets.org/3.0/overview_python.html) , [kivi](kivy.org) , [PYQt](https://wiki.python.org/moin/PyQt)
- Software Development for build ,control ,management and testing etc
- Scientific and Numeric applications like [Scipy](https://www.scipy.org) , [Pandas](https://pandas.pydata.org/) , [Numpy](https://numpy.org)
- Business Application like ERP, E-commerce as [Tryton](https://www.tryton.org/)
- Console Based Application like [Ipython](https://ipython.org/)
- Audio-Video based Application like Timeplayer , [Cplay](https://directory.fsf.org/wiki/Cplay)
- 3D CAD Applications like Fandango
- Enterprise Application like OpenERP , Tryton , Picalo
- Application for Images like [Vpython](https://vpython.org/) , [Gogh](http://www.goghproject.com/) , [Imgseek](https://sourceforge.net/projects/imgseek/).

For More [Visit Here](https://blogs.mausamadhikari.com.np/2021/02/introducing-python.html)
I'm Vivek Saraswat, investor in Dev Tools + Infra startups @ Mayfield and former product leader @ Docker/VMware/AWS. AMA! 
Tags: ama, startup, opensource, devops
Published: 2020-03-20 16:20:33

Hi folks--Vivek Saraswat here from [Mayfield](https://www.mayfield.com/). I invest in early stage infrastructure and product development tools startups, including partnering at the Series A with the amazing team at DEV (hi @ben @jess @peter :wave:). Prior to investing, I managed the primary enterprise product at Docker, launched the Storage for Cloud Native Apps product initiative at VMware, and worked on EBS Snapshots at Amazon Web Services.

In talking with many founders and developers, I've found people often have questions around areas like open-source commercialization, monetizing dev tools, enterprise product and go-to-market strategy, and early-stage company building. Recently I joined @the_prion on [Software Engineering Daily](https://softwareengineeringdaily.com/2020/03/18/infrastructure-investing-with-vivek-saraswat/) where we discussed topics like what to consider when building an infrastructure startup, the evolution of the cloud native ecosystem, and strategies for bottoms-up adoption and product-led go-to-market. I also previously [gave a talk at the Open Core Summit](https://www.viveksaraswat.com/2019/11/putting-the-product-in-product-led-gtm.html) organized by @asynchio on commercial open-source product strategy, architecture and teams.

Since many of us are holed up remotely right now, I'm here to answer any questions you might have around these topics or any others--I'm also a singer/guitarist, video/tabletop gamer, and sci-fi/fantasy fan.

AMA! (and follow me on Twitter at @theVSaraswat for more on these topics)
Joining the Frictionless Data Team
Tags: career
Published: 2020-03-20 16:19:00

Hi there, I'm super excited to share I joined [Datopian](https://datopian.com/) as a Frontend Developer and Developer Evangelist! 🎉

[Frictionless Data](https://frictionlessdata.io) is an open-source toolkit that brings simplicity and grace to your data experience. We want every Data Engineer or Data Scientist to know about our tools and benefit from it.

Part of my job involves spreading the word about Frictionless Data and encouraging community involvement by sharing what you can achieve with the toolkit 😃

My other day-to-day activities include the following and more:

* Working on Frictionless Data tools
* Working closely and interacting with the Frictionless Data Community via (chats, remote hangouts, and in-person events)
* Writing documentation, guide and blog posts for Frictionless Data

I'm glad I get to do this as a full-time job because I’m passionate about teaching and learning 🚀 and I'm excited to be a part of the [Frictionless Data community](https://frictionlessdata.io/) where I get to contribute, share, learn and interact with the data community.
What was your win this week?
Tags: discuss, weeklyretro
Published: 2020-03-20 16:01:37

---
title: What was your win this week?
published: true
description: Got to all your meetings on time? Started a new project? Fixed a tricky bug?
tags: discuss, weeklyretro
cover_image: https://cl.ly/188e843c2985/download/Image%202019-02-15%20at%202.36.37%20PM.png
---

👋👋👋👋

Looking back on your week -- what was something you're proud of?

All wins count -- big or small 🎉

Examples of 'wins' include:

- Getting a promotion!
- Starting a new project
- Fixing a tricky bug
- Cleaning your house...or whatever else that may spark joy 😄

![corgi-in-robe](https://media.giphy.com/media/7Y66VN3rtkPtu/giphy.gif)

Happy Friday!
Open source Admin CRM template made using Quasar and Vue.js
Tags: vue, quasarframework, javascript, crm
Published: 2020-03-20 15:54:27

Hello all, I would like to share the Quasar Admin CRM template. You can access it using the following URL.

https://github.com/mayank091193/quasar-admin-crm

Also, a live preview is available at the following link.

https://quasar-admin-crm-template.netlify.com

Any feedback will be greatly appreciated.

Thank you!
<Progress /> HTML Element 🚥
Tags: webdev, css, html, beginners
Published: 2020-03-20 15:50:28

If you don't want to style a progress bar from scratch, you can immediately start using the HTML element <strong>progress</strong>.
{% youtube z_R13WXXovw %}
Progress bars can be used for heaps of reasons, the native progress tag element creates a pre-defined one that has the style that matches the browser or OS you are currently using.

You can also style the progress bar using CSS if you want something custom. There are different styling requirements for each browser, unfortunately, but they are mostly easy to use.

![Progress Bar Adrian Twarog](https://adriantwarog.com/wp-content/uploads/2020/03/progress-bar.gif)


HTML
```
 <progress max="100" value="1" ></progress>
```

CSS
```
 progress {
    -webkit-appearance:none;
    width:66%;
    height:20px;
    border:1px solid #ccc;
    overflow:hidden;
    color:#aaa;
    border-radius:15px;
   
    &::-webkit-progress-bar {
        background:#f1f1f1;
    }
    &::-webkit-progress-value {
        background:#aaa;
    }
    &::-moz-progress-bar {
        background:#aaa;
    }
}
```

JavaScript
```
setInterval(function() {
            document.getElementsByTagName('progress')[0].value = document.getElementsByTagName('progress')[0].value + 1
            if(document.getElementsByTagName('progress')[0].value === 100){
                 document.getElementsByTagName('progress')[0].value = 0
            }
        }, 25)
```

## Follow and support me: 
Special thanks if you subscribe to my channel :)
* [🎞️ Youtube](https://www.youtube.com/channel/UCvM5YYWwfLwpcQgbRr68JLQ?sub_confirmation=1)
* [🐦 Twitter](https://twitter.com/adrian_twarog)
* [💬 Discord](https://discord.gg/nGdThpE)
* [💸 Patreon](https://www.patreon.com/adriantwarog)

## Want to see more:
I will try to post new great content every day. Here are the latest items:
* [Adobe XD to Fully Responsive WordPress Site](https://dev.to/adriantwarog/adobe-xd-to-fully-responsive-wordpress-site-16e0)
* [Adobe XD to HTML Full Process](https://dev.to/adriantwarog/adobe-xd-to-html-full-process-ao6)
* [Full Tutorial on how to use SASS to improve your CSS](https://dev.to/adriantwarog/full-tutorial-on-how-to-use-sass-to-improve-your-css-57on)
* [Creating a Mobile Design and Developing it](https://dev.to/adriantwarog/creating-a-mobile-design-and-developing-it-5c4o)
I've made a library of Dharma quotes!
Tags: showdev, ruby, sideprojects
Published: 2020-03-20 15:43:17

Hi everyone, you all ok?

I've made my first Ruby gem :gem: . The language I usually code in is C# and I don't usually get chance to practise my Ruby, so this was a fun lil excursion!

As you can imagine, I'm mega rusty with Ruby at the moment so I welcome any feedback you might have on the gem. You can view the source code [here](https://github.com/Evie-Skinner18/dharma_quotes).

Have fun and enjoy life!
How to generate .key and .crt from PKCS12 file
Tags: openssl, key, crt, pkcs12
Published: 2020-03-20 15:25:35

How exactly would you generate a .key file and a .crt file from a .p12 file?

PFX: PFX (Personal Information Exchange) defines a file format commonly used to store private with accompanying public key certificates, protected with a password-based symmetric key (standard-PKCS12).

PEM: Openssl usages PEM (Privacy Enhanced Mail Certificate) to store the private key.

If you have the OpenSSL then go to command prompt and run the following commands:

```console
openssl pkcs12 -in filename.pfx -nocerts -out filename.key

openssl pkcs12 -in filename.pfx -clcerts -nokeys -out filename.crt 
```

And if you want to save the key without a passphrase, add `-nodes` (no DES) before the `-out`.

OpenSSL can be downloaded here:

[source](https://www.openssl.org/source/)
[binaries](https://wiki.openssl.org/index.php/Binaries)

Cheers!🍻
Crear un VM Linux en GCP
Tags: linux, google
Published: 2020-03-20 15:23:47

Holaaaa gente.... Pura vida? He estado trabajando con la creación de máquinas virtuales y pues deseo en este blog post, explicar cómo crear estas instancias virtuales de Linux en Compute Engine con Google Cloud Console. Manos a la obra....

![Alt Text](https://media.giphy.com/media/3NeRncMrUNb8astzVy/giphy.gif)

<h2>Antes de comenzar</h2>
1- En GCP Console, en la página de selección de proyecto, selecciona o crea un proyecto de GCP.
2- Comprueba que la facturación esté habilitada en tu proyecto.
3- Habilita la API de Compute Engine. (Si es la primera vez que trabajas con este servicio).

<h2>Crea una instancia de máquina virtual</h2>

1- En GCP Console, ve a la página Instancias de VM.
2- Haz clic en Crear instancia.
3- Escribe el nombre que quieres que tu instancia tenga.
4- En la sección Disco de arranque, haz clic en Cambiar para comenzar a configurar el disco de arranque.
5- En la pestaña OS images, selecciona Debian 9.
6- Haz clic en Seleccionar.
7- En la sección Firewall, selecciona Permitir tráfico HTTP. OJO, si no haces este paso, estarás denegando todo acceso a tu máquina virtual por medio del protócolo HTTP.
8- Haz clic en Create para crear la instancia.

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

Espera un momento hasta que se inicie la instancia. Una vez que la instancia está lista, se muestra en la página Instancias de VM con un ícono de estado verde.

<h2>Conéctate a la instancia</h2>

1- En la Consola de APIs, ve a la página Instancias de VM.
2- En la lista de instancias de máquinas virtuales, busca la instancia que creaste en el apartado anterior, haz clic en el botón SSH.

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

Ahora tienes una ventana de la terminal para interactuar con tu instancia de Linux.

<h2>No olvides borrar todo</h2>

Si no vas a ocupar esta VM por mucho tiempo, te recomiendo detenerla ó eliminarla, ya que por cada segundo/minuto activa, GCP te cobrará el uso de la misma.

1- En Google Cloud Console, ve a la página Instancias de VM.
2- Haz clic en el nombre de la instancia que creaste.
3- En la parte superior de la página de detalles de la instancia, haz clic en Borrar.

Esto fue todo, proximamente seguiré escribiendo y hablando sobre mas servicios y opciones que ofrece GCP.

Agradezco compartir con la comunidad. Si quieres seguir aprendiendo junto a mí, te invito a seguir mis redes sociales:

Twitter https://twitter.com/gelopfalcon
dev.to https://dev.to/gelopfalcon
Twitch https://www.twitch.tv/gelopfalcon (Todas las semanas hablo de algún tema. Por lo general a media semana)

![Alt Text](https://media.giphy.com/media/m9eG1qVjvN56H0MXt8/giphy.gif)