teleren/devto huggingface dataset:
Made online Phone Message Sender
Tags: python, productivity, github, git
Published: 2020-07-27 18:19:10

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

Recently completed a mini project in Python and with API. User can send a message to anyone from PC only. Please do give ur valuable feedback and improvements needed.

Thanks and Cheers!


<a href='https://www.linkedin.com/posts/gaurav-singh-154348191_neverstopexploring-neverstopimproving-project-activity-6693582269782745088-zSmd'>LinkedIn</a>

<a href='https://github.com/GauravSingh9356/Python-applications' target='_blank'>GitHub Code</a>
<h2>In above link go to main.py file for source code</h2>
JavaScript developers, what was it like to start learning Python?
Tags: discuss, python, javascript, watercooler
Published: 2020-07-27 18:13:47

I have always been fond of the thought of learning Python and the possibilities it brings. Not only can you incorporate Python to web development or learn data science, but you can also learn Python if you are interested in other technologies such as AI or machine learning. 

Currently, I have been focused on mastering React, but would like to hear from other JavaScript developers what is it like to start learning Python? Are you currently using python along with React/Vue/etc? What were some of the best/worst things about Python coming from a JavaScript developer?

Thank you guys in advance for discussing with me and I look forward to all your stories!
VueJS Prop Validations
Tags: vue, javascript
Published: 2020-07-27 17:52:47

Validation beyond basic types!

If you feed in an invalid value for a prop, your validator will give a nice easy-to-trace error message instead of a mysteriously broken component.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/vb8tuv7u1m3tcx1ks0ev.png)
Lets go on a ride with logs in Go
Tags: go, tutorial, video
Published: 2020-07-27 17:28:26

{% youtube p45_9nOpD4k %}

Shout out to my wife who makes these hilarious thumbnails, follow her on [twitter](https://twitter.com/bonecloset) and [instagram](https://www.instagram.com/bone_closet/) for more art stuff.

Many programs benefit from logging certain information about what is going on. Maybe some part of your code returned an error and you want to make note of some details in relation to that error. Perhaps you want to see who is sending requests to your server and you capture some info such as the ip address and what type of service sent the request.

Regardless of your reason for using it, logging tends to be a good thing to integrate into your program at some point or another.

Luckily, go has a basic log package in the standard library. While it lacks some features you may see in 3rd party logging frameworks, it can fulfill some basic use cases.

Check out the video tutorial where I go over some examples of using, not only the standard log package, but a useful 3rd party logging package called [logrus](https://github.com/Sirupsen/logrus)

If you liked it and want to know when I post more tutorials, be sure to [subscribe] (https://www.youtube.com/channel/UCTHij3Ac5GizLsn5yB4IX_Q?sub_confirmation=1) and thank ya'll again for your time!
Do you consider yourself to be a generalist? Why or why not?
Tags: discuss
Published: 2020-07-27 17:15:43

One of the hardest things for me to do in my career is focus on one specific technology or language for a lengthy period of time. This has led me down an interesting path so far. I've worked on behemoth monoliths in C#, worked as a front end developer using Angular and Angular Material, and now am working almost exclusively in Azure. I've learned a lot, but would never say that I'm an expert in any of them. I would consider myself to be a generalist. Do you consider yourself to be a generalist?
Algorithms
Tags: discuss, productivity
Published: 2020-07-27 14:28:23

I came across this question... 
Hope someone can shed some light on how I can tackle this as I learn..
I'm new into algorithms.


A famous ride-sharing company Ubunifu has recently created a new “shared-bus” service in view of the COViD-19 pandemic. The bus serves a path of k kilometres, indexed by [0, k]. The main differences between this service and the traditional bus services are:
(a)  All the passengers board the bus at point 0.
(b)  Passenger i specifies a range  from starting point s and terminal point t as
``` 
[si , ti ](0 ≤ si ≤ ti ≤ k).
```
The passenger is satisfied as long as the bus stops at some location between si and ti (including the boundary). There are no fixed bus stops. Instead, the stops will be decided after gathering the user information s and t. As an IT officer at Ubunifu, you need to solve the following problem: given the number of passengers n, and each passenger’s preference [si, ti ], design an algorithm that finds the smallest number of stops in order to satisfy all passengers and analyze its running time.
Your algorithm should run in O(n log n) time.
How to add README to your GitHub profile
Tags: github, dev, moralistfestus, codenewbie
Published: 2020-07-27 16:50:51

Github has just introduced another amazing feature that allows users to add a README file to their github profile. How amazingly it is ☺, This feature allows user to create a more precise profile description on their github profile.


Why README? 

The GitHub PROFILE README feature allows more content than the profile bio, supports markdown which means you can play around with the content more visually  and the README is more visible as it is placed above pinned repositories and takes up as much space above the fold of the webpage as you like.
The README makes your profile great looking as you can add texts, animations, colored texts, images, links etc. 

How to create a profile README? 

It is as simple as you'd ever imagine ☺ 
step 1:
Create a new repository, the name of your repo should be same with your GitHub profile name. For example, my Github profile name is MoralistFestus, so I named mine MoralistFestus. 

step 2:
Now github will prompt a message "You found a secret! githubusername/githubUsername is a ✨special ✨ repository that you can use to add a README.md to your GitHub profile. Make sure it’s public and initialize it with a README to get started." Github will be surprised you just found a new secret 😂. That's amazing. 

step 3:
Initialize it with a README.md and commit your new repository. Now you can upload a file of your README.md from your computer, the README.md file can contain mark down, images, links, gif etc. 

That's all, Go. check your profile and see it is done. 
Thanks you for reading, if you love my article, do follow and get latest articles. ☺ 🔥
Learn use of Delegates in C# programming
Tags: csharp, oop
Published: 2020-07-27 16:46:11

Hope you must have gone through my previous articles Class members, Inheritance & Interface, and Generics.  Now, we’ll discuss on Delegates. A delegate defines a signature method and can create a reference to any method with a well-matched signature. You can call the method only through the delegate. Delegates help pass methods as point a of view to other methods for the purpose of signature validation between two methods.

Please note that Event handlers are similar to methods that are called through delegates. The Event handling task is very much important for a programming aspect. Hence, delegates are broadly used in event handling.

Codes to create a delegate:
1 public delegate void TCDelegate(string str);

Codes to create a reference to a method, which perfectly matches the signature mentioned by the delegate:

1 class SampleClass
2 {
3   // Method that matches the TCDelegate signature.
4    public static void TCMethod(string message)
5    {
6        // Add code here.
7    }
8
9    // Method that instantiates the delegate.
10    void TCDelegate()
11    {
12        TCDelegate sd = tcMethod;
13        sd("Sample string");
14    }
15 } 
Overall, Delegates are the vital signature methods for the validation of signatures between two methods. The above code must help you in using delegate in an error-free manner.
Devart Implemented New Git Client in dbForge Source Control v.2.2
Tags: sql, sqlserver, ssms, database
Published: 2020-07-27 16:41:28

---
title: Devart Implemented New Git Client in dbForge Source Control v.2.2
published: true
description: Devart released the new version of dbForge Source Control for SQL Server v.2.2. The updated MS SSMS add-in got the support for a new Git client – Git for Windows.
tags: SQL, sqlserver, SSMS, database
//cover_image: https://direct_url_to_image.jpg
---

Devart, a recognized vendor of professional database management software, released a new version of its advanced MS SSMS add-in, [dbForge Source Control for SQL Server, v2.2](https://blog.devart.com/new-git-client-is-implemented-in-dbforge-source-control-v2-2.html). The most notable feature of an updated tool is the support for a new Git client – Git for Windows.

The dbForge team always aims to provide software that maximizes the potential in database development and administration. Thus, adding support for Git for Windows became a reasonable update. Now, users could work with all possible connection and authentication types, as this task is delegated to the Git client. The improvement helps to easily track changes to the Git repository.

With this new version, to link a database to a Git repository, users only need to specify a folder or a sub-folder in a local Git repository where dbForge Source Control for SQL Server will store SQL scripts.

**dbForge Source Control** is a convenient SSMS add-in for SQL Server database change management in popular version control systems and servers, including Azure DevOps, SVN, Team Foundation Server (TFS), TFVC, Git (including GitHub), Mercurial (Hg), Perforce (P4), SourceGear Vault. Follow the link to learn more about the recent release — https://blog.devart.com/new-git-client-is-implemented-in-dbforge-source-control-v2-2.html

**About Devart**

Devart is one of the leading developers of database tools and administration software, ALM solutions, data providers for various database servers, data integration and backup solutions. The company also implements Web and Mobile development projects.
For additional information about Devart, visit https://www.devart.com/
How to Build an SVG animation with CSS 
Tags: svg, tutorial, codenewbie, css
Published: 2020-07-27 16:37:49

{% youtube IRyyKLdmi7o %}

In this video, You will learn what is SVG and how to build an SVG animation with CSS.

Follow On:
Github: https://github.com/codingx01
Twitter: https://twitter.com/TechParida
Linkedin: https://www.linkedin.com/company/codingx/
Facebook: https://www.facebook.com/codingx
Instagram: https://www.instagram.com/coding.x/

Leave any questions in the comments section and don't forget to subscribe to be notified of new content! :)
# Tools of the Trade
Tags: closures
Published: 2020-07-27 16:37:16


 
A 'closure' is a function that has access to it's outer function's variables and methods. It can also access variables and methods within it's own scope and of course, the global ones as well! This means that JS callbacks are also closures.

When using callbacks, I like to imagine that when the callback function is complete, it allows the higher-order function to close out. Much like when we're done using a saw to cut an angle in some wood, we close out the task of cutting when the wood is no longer whole and the saw has stopped moving, then we move on to the next promise of screwing it to another piece of wood 🛠️! ...or maybe painting is the next task 🎨. Either way, we've closed and are ready for the next!
Working with unpublished node dependencies 
Tags: node, javascript, codenewbie, beginners
Published: 2020-07-27 16:19:45

If you are a Node.js developer, you might've ended up in a situation where you want to use an unfinished feature from another node dependency.

Let's elaborate this a bit. For example, your entire project is broken logically into 4 npm modules. One module, which is the main one depends on the other 3 modules. With this setup, let's get changes from sub-modules to integrate with the main module.
 
The simplest way is to publish the sub-modules to `npm`. Use the new versions in your main node module's `package.json` file and re-install. Well, the downside with this approach is if you have made a mistake in your sub-modules, you have to re-publish and use them accordingly. But, things don't stop there. You will have to repeat this until your main node module is stable. Headache. Right? I know.
So, How do we get around this problem?

## Using npm link

With this approach, you can work with any node dependencies if they are checked out at some location in your local machine. All you have to do is run below command in the root folder of the package, which is a dependency for your main node module.

```
npm link
```

Alright! What does this do? If you have worked on node.js projects, you know there is a `node_modules` folder that has your installed dependencies. Similarly, there is a global folder for the dependencies. The above command creates a symbolic link for the package in which this command is run in the global folder. You have to run this command again in the package where you want to use the dependency code with the name in `package.json`.

```
npm link <package-name>
```

With this, any changes you make to your dependency node module will be used directly without having to re-install. The above 2 steps can be made short with just below command.

```
npm link <relative-path-to-the-dependency>
```

## Getting the source from GitHub
Now, let's discuss another use case where you are not the one working on your dependency, but a colleague of yours. And he doesn’t want to publish the code until he makes sure the feature is complete to some extent. But you need this person's code to test any early-stage integration issues. I am assuming you both use the git version control system for managing your code. You can get the changes your colleague has pushed to git with the link to the repository code as below in your `package.json` file.

```js
'package-name': 'git@github.com:<repository-name>.git#<branch-name>'
```

Once you've placed the above path in `package.json` file, you need to run a clean `npm install` to get the latest code from git.

Comment down if you using any other approach?
Unit: universal test generator tool
Tags: testing, tdd, rust
Published: 2020-07-27 16:18:07

Do you know how to write tests? Cool! Can you write new test cases easily? Cool. But do you remember how did you set up the tests runner in your project? Me neither.

Once you learn, writing tests is pretty straightforward, and pretty standard across all languages, you have a way to declare the test cases, either with `it "does something"` or `myTestCase()` and you assert with something like `expect(a).toBe(b)` or `assertEqual(a,b)`, so you can pretty much already test even in a language that is new to you. But how to set up, which test runner to choose and how to run them can vary a great deal.

I don’t know about you, but every time I start a new project I find setting up all the boilerplate, build tools and pipeline the most boring part, I just want to jump into the code, and I never know what’s worse: having to setup all this myself, or learning how to use an existing boilerplate from the internet and fighting it later. That’s why I start simple, as simple as I can in the language at hand, with just a main file and no dependencies if possible, and add things as I need. Problem is, I like doing TDD, so I need to at least setup the minimal boilerplate to run the tests, and a first example to look at so I can copy-paste for next tests.

“I never remember how to write tests in python, let’s copy from that old project again”, “How do I setup rspec again? I think I’ll just skip tests for this project”, “I know jest is easy to install but I feel lazy to go to their website and read the getting started for the 10th time”, “I’m starting to learn R, I wish I could write tests to it already, it would help me learn” — those were all thoughts I had, that’s why I created [unit](https://github.com/rogeriochaves/unit).

Unit is a CLI tool to setup and generate tests for all programming languages (if your language is not there pull requests are welcome ;)). Now there is only one command you need to memorize:

```
unit path/to/file
```

This file can be anything, file.rb, file.js, File.java, etc. Unit will try to identify the language, create a test file for it, add and setup the dependencies if needed and tell you the command to run it, for example:

![Unit execution example](https://dev-to-uploads.s3.amazonaws.com/i/ic25qnib8he56ayj81io.png)

Go to the [github repo](https://github.com/rogeriochaves/unit) for instructions on how to install unit and all the languages supported. Feel free to open any issues there, feedbacks are very welcome.

Thanks for reading!
Build A Flutter 💙 Tinder Clone with Firebase & BLoC #11/40 Sign Up Form
Tags: flutter, tutorial, dart, career
Published: 2020-07-27 16:17:58

---
title: Build A Flutter 💙 Tinder Clone with Firebase & BLoC #11/40 Sign Up Form
published: true
description: Tutorial on building a Tinder clone with Flutter, Firebase and Bloc
tags: #Flutter #Tutorial #dart #career
//cover_image: https://direct_url_to_image.jpg
---
In this series of videos we are going to build a Tinder clone with Flutter, Firebase as a backend and Bloc as our state management solution.

Here we set up the Sign Up Form.

Protip: Watch video at 1.25 speed.

{% youtube wWjRMjcnygI %}
TIL: the importance of knowing what your code does 
Tags: todayilearned, express, npm
Published: 2020-07-27 16:16:08

I am in the process of adding a scoreboard to the 'Run, Boris Run' game I developed for my final project [(see here)](https://run-boris-run.netlify.app) which involves saving a persons score to a database. 

Today I came across a strange error where the variables I was sending across to the backend were coming back as 'undefined'.

Upon investigating further with some print statements, I found that my request didn't have a body at all (so strange!!!!!).

I couldn't seem to figure out why my body was undefined and after some googling I came across something I had used before... 

It seems I needed to import and use the Express Middleware body-parser. And this is a lovely explanation from Stack Overflow as to how it works: 

*body-parser extracts the entire body portion of an incoming request stream and exposes it on req.body as something easier to interface with. You don't need it per se, because you could do all of that yourself. However, it will most likely do what you want and save you the trouble.*

In particular, I needed to make use of the bodyparser.json() method which parses the request data as JSON and exposes the resulting object on req.body.

I think it's a bit safe to say I took body parser for granted but I won't be forgetting it again anytime soon! This is also a lesson learned about making sure you understand what every imported library is doing and why you require it. 

P.s. [Here is the stack overflow explanation if you are interested.](https://stackoverflow.com/questions/38306569/what-does-body-parser-do-with-express)
A Web Developer’s Roadmap to Learning React Native
Tags: react, programming, javascript, reactnative
Published: 2020-07-27 20:40:15

---
title: A Web Developer’s Roadmap to Learning React Native
published: true
date: 2020-07-27 15:57:52 UTC
tags: react,programming,javascript,reactnative
canonical_url: https://blog.bitsrc.io/a-web-developers-roadmap-to-learning-react-native-9e52f5d5d38e
---

[![](https://cdn-images-1.medium.com/max/2600/0*ZsedY4osF1TVnLZS)](https://blog.bitsrc.io/a-web-developers-roadmap-to-learning-react-native-9e52f5d5d38e?source=rss-a5279e4f0964------2)

Is it really an easy switch from web to mobile development?

[Continue reading on Bits and Pieces »](https://blog.bitsrc.io/a-web-developers-roadmap-to-learning-react-native-9e52f5d5d38e?source=rss-a5279e4f0964------2)
How to choose a median result when running Google Lighthouse multiple times
Tags: webperf, webdev, node
Published: 2020-07-28 09:35:59

---
title: How to choose a median result when running Google Lighthouse multiple times
published: true
date: '2020-07-27T15:52:00.000Z'
tags: ['webperf','webdev','node']
canonical_url: https://maxrozen.com/how-to-choose-median-lighthouse-multiple-runs/
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/qytj10kh7o5b6p2fvxr6.jpg
---

According to [the docs](https://github.com/GoogleChrome/lighthouse/blob/master/docs/variability.md), running Google Lighthouse five times against the same URL will reduce the variability of your results by around half if you pick the median result.

The problem is, how do you pick the right result to use as your median, or representative result?

A naïve approach would be to take the median of the performance score, however since the performance score itself is a weighted average of other scores, and is more prone to outliers, it isn’t as useful as you’d think.

Lighthouse actually exports a function to help you calculate which result to use: `computeMedianRun`.

## [<svg aria-hidden="true" focusable="false" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg>](#how-to-use-computemedianrun-in-node)How to use computeMedianRun in Node

```
const spawnSync = require('child_process').spawnSync;
const lighthouseCli = require.resolve('lighthouse/lighthouse-cli');
const {
  computeMedianRun,
} = require('lighthouse/lighthouse-core/lib/median-run.js');

const results = [];
for (let i = 0; i < 5; i++) {
  console.log(`Running Lighthouse attempt #${i + 1}...`);
  const { status = -1, stdout } = spawnSync('node', [
    lighthouseCli,
    'https://example.com',
    '--output=json',
  ]);
  if (status !== 0) {
    console.log('Lighthouse failed, skipping run...');
    continue;
  }
  results.push(JSON.parse(stdout));
}

const median = computeMedianRun(results);
console.log(
  'Median performance score was',
  median.categories.performance.score * 100
);
```

Under the hood, `computeMedianRun` finds the run that’s closest to the median First Contentful Paint (FCP), **AND** the closest to the median Time to Interactive (TTI).

FCP and TTI are used because they’re the earliest and latest moments in a page’s lifecycle.

(This is an article posted to my blog at maxrozen.com. You can read it online by [clicking here](https://maxrozen.com/how-to-choose-median-lighthouse-multiple-runs/).)