teleren/devto huggingface dataset:
Everything You Should Know about Lean Canvas
Tags: leancanvas, mvp
Published: 2020-04-18 10:44:04

The key to success in life is effective communication. We constantly communicate: with each other, with our communities, with companies and brands. Many of the environments we spend a lot of time in are essentially just vehicles for different types of communication, especially online. Perhaps the most essential type of communication to do well though is with yourself. 

When that first small sparkle of a product or startup idea starts developing in your mind, your first order of business is to translate it into a physical format. There, an abstract starting point can gain clarity and definition, so that your own understanding of your idea is crystallized, making it much easier to explain to others.  

In “times gone by”, company leaders created elaborate business plans to achieve this clarity. These were thoroughly researched documents which took months to prepare. Obviously, startups at the ideation stage do not have the time or resources to waste on a similar approach to business plan creation. 

That’s why, for the sake of startups, Ash Maurya transformed the “Business Model Canvas” by Alexander Osterwalder into the Lean Canvas.


##LEAN CANVAS TEMPLATE


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

 
##WHAT IS LEAN CANVAS

Lean Canvas presents the hypothesis of a business model in the form of a one-page document. Additionally, Lean Canvas is a testing and validation tool for this hypothesis. A Lean Canvas consists of 9 blocks/boxes, which you have to fill in to brainstorm your possible business models, key activities, appropriate strategies, starting priorities, and ongoing learning goals. The Lean Canvas squeezes all of this info into a highly portable and easily readable format. 

Lean Canvas is a problem-solution approach. It helps eliminate everything unnecessary from the very beginning. It saves time and resources and can be updated constantly. The chief purpose of Lean Canvas is to increase the success rate of the venture, as well as reduce the risk of failure.

Lean Canvas helps answer the questions of most lean startups who want to become real businesses:

What is our product?
Who are our customers?
How can we make money?

[Read full article](https://pixelgrow.com/blog/everything-you-should-know-about-lean-canvas/)
webroot.com/safe
Published: 2020-04-18 10:35:54

The internet is an effective source of getting information regarding anyone or anything. However, on the internet, various types of viruses and malware are available. These malicious threats enter the device of the user when they browse the internet. The main aim of the virus is to damage the device and leak the information that is important and related to the user. For these kinds of situations, numerous antiviruses are available that stop the virus from getting in the device, or if the virus is already in, then remove it by scanning.

To know more details visit:- https://webrootcom.com  |  https://helpwebroot.com  |  https://webroot.uk.com  |  https://lifewebroot.com
How do I find all the modifications of a given string using git
Tags: git, productivity
Published: 2020-04-18 10:29:17

A few days ago I was reviewing some code. While looking at one class, one of the global variables caught my attention. I wanted to understand why it was to that class and who wrote it.

The first thing I did was to run `git blame` command. It gave me the context about the last modification and the developer who made it. Yet, sometimes seeing just the most recent change is not enough.

Luckily, there is a way to see the entire lifecycle of a variable changing through git history. You just need to dig deeper.

## Behold the git pickaxe ⛏🪓 🦖🦴

> Like an archaeologist, looking for an ancient civilization, we can use the (git) pickaxe!

I didn’t know about this until today, but looking at git’s documentation, I found this gem of a command, that lets you find all the commits contaning a modification of a given string:

`git log -S isPizzaDelivered`

Let’s say you’re looking for a flag `isPizzaDelivered`, you need to pass it as a `-S`[^1] argument.

You might be familiar with `git log` which will return list of all the commits, but this uses the `-S` flag which does all the heavy lifting. That’s your pickaxe that lets you dig through the commits.

Since git version [1.7.4](https://github.com/git/git/blob/master/Documentation/RelNotes/1.7.4.txt#L76) you can also use the flag `-G`[^2] which lets you regular expressions.

As a result you will receive a list of commits which include changes to the string that you’ve specified and that’s really useful to learn more about the context and lifecycle in which the variable was being used.

> It’s always valuable to invest your time in the tools you use on a daily basis. 

As my friend [@zmarkan](https://twitter.com/zmarkan) says, your [tools do sometimes indeed give you superpowers](https://skillsmatter.com/skillscasts/10698-one-to-10x-tools-that-give-you-superpowers).

How do you search through your git history? Do you have any tricks to share? 
[Let me know](https://twitter.com/lukabratos)!

[^1]: [-S\<string\>](https://www.git-scm.com/docs/git-log#Documentation/git-log.txt--Sltstringgt)
[^2]: [-G\<regex\>](https://www.git-scm.com/docs/git-log#Documentation/git-log.txt--Gltregexgt)
Best Games for Travelling to avoid boring
Published: 2020-04-18 10:23:25

Summer holiday vacations, excursions... Those people who have kids at home understand how important it's to keep them amused while traveling during the day hours of resort remains, in the swimming pool or the beach, also if visiting restaurants. It is a time to spend quality time playing with all the household. Inside this listing of <a href="https://myurlpro.com/2020/04/18/best-travel-games-for-this-vacation/">travel games</a> you'll discover card, board, logic, ability or sport games from 4 bucks and for many ages.

The TrueBalance Mini Balance Tower Is Ideal for testing the ability of the Entire family. It is made up of piling geometric characters within an semi-sphere that is oscillating based upon the colour. You may play with it. It's constructed from wood and contains a fabric bag. This product has no game in traveling games.

Refinery and Co's Magnetic Tic Tac Toe is a version of this classic board game of a life. Components that are magnetized make it a fantastic travel choice. It costs just $28 on Amazon.

Master Head
One of these hides the colour combination that another needs to guess by way of markers which show him they are and what colours his rival has. It's very affordable and also entertaining.

The kids version of Tangram Kids prices only $ 8.99 on Amazon and contains colored wooden bits and 50 shaded amounts that gamers need to have the ability to design with those geometric pieces. It promotes awareness and logical thinking.
Compile Podcast Ep 13: Learning a programming language
Tags: podcast, learning, career
Published: 2020-04-18 10:00:52

This week Jasper and I talk about our experiences in learning programming languages, and how you can pick up a new programming language during the quarantine!

{% youtube 9E-S9SXiXxA %}

### Breakpoints

 - 00:00 Chill zone and catching up
 - 02:14 why learn a programming language
 - 16:33 How do we learn new languages
 - 36:19 Wrapping up

### Reach out to us!

Subscribe and stay tuned! Also send in any comment or request for new topics and we will try our best to make them happen!

My Twitter: https://twitter.com/WujunaoNick

This Podcast is also on:
 - [Google Play Music](https://play.google.com/music/listen#/ps/Ifd5mlxhgc5cmlsytadsglqfd4y)
 - [iTunes](https://podcasts.apple.com/gb/podcast/the-compile-podcast/id1436437367)
 - [Spotify](https://open.spotify.com/show/2UH9hK7VlS7ytjYdM8Vd78)
🌍Simple Twitter Api (Configure your own embed) [YouTube LIVE]
Tags: javascript, tutorial, console, coding
Published: 2020-04-18 09:38:29


⬇️ In this video I'm going to show you how to configure your own embed for twitter and how to use it effectively. 

Codepen: https://codepen.io/EleftheriaBatsou
This project on codepen: https://codepen.io/EleftheriaBatsou/pen/PoPNLxZ?editors=1000 
Developer twitter: https://developer.twitter.com/en/docs/twitter-for-websites/overview
Video tutorial: https://youtu.be/VT0ykym-iY8

The inspiration for this project is coming by *eleftheriabatsou.com* home page.

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

👋Hello, I' m Eleftheria, an app developer, master student, public speaker, and chocolate lover.

🍩Would you care about buying me a coffee? You can do it here: [paypal.me/eleftheriabatsou](paypal.me/eleftheriabatsou) but If you can't that's ok too!

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

🙏It would be nice to subscribe to my [Youtube](https://www.youtube.com/c/EleftheriaBatsou) channel. It’s free and it helps to create more content.

🌈[Youtube](https://www.youtube.com/c/EleftheriaBatsou) | [Codepen](https://codepen.io/EleftheriaBatsou) | [GitHub](https://github.com/EleftheriaBatsou) | [Twitter](https://twitter.com/BatsouElef) | [Site](http://eleftheriabatsou.com/) | [Instagram](https://www.instagram.com/eleftheriabatsou/)
How to access postgresql database as readonly?
Tags: psql, postgres
Published: 2020-04-18 08:33:24

---
title: How to access postgresql database as readonly?
published: true
description: 
tags: psql, postgres
---

Want to access a psql database as readonly? 
Following are the steps: 

1. Login to the database:

     `psql -d yourdbname`
2. Create a user:

     `CREATE USER username WITH ENCRPTED PASSWORD 'yourpassword';`
3. Assign privilege select to the user:

      `GRANT SELECT ON ALL TABLES IN SCHEMA public TO username;`
4. Update `pg_hba.conf` file:

       Open `pg_hba.conf` file, it shall be available in /etc/postgres/<version_number>/main
       Add lines for new user as shown below
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/qdy0eo30smpto71d681y.png)
5. Restart postgres

       Restart using command `systemctl restart postgresql.service`
       Using `pg_lsclusters` command check if service started OK.![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/jd40q8hm3nukvscnxh7g.png)

6. Check if new user can login:

       Login to psql using command `psql -d yourdbname -U username`
Fun with polygons
Tags: python, matplotlib
Published: 2020-04-18 08:25:37

#### Introduction
In Matplotlib is it a simple task to plot a regular polygon. A regular polygon is a plolygon with all the of equal length, this also implies that the angle between adjacent sides are all the same. Below, I've plotted a regular triangle, a square an an octagon. It's a simple task as well to turn the polygon with a given angle and set the color of the edges.

#### The Figures
![](https://github.com/nikodemusk/polygons/raw/master/polygons.png)

#### The Code
The full code is [available on Github (https://github.com/nikodemusk/polygons), and I will go through the
core here. 

First, we need to import some libraries:

```Python
import matplotlib.pyplot as plt # For all kind of plotting
import matplotlib.patches as mpatches # For plotting the ploygons
import matplotlib as mpl # For turning the polygons
import numpy as np # For linspace
```

Then we need to create the figure and the ax (this [topic on StackOverflow is about subplot](https://stackoverflow.com/questions/3584805/in-matplotlib-what-does-the-argument-mean-in-fig-add-subplot111))

```Python
fig, ax = plt.subplots(
	1, 1, # Just 1x1 grid in this example
	figsize=(5, 5), 
	dpi=100)
ax.set_xlim(-1, 1)
ax.set_ylim(-1, 1)
```

Now, we add the polygon with some parameters:

```Python				
polyParams = {
	'facecolor':'none', # The fill color
	'edgecolor': [0.5, 0, 0.5, 0.75], # red, green, blue, opacity, values between 0 and 1
	'numVertices':5, # Number of vertices
	'radius':1,
	'xy':(0,0) # The center of polygon
}

polygon = mpatches.RegularPolygon(**polyParams)

# We may also specify a rotation in params ('orientation'), but we will
# do it in another way below.

# Rotate and add the polygon to the ax
rotationParams = {
	'x':0,
	'y':0,
	'degrees':45
}

transform = mpl.transforms.Affine2D().rotate_deg_around(**rotationParams)

ax.add_patch(polygon)
polygon.set_transform(transform+ax.transData)

# Hide the axis
plt.axis('off')

# And set the aspect ratio to equal (e.g. a circle looks like a circle)
ax.set_aspect('equal')

# Save and show the figure, if you like
# fig.savefig('polygons.png', bbox_inches='tight')
plt.show()
```
This is the code to handle and show a regular polygon (a pentagon in this case), I think its pretty
straight forward.

The rotation could been done easier with the `orientation` parameter in `polyParams`, but there are
much more things that can be done with the `transform.Affine2D()` method. For example scaling, skewing
and translation of the patch, [se reference here](https://matplotlib.org/3.2.1/api/transformations.html).

The difference between the above code sample and the code producing a chart of multiple polygons is just a matter of dimensions. I was astonished of the beautiful interference patterns (and other patterns) the polygons of various sizes and orientations may result in.

This post was originally posted by me on [xicode](https://xicode.se/2020/04/fun-with-polygons/).
The new keyword in Javascript
Tags: javascript, oop
Published: 2020-04-18 07:53:49

In this article, I will explain the basic concept, which is the `new` keyword.
In Java language, we have a class, which is a blueprint from which you can create an instance. An object is an instance of a class. But in Javascript, technically speaking, there is no such thing as a class. Even though we have the class keyword in the newer versions of Javascript, it is just a special syntactic sugar added in ES6 to make it easier to declare and inherit complex objects. Classes in JavaScript are a special syntax for its prototypical inheritance model that is a comparable inheritance in class-based object-oriented languages.
```
function f() {
  return 5
}
typeof f() // number
typeof new f() // object
```
As you can see, adding the new keyword creates a new object. Why do we need it? Let’s run the code below (in a browser).

```
function Person(name) { 
  this.name = name
}
const person1 = Person('James')
console.log(person1.name) // undefined 
console.log(window.name) // James 
```

###Why?
Remember that Javascript (just like Python) is a scripting language – the interpreter reads the code and executes it line by line. In the code above, this refers to changes every time the execution context is changed – in the Person function it points to the global object. What we need here is a new object, which we can create using `{}`
```
var person1 = {}
Person.call(person1, 'james')
console.log(person1.name) // james
```
Above we used the call method, which calls a function with a given this value and arguments provided individually. Or, much simpler, we could do it in one line:
```
const person2 = new Person('Mary')
console.log(person2.name) // Mary
```
By adding the `new` keyword, we return a new object to which `this` is pointing to, making the code working as expected.!
Css button with attr selector
Tags: codepen, html, css
Published: 2020-04-18 07:52:10

---
title: Css button with attr selector
published: true
tags: codepen, html, css
---
CSS button pseudo-elements after with attr selector hover effect.
When button hover the effect will appear.


{% codepen https://codepen.io/nikhilroy2/pen/OJyXNxo %}
Want to speak at tech conferences? Submit your Tech Talks 
Tags: techtalks, writing
Published: 2020-04-18 07:49:08

Share your knowledge. It’s a way to achieve immortality.

👉 Why:
If you’ve ever looked at a conference or meetup speaker lineup and thought, “Hey, I could do that!” and then thought, “but wait…how do I get started?” then this is for you.

Giving talks at tech events is a goal for many technologists, for good reason: it’s a great way to meet people who share similar interests, raise your profile in a specific community, and sharpen your storytelling and technical skills.

👉 How I can?
1. Prepare your Tech Talk (any technology that you are expert and it can help the IT community to learn)
2. Duration: max 20 min
3. Submit to us

👉 Criteria:
1. Pure TechTalks, no product or company branding allowed
2. Must include presentation start with hows your learning experience with Pune Developer's Community
3. Video and Audio quality must be clear and sharp, no background audio or disturbance.
4. Last submission date: 30th April

👉 How I can submit:
1. Prepare your TechTalk video and text file which includes following details
-- Your Full Name
-- Your LinkedIn Profile Link
-- Mobile Number and EMail address
2. Upload it to google drive and share access to punedevscom@gmail.com
3. Done

👉 What's Next:
1. Shortlisted Tech talks will be published on PDC social network including a link to your LinkedIn profile
2. Shortlisted speakers will be hosted in upcoming PDC webinar's, meetups
3. Opportunity to volunteer at Pune's biggest tech community

All the best, Share your knowledge, Be Hero of your Tech Community.

Submit your talk [here](https://www.meetup.com/Pune-Developers-Community/events/270119599/)

Join Pune Developer's Community [here](https://www.meetup.com/Pune-Developers-Community)
What is the difference between div and span?
Tags: webdev, html, codenewbie, todayilearned
Published: 2020-04-18 07:12:21

*This post first appeared on [hackinbits.com](https://hackinbits.com/practice/html-interview-questions/)*

## \<div\> Element
\<div\> element is one of the famous block elements. It defines a section or division in an HTML document.\<div\> is a container element that is used to group the content, so that it can be styled easily using class or id attribute.

```html
<div style="background-color:lightgrey">
  <h3> I am a heading </h3>
  <p> I am a paragraph </p>
</div>
```


## \<span\> Element
\<span\> element is one of the famous inline elements. It is an inline container element that is used to group inline elements in the HTML document. The grouped inline elements can then be easily styled using class or id attribute.

```html
<p>You are reading about
  <span style="color:red"> Inline and Block Elements.</span>
</p>
```
What are block elements and inline elements?
Tags: webdev, todayilearned, codenewbie, html
Published: 2020-04-18 07:06:39

*This post first appeared on [hackinbits.com](https://hackinbits.com/practice/html-interview-questions)*

## Block Elements
Block Elements always start on a new line and take up the full width available on the web page.

It spans out to the right and to the left as far as possible and blocks out any other element from sitting next to it.

Some of the common block elements include \<div\>, \<p\>, \<h1\> to \<h6\>, forms etc.

## Inline Elements
Inline elements start on the same line and only take the amount of width required to display the content of the element.

It allows other elements to sit next to it.

Some of the common inline elements include \<span\>, \<img\>, \<a\>, \<em\> etc.
Javascript Array Manipulation With Sets
Tags: javascript, notes
Published: 2020-04-18 06:44:01

Array manipulation with Sets

[Samples on Codepen](https://codepen.io/calvinpak/pen/QWjyVXP?editors=0012)

```javascript
[...new Set(arr)] // unique array
[...new Set(arr)].sort() // unique array sorted

// Union (deduped):
const union = (a1, a2) => [...new Set(a1.concat(a2))];

// Union arbitrary number of arrays:
[a1, a2, a3, ...].reduce((total, arr) => union(total, arr), []);

// Intersection (deduped):
const intersection = (a1, a2) => [...new Set(a1.filter(x => a2.includes(x)))];

// flatten array with any depth
const flat = (arr) => arr.reduce((a, value) => a.concat(
  Array.isArray(value) ? flat(value) : value
), []);
```
Shopping Site Order Form Using Angular Js  
Tags: react, android, angular, html
Published: 2020-04-18 06:37:29

In this example, we will code an order form with a total price updated in real time, using another one of Angular's useful features - filters. Filters let you modify models and can be chained together using the pipe character |. In the example below, I am using the currency filter, to turn a number into a properly formatted price, complete with a dollar sign and cents. You can easily make your own filters, as you will see in example :-

 https://gist.github.com/amogh9594/b8f0fc9844b460d123185afcc8114c46
¿Por qué Svelte JS podría ser el mejor framework?
Tags: spanish, frontend, svelte
Published: 2020-04-18 05:40:27

---
title: ¿Por qué Svelte JS podría ser el mejor framework?
published: true
description: Una de las cualidades de Svelte es ser compilado y no utilizar un Virtual DOM, estas particularidades despiertan interés entre los desarrolladores
tags: spanish, frontend, svelte
canonical_url: https://gndx.dev/blog/por-que-svelte-js-podria-ser-el-mejor-framework/
cover_image: https://s3.amazonaws.com/gndx.dev/2020/04/svelte-espanol-1.png
---

Entre las cualidades de Svelte es ser compilado y no utilizar un Virtual DOM, estas particularidades despiertan interés entre los desarrolladores y ve como una opción a Svelte.

En esta conferencia online, impartida para la comunidad de Manizales, Colombia y dentro del marco de charlas denominadas “Quarantine Tech Talks”. ¿Por qué Svelte JS podría ser el mejor framework? Son muchos los motivos pero los resumo en 10 puntos importantes los cuales debes de considerar en tu aprendizaje de Svelte. 

{% youtube YyF_9Tg0DcE %}

Diapositivas: https://bit.ly/2yWAzL7
Day 1: Building a Page After a CSS Reset
Tags: 100daysofcode, todayilearned, html, css
Published: 2020-04-18 04:56:40

Off-and-on I've been doing web development for decades. Yet I've always struggled with CSS, and especially CSS resets. I always dive into templates of pre-existing designs and lazy my way to a beautiful page.

Not this time. For **100 Days of Code** I'm going dive deep into learning [Tailwind CSS](https://tailwindcss.com). I'm going to be building a page and design from scratch. I'll be doing it at my [tailwindcsspractice.glitch.me](https://tailwindcsspractice.glitch.me/) project on Glitch. I've already added:

1. Added a `div` with `class="container mx-auto px-4"` to get the text away from the browser edge.
2. Added `text-4xl` and `text-3xl` classes to the `h1` and `h2` headers respectively to distinguish them from `p` tags.
3. Added `color-blue-600` to `a` tags.

And here's the <a href="https://glitch.com/~tailwindpractice-day-01">code</a>.
Python Anonymous Lambda Functions
Tags: python, webdev, django
Published: 2020-04-18 04:30:43

Lambda in python is referred to as anonymous functions. They are single-line function and can accept any number of parameters.

> **Note : Lambda functions cannot be multi-line.** [**For more details go to this post writen by Guido van van Rossum, creator of python.**](https://www.artima.com/weblogs/viewpost.jsp?thread=147358)

#### Syntax

lambda parameter1,parameter2: processing inputs

To create a lambda function we need to use `lambda` keyword at the start followed by parameters.

    x = lambda : 'This is anonymous function without paramters'

    print(x()) #calling lambda function

    #PYTHON OUTPUT
    This is an anonymous function without parameters

Another example to calculated percentage.

    percentage = lambda marks_secured, tot_marks :  (marks_secured/tot_marks)*100

    print('{}%'.format(percentage(450,600)))

    #PYTHON OUTPUT
    75.0%

## Application of Lambda function

    Lambda functions can be used in sorting

    num = [
        [12],
        [10],
        [13],
        [8],
    ]

    print(sorted(num,key= lambda e:e[0]))

    #PYTHON OUTPUT
    [[8], [10], [12], [13]]

Lambda functions can be used inside another function. The below example increases the value to +2.

    def increamentor():
        return lambda a: a+2

    k=increamentor()
    print(k(4))

    #PYTHON OUTPUT
    6

This article was taken from [Python Lambda Functions](http://thecodelearners.com/python-lambda-anonymous-functions/)