teleren/devto huggingface dataset:
LEARN SOFTWARE DEVELOPMENT FOR $0 UPFRONT IN MICROVERSE
Tags: programming
Published: 2021-07-30 13:10:43

Have you heard about Microverse Software Development Organization?
Microverse Software Development Organization is not like other Software Development Organization or Bootcamp.
Let me explain to you why Microverse Software Development Organization is unique among other Bootcamps.
If you apply your name at any Bootcamps that teach Software Development first of all they ask you for upfront money.
Upfront means paying money before you do anything.
Bootcamps require big amount of money like $10000 or $20000 and up.
Because of this issue everyone can't learn Software Development.
Fortunately Microverse Software Development Organization offers you the best Services and the best method with $0 cost upfront until you get hired.
For more information refer to
https://www.microverse.org/?grsf=gmfoi5.
Hope you enjoy the story.
Please don't let your time be wasted.
Start your Software Development Career right now.
Long live Microverse.org

![Microverse logo](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ax88lybc4pcfibcg8b6e.png)
10 of my best Twitter threads
Tags: codenewbie, programming, beginners, webdev
Published: 2021-07-30 13:03:52

_If you found value in this thread you will most likely enjoy my tweets too so make sure you follow me on [Twitter](https://twitter.com/VladPasca5)  for more information about web development and how to improve as a developer. This article was first published on my [Blog](https://vladpasca.hashnode.dev/)_

### 1. A complete web developer roadmap with free resources for 2021

https://twitter.com/VladPasca5/status/1360212056746512385?s=20

### 2. A list of 7 projects ideas for beginner web developers

https://twitter.com/VladPasca5/status/1372542302455877637?s=20

### 3. A list of 10 Google Chrome extensions every web developer should use

https://twitter.com/VladPasca5/status/1394276766210924545?s=20

### 4. A list of 30+ free eBooks for developers

https://twitter.com/VladPasca5/status/1399350196337725450?s=20

### 5. Tips on how to handle impostor syndrome as a developer

https://twitter.com/VladPasca5/status/1373997893984473090?s=20

### 6. A JavaScript roadmap for learning the fundamentals

https://twitter.com/VladPasca5/status/1375085057526796292?s=20

### 7. A list of 10 GitHub repos for web developers

https://twitter.com/VladPasca5/status/1379057231027523584?s=20

### 8. A list of 5 habits every developer should adopt

https://twitter.com/VladPasca5/status/1364938197445185538?s=20

### 9. A list of 7 websites every developer should use

https://twitter.com/VladPasca5/status/1370011627613872130?s=20

### 10. A list of 15 websites with free assets for web developers

https://twitter.com/VladPasca5/status/1384130912925851652?s=20

### The end

_I hope found this useful and if you did please let me know. If you have any question feel free to DM me on  [Twitter](https://twitter.com/VladPasca5)._
Creating vite vue ts template: Deploy to Github Pages with Github Actions
Tags: github, ci, vite, vue
Published: 2021-07-30 13:02:36

## Configure github workflow to deploy to github pages

1. Add deploy step for our `build.yml`
    ```diff
    +
    +      - name: Deploy
    +        # deploy only for version 16.x
    +        if: matrix.node-version == '16.x'
    +        uses: JamesIves/github-pages-deploy-action@4.1.4
    +        with:
    +          branch: gh-pages # The branch the action should deploy to.
    +          folder: dist # The folder the action should deploy.
    ```
1. `git add -u`
1. `git commit -m 'Add deploy to github pages step for github workflow'`

## Links

-   https://github.com/marketplace/actions/deploy-to-github-pages
-   https://docs.github.com/en/actions/learn-github-actions/managing-complex-workflows
-   https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions

## Project

{% github https://github.com/imomaliev/vue-ts no-readme %}
How To Print Fibonacci Series In Python
Tags: python
Published: 2021-07-30 12:48:29

## What is Fibonacci series ?
**Ans.** A series of numbers in which each number ( Fibonacci number ) is the sum of the two preceding numbers. The simplest is the series 1, 1, 2, 3, 5, 8, etc.

{% gist https://gist.github.com/nishthaneeraj/d9ca0e3396bdd0bc0014e1ce96024e05 %}

### Explanation Of The Code
The Function fibonacci_seq Take the range as n (n defines how long the series of number is) 
Now In the Fibonacci series every Number is the sum of previous two numbers so *a* and *b* are the previous number and c is the present number (sum of a and b) 

That's all for this post
Thanks For Reading!
Bye 👋
Happy Coding 😃
Top Python Projects of Last Year!
Tags: python, programming, github
Published: 2021-07-30 12:46:11

## Here's a compilation of the most popular python projects of last year!

************
* A terminal based stock analysis tool written completely in python:
{% github GamestonkTerminal/GamestonkTerminal %}

****************

* A Smart, Automatic, Fast and Lightweight Web Scraper for Python:
{% github alirezamika/autoscraper %}

****************
* A python project that lets you quickly fetch your WiFi password and if needed, generate a QR code of your WiFi to allow phones to easily connect to it!
{% github sdushantha/wifi-password %}

***************
* A terminal based python project that easily lets you identify emails, IP addresses, and more. Feed it a .pcap file or some text and it'll tell you what it is!
{% github bee-san/pyWhat %}

***************
* A python project that turns your machine learning code into microservices with web API, interactive GUI, and more!
{% github ml-tooling/opyrator %}

*************

*************

If you're a beginner who likes discovering new things about python, try [my weekly python newsletter](https://rebrand.ly/Python_Weekly)

![minecraft in python](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d3tzwrb1iw2wesc8gdc5.png)
 
**************
#### That's it for this compilation!
Byeeeee👋
TDD Conference 2021 - On The Relationship Between Units Of Isolation And Test Coupling - Mario Cervera
Tags: tdd, programming, codenewbie, oop
Published: 2021-07-30 12:30:43


First International Test Driven Development took place on July 10th. 

In this series, I will include every talk together with my notes and further reading.

Hopefully, a lot of readers will watch and rewatch the talks, as they are worth several reviews.

Let's continue...

## Bio 

Mario has been a software professional for more than a decade. He also conducted research in the field of Software Engineering, which allowed him to graduate as a PhD in Computer Science. As a strong advocate of software craftsmanship principles and values, he helps teams improve their technical practices so they can deliver higher-quality software at a sustainable pace.
  
> TL;DR: Coupling leads to fragile tests.

## Talk

{% youtube APFbb5MwLEU %}

# My Personal notes

- Fragility is the opposite to Robust when we talk about tests.
- Fragile tests are tests that break when they should not break.
- Tests are the specification of behaviour.
- if we are not changing the observable behaviour of tests, and they break, the tests are preventing our refactorings.
- We want to avoid, at all costs, fragile tests that fail when they shouldn't.
- [Coupling](https://dev.to/mcsee/coupling-the-one-and-only-software-design-problem-2pd7) is the main cause of fragile tests.
- Overspecified software makes more assumptions than necessary.
- In a mocking approach, we need to change a lot of tests when we refactor.
- if we make our attributes public to test them is a smell, we are testing accidental structure.
- On Behavior-centric view, the true unit of isolation is not unit tests, but behaviour.
- Refactoring is the key step in TDD.
- Tests are code even more important than production code.

>  The outcome of this understanding is that a test-case per class approach fails to capture the ethos for TDD. Adding a new class is not the trigger for writing tests. The trigger is implementing a requirement.

_Ian Cooper_

* * *

Mario has also written an article on his talk.
Please rush to read it [here](https://mariocervera.com/talk-1st-international-conference-tdd#ckrnf3pkq0bg5fws15gwgg8a8).

# Speaker Links

- Twitter [@macerub](https://twitter.com/macerub) 
- LinkedIn [@mariocervera](https://www.linkedin.com/in/mariocervera)

* * *

Please follow TDD Conference on:

- [YouTube](https://www.youtube.com/channel/UCKn-DadPoyYssfAOMk1LSew)
- [Twitter](https://twitter.com/tddconf)
Stacked Image amination React Material-UI
Tags: materialui, animation, stackedimageanimation
Published: 2021-07-30 12:29:49

Hi I've developed horizontally stacked image animation in react material-ui.
##Stacked Image Animation Layout
![layout](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/egkm95g1ix0cdn7fpd1i.png)


##Snapshot
![snapshot](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uj9yp5uh80ttelawdn1i.gif)
 
You can reach GitHub repo from this [link](https://github.com/silentrobi/image-stack-animation-MUI)
Strategy Pattern Basic Example
Tags: dotnet, codequality, csharp, designpatterns
Published: 2021-07-30 12:24:33

The strategy pattern is used when a job can be done using different algorithms (strategies), and we need the ability to change the execution strategy dynamically and without changing the API that we're calling. Consider sorting an array of elements, where we have multiple sort algorithms (bubble sort, quick sort, etc..).

Let's take an example of a traveler who can move from city to city using different means of transport (car, plane, bus, etc..). We might make a `Traveler` class like this.

``` csharp
class Traveler
{
   public void TravelByCar()
   {
       // implementation
   }
   public void TravelByPlane()
   {
       // implementation
   }
   public void TravelByBus()
   {
       // implementation
   }
}
```
There are some problems with the above code, firstly it violates the Open/Closed principle, as you have to modify the `Traveler` class whenever you need to add another means of transport, secondly, we introduce a different API for each transport which forces the caller to specify the API whenever he uses it (maybe he's not concerned with this transport details).
The strategy pattern solves this problems by separating the travel strategy from the traveler as follow.

``` csharp
class Traveler
{
	private ITransport _transport;
    
	public Traveler(ITransporter defaultTransport)
	{
		_transport = defaultTransport;
	}
	
	public void Travel()
	{
		_transport.Move();
	}
	
	public void ChangeTransport(ITransport newTransport)
	{
		_transport = newTransport;
	}
}
```

Now the API caller will provide a default strategy only at constructing the object and he will simply call one API afterwards.

``` csharp
var traveler = new Traveler(new BusTransport());  // pass the default strategy

traveler.Travel();    // use just a single API to travel
```

The API user can also change the strategy without having to modify the existing class.

``` csharp
var transport = new CarTrasnport();
traveler.ChangeTransport(transport);
```
He can also introduce new transports.

``` csharp
class TrainTransport : ITransport
{
    // transport implementation
}

... 

var transport = new TrainTransport();
traveler.ChangeTransport(transport);
```
A Nice Developer Joke For Today
Tags: jokes, dailydeveloperjokes
Published: 2021-07-30 12:00:20

---
title: "A Nice Developer Joke For Today"
description: "Check out today's daily developer joke! (a project by Fred Adams at xtrp.io)"
series: "Daily Developer Jokes"
published: true
tags: #jokes, #dailydeveloperjokes
---

Hi there! Here's today's Daily Developer Joke. We hope you enjoy it; it's a good one.

![Joke Image](https://private.xtrp.io/projects/DailyDeveloperJokes/public_image_server/images/5e12597371ee1.png)

---

For more jokes, and to submit your own joke to get featured, check out the [Daily Developer Jokes Website](https://dailydeveloperjokes.github.io/). We're also open sourced, so feel free to view [our GitHub Profile](https://github.com/dailydeveloperjokes).

### Leave this post a ❤️ if you liked today's joke, and stay tuned for tomorrow's joke too!

_This joke comes from [Dad-Jokes GitHub Repo by Wes Bos](https://github.com/wesbos/dad-jokes) (thank you!), whose owner has given me permission to use this joke with credit._

<!--
Joke text:
___Q:___ Why did the programmer come home crying?"

___A:___ His friends were always boolean him.
 -->
Handy Python CheatSheet (Python v3.7)
Tags: python, beginners, cheatsheet
Published: 2021-07-30 11:58:22

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/342mo83p6cdgyhfl4s13.png)
**`Python Essential Cheatsheet📁`**

<h5>1. Print a string, set of strings, or object representation(s) 
to the console</h5>
``` 
>>> print('any string')
any string
>>> print('string one', 'string two')
string one string two
>>> print([1, 2.0, 'three', ['f','o','u','r']])
[1, 2.0, 'three', ['f', 'o', 'u', 'r']]
```
<hr/>

<h5>2. Return the number of items contained within a string or 
object</h5>
```
>>> my_list = [41, 33, 48, 71, 60, 26]
>>> len(my_list)
6
```
<hr/>

<h5>3. Access every item and that item's index within an 
iterable (e.g., a list) with enumerate.</h5>
```
>>> countries = ['Turks & Caicos', 'Grenada', 
'Vanuatu', 'Lebanon', 'Barbados']
>>> for idx, item in enumerate(countries):
... print(f'{idx} - {item}')
...
0 - Turks & Caicos
1 - Grenada
2 - Vanuatu
3 - Lebanon
4 - Barbados
```
<hr/>

<h5>4. Sort an iterable that contains objects that are all of the 
same type (as long as they can be compared to each 
other) without mutating the original object.</h5>

```
>>> sorted([64, 99, 69, 70, 53, 11, 42, 99, 5])
[5, 11, 42, 53, 64, 69, 70, 99, 99]
```
<hr/>

<h5>5. Open any file as text for reading or writing. By default 
the file is opened to read. If reading, the file must 
actually exist at the specified absolute or relative path.</h5>

```
>>> with open('some_text.txt') as f:
... f.read()
...
'Whatever text was in the file'
>>> with open('writeable_file.csv', 'w') as f:
... f.write('one,two,three')
```
<hr/>

<h5>6. Find out what type of object anything is with type.</h5>
```
>>> type([])
<class 'list'>
>>> type('random text')
<class 'str'>
```
<hr/>


<h5>7. Check whether an object is an instance of some builtin type or user-created class with isinstance.</h5>

```
>>> isinstance('potato', str)
True
>>> isinstance('potato', list)
False
```
<hr/>

<h5>8. View the documentation for any function or object that 
has it. To leave that view, hit the q key</h5>
```
>>> help(len)
Help on built-in function len in module 
builtins:
len(obj, /)
 Return the number of items in a container.
(END)
```
<hr/>

<h5>9. Create an iterable of integers. You can either get 
sequential numbers starting at 0 up to (but not 
including) some higher number by providing one 
integer as an argument, set the bounds of your 
numbers by providing two integers, or set the bounds 
and the space between numbers with three integers.</h5>
```
>>> for number in range(4):
... print(number)
0
1
2
3
>>> for number in range(3, 33, 10):
... print(number)
3
13
23
```
`Note :`
You can’t access these numbers by index like a list. You 
need to loop through the range to access them.
<hr/>

**`Python in one image:`**
<img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5dfbdo9mj6iotdggmabt.jpg" alt="python mind map" width="900" height="600">

`(Image found on LinkedIn)`
Electron Adventures: Episode 6: Use D3 To Visualize Free Disk Space
Tags: electron, javascript, d3
Published: 2021-07-30 11:45:38

In previous episode we created a small app that displays how much free disk space you have, in a very boring way.

Now it's time to spice it up! We won't touch the backend at all, and only modify the frontend.

### Install D3

First we need to install D3.

```bash
$ npm install d3
```

Do not use CDN version. This will stop your app working offline, and even worse, it introduces potential security risk. It's possible to use CDNs safely, but Electron security already is much harder than web app security, so let's not overcomplicate things.

Most frontend apps these days use bundlers like rollup or webpack, but for now let's just include it as regular browser javascript.

So here's the frontend HTML code. I added some styling in advance:

```html
<!DOCTYPE html>
<html>
  <body>
    <style>
      body { text-align: center; }
      #info { display: grid; grid-template-columns: 1fr 1fr 1fr; }
    </style>
    <h1>Free disk space</h1>
    <div id="info"></div>
    <script src="./node_modules/d3/dist/d3.js"></script>
    <script src="app.js"></script>
  </body>
</html>
```

A lot of frontend Javascript packages, even if they recommend using bundlers, have something you can include under `node_modules/packagename/dist/packagename.js`.

### D3 app

And here's the D3 app. I won't explain it in too much detail, as D3 is a big subject, and it's only incidental to what we're doing here.

We get `data` from the backend thought `displayFreeDiskSpace` callback, then we loop it for each disk, and create `div` with an `h3` header and a `svg` pie chart. Most of the complicated code is pie chart creation, and we use a lot of D3 helpers for it.

```javascript
function displayFreeDiskSpace(data) {
  let info = d3.select("#info")

  for (let row of data) {
    let total = parseInt(row[1])
    let used = parseInt(row[2])
    let free = total - used
    let path = row[5]

    let data = { free, used }

    let div = info.append("div")
    div.append("h3").text(path)

    let svg = div
      .append("svg")
      .attr("width", "100px")
      .attr("height", "100px")
    let g = svg
      .append("g")
      .attr("transform", "translate(50,50)")

    let pie = d3.pie().value(d => d[1])
    let pieData = pie(Object.entries(data))
    let color = d3
      .scaleOrdinal()
      .domain(["used", "free"])
      .range(["red", "green"])

    g
      .selectAll("path")
      .data(pieData)
      .enter()
      .append("path")
      .attr("d", d3.arc()
        .innerRadius(0)
        .outerRadius(45)
      )
      .attr("fill", d => color(d.data[0]))
      .attr("stroke", "black")
      .style("stroke-width", "2px")
      .style("opacity", 0.7)
  }
}
```

### Result

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

[All the code for the episode is here](https://github.com/taw/electron-adventures/tree/master/episode-06-use-d3-to-visualize-free-disk-space).

In the next episode we'll have a fun little detour.
tmux break-pane
Tags: cli, linux, tmux
Published: 2021-07-30 11:38:54

---
tags: ['cli', 'linux', 'tmux']
title: tmux break-pane
published: true
canonical_url: https://waylonwalker.com/tmux-break-pane/
series: tmux
---

Break-pane is a handy tmux command when your layout gets too cramped and you
want to just move a split into its own window.  Calling `break-pane` does
exactly that, it creates a `new-window` for you and moves your currently
selected split into that window

Default key binding for `break-pane`

``` bash
bind-key          ! break-pane
```
---

Be sure to check out the full youtube playlist and subscribe if you like it.

[![tmux playlist on youtub](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v4cgo76y53s1hwykajo1.png)](https://www.youtube.com/playlist?list=PLTRNG6WIHETB4reAxbWza3CZeP9KL6Bkr)

{% post https://dev.to/waylonwalker/how-i-navigate-tmux-in-2021-2ina %}

> Also check out this long form post for more about how I use tmux.
10 HTML & CSS projects for beginners
Tags: html, codenewbie, tutorial, webdev
Published: 2021-07-30 11:37:44

It’s time to get serious about improving your web development skills. Let’s do it!

That’s an easy career improvement goal to give oneself, but “become a kick-ass programmer” is not a simple goal. For one thing, saying, “I want to get better” assumes that you recognize what “better” looks like. Plus, too many people aim for improvement without any sense of how to get there.

The only way to improve your skills as a web developer is to practice,practice and practice.

## GETTING STARTED WITH 10 PROJECTS FOR BEGINNERS USING HTML & CSS

1. Create Facebook Sign Up | Login
{% youtube LPHobzrF8xw %}

2.Creating Twitter Homepage
{% youtube NIcydGuT4Qw %}

3.Creating PayPal Login Page
{% youtube SAZiFDIrUhM %}

4.Creating PayPal SignUp Page
{% youtube 7DjQeg80Zi8 %}

5.Recreating the Google Homepage
{% youtube 1cVToXmy1bA %}

6.Learn how to create a responsive "timeline"
{% youtube T5ZkKY6R1_A %}

7.How to build calendar
{% youtube JV2vRoBY0fY %}

8.Recreating Facebook Homepage
{% youtube fWwk-K6X_aQ %}

9.How to Build Gmail Clone
{% youtube ve9I2tcl_d0 %}

10.Build a Netflix Landing Page Clone
{% youtube nrYUIq17C6c %}

If you like my work, please consider
[![Buy me a coffee](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jm11knj7d8zwcvo150q2.png)](https://www.buymeacoffee.com/cglikpo)
so that I can bring more projects, more articles for you

If you want to learn more about Web Development, feel free to [follow me on Youtube!](https://www.youtube.com/c/ChristopherGlikpo)
Python zip_longest() Function.
Tags: python, programming, codenewbie
Published: 2021-07-30 11:31:54

Consider if we have two iterators of different lengths. then we iterate them together one iterator must end up with another iterator. 


![carbon (9).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1627643455382/VTzsrtsglD.png)
OUTPUT:

![carbon (10).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1627643505069/SqB1q8qOT.png)
Here the elements 5 and 6 are missing. Because the zip() function will stop aggregating once the shortest iterable passed to it is exhausted.

It will make more sense if we would return a group that containing elements 5 and 6 otherwise it will be problematic.

In this situation, we can use zip_longest(). 

The python zip_longest() function can fill up the position of empty iterable with some user-defined values.

If the user does not define the fillvalue parameter, the zip_longest() function fills None as the default value.


![carbon (8).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1627643653428/fIlFhhrZAu.png)
For Example :


![carbon (11).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1627643698668/hJluqyeKN.png)
OUTPUT:


![carbon (12).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1627643750503/Z6MUnQwgF.png)
In the above example, we imported zip_longest() function from itertools library.

We can observe in the above example those list y elements are filled with no value. 


![carbon (13).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1627643807513/jwoNbkdRf.png)
OUTPUT:


![carbon (14).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1627643902216/7AywdMZEv.png)
In the above example, list y elements fill with integer value as 1. 


![carbon (15).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1627643952468/R5STMY9EF.png)
OUTPUT:


![carbon (16).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1627644028933/8JKF8yygb.png)
In the above example list y elements filled with float value as 1.5


![carbon (17).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1627644069552/JkJgsPYvL.png)
OUTPUT:


![carbon (18).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1627644156792/fV7EBpXFO.png)
In the above example list y is filled with a string value as 'Explore'.


![carbon (19).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1627644185603/IxaaEjODH.png)
OUTPUT:


![carbon (20).png](https://cdn.hashnode.com/res/hashnode/image/upload/v1627644206285/5ep4mBTOW.png)
In the above example list y is filled with boolean value True.