teleren/devto huggingface dataset:
Dynamic vs CDN hosted website - performance analysis
Tags: saas
Published: 2020-09-10 07:51:36

I recently dog-fooded my own website EdgeNet. Basically, EdgeNet is going to be a SAAS service that converts your website into a static one and deploys it on a world wide CDN automatically. It also detects content changes and automatically syncs it. I am developing this because I needed a way to increase the page speed for many of my websites but wanted to retain the control that a CRM gives me.
Today I used EdgeNet on EdgeNet and no, there was no disturbance noticed in the space time continuum.
All i got was a website on steroids, near instant page loads, world wide CDN and insane response time compared to the single AWS instance my CRM driven website is hosted on. Here is the original one where I update my content and here is the production one which automatically syncs with the original content.
So here are the differences between the 2 versions... To measure the performance, I used Google page speed ranker.
What the ranker cannot detect is what happens at scale as well. Even at a load of a thousand visitors a second, there will be no accumulated delay.
What is your personality type?
Tags: watercooler, discuss, codenewbie, webdev
Published: 2020-09-10 07:39:29

Our personalities can change throughout our lifetimes so it's a good idea to keep track of what yours is. Personalities affect the way we interact with people and they can even describe us as a programmer. My current personality type is [INTJ-T](https://www.16personalities.com/intj-personality) if you don't know what yours is then take this test [https://www.16personalities.com/](https://www.16personalities.com/). My personality is apparently similar to Elon Musk, Michelle Obama as well as other popular famous people.
Top 5 Hybrid Apps | 2020
Tags: android, ios, beginners
Published: 2020-09-10 07:30:38

Hybrid apps are somewhat like a web app that has been put in the shell of a native app. Apps developed using Apache Cordova, Xamarin, React Native, Sencha Touch, and other similar technologies fall into this category.

Hybrid apps uses the single code base that works across many operating platforms. Therefore, it becomes easier and faster to develop these apps.

Apps are generally downloaded from application distribution platforms which are operated by the owner of the mobile operating system, such as the App Store (iOS) or Google Play Store. 

When it comes to mobile apps, we have three types in it-

Native app
Hybrid app
Web-based app
While native apps are built specifically for a platform and web-based apps are made to be accessed through the internet, Hybrid apps are a mix of both the technologies. Hence, it has the best of both worlds, i.e.- Native and Web apps.

What are Hybrid Apps?
Hybrid apps are apps that are installed on a device, similar to your usual app. What makes the hybrid apps different from other 2 types is that they possess elements from native apps, applications made for a specific platform like iOS and Android, with elements from web apps, websites that act like apps but don’t need to be installed on a device and can be accessed on the internet via browser.

Working of Hybrid Apps
Hybrid apps are usually written in HTML, CSS, and Javascript, just like Web apps. Their code is run within a container. The web browser on the device is used to render HTML, JavaScript, and native APIs to gain access to the device’s hardware.

Although a hybrid app will share the same navigation elements as a web app, whether it can run online or offline depends on its functionalities. If an application does not need support from a database, then it can be made to function offline.

let us look at the major companies that are using it as their primary application.

Instagram
Evernote
Gmail
Uber
Twitter
Baskin-Robins
Amazon Appstore

Conclusion
Mobile apps have become very common with a large number of mobile users. Mobile apps provide easy access to things that would otherwise have to interact physically. Hybrid apps are those apps that have great performance and provide hassle-free browsing and don’t require a lot of maintenance.

When compared with Native and Web apps, it provides the best features of both and easier to access. It is capable of handling a good amount of traffic without crashing and has a good market reach and takes lesser time to develop.

If You Want a better overview about Hybrid Apps check this article - https://codersera.com/blog/list-of-top-hybrid-apps/
Free hosting providers for front-end & back-end applications
Tags: node, react, angular, vue
Published: 2020-09-10 07:14:35

> I have created a list of free web hosting service providers. I have checked each and every website in the past weeks!
     - My youtube channel - [Vuelancer](https://www.youtube.com/channel/UC0hmXRqXYVO0mocVt5D3GkQ)

![hosting providers](https://media-exp1.licdn.com/dms/image/C4D1BAQHJKdl9tk4IGQ/company-background_10000/0?e=2159024400&v=beta&t=mPm4thS1XG_7tjYGAAa4gVB7qvV4YvBwfISoV-qnI-I)

## Freemium Resources

* Heroku - https://heroku.com - Deploying Front & Backend

* Netlify - https://netlify.com

* Vercel (Zeit) - https://vercel.com - Deploying Front & Backend apps at free of cost

* Firebase - https://firebase.com - Deploying Front & Backend apps at free of cost

* Surge - https://surge.sh

* Render - https://render.com 

* Hostman - https://hostman.com - free for frontend always, pay only for backend apps. (free credits will also there for you)

* Glitch - https://glitch.com - Deploying Front & Backend apps at free of cost

* Deno deploy - https://deno.com/deploy - Site for deploying for apps created using deno.

* Fly - https://fly.io - Deploying Front & Backend apps at free of cost

* Fleek - https://fleek.co

* Begin - https://begin.com

* Stormkit - https://stormkit.io - Deploying Front & Backend apps at free of cost

* Deta - https://deta.sh - Deploying Node.js and Python apps and APIs. They support most web frameworks like Express, Koa, Flask, and FastAPI. They also provide a very fast and powerful NoSQL database for free. (updated)

* Commonshot - https://commons.host - Static web hosting and CDN.

* Heliohost - https://heliohost.org - PHP, Ruby on rails, perl, django, java(jsp)

* Fast - https://fast.io (newly added)

* kintohub - https://kintohub.com - supports the static site, web app, backend apps. (updated)

* Hubspot - https://hubspot.com - CRM tool for marketing, sales, content management, and customer service (newly added)

* Torus.host - https://torus.host - needs an aws account.

* Bip - https://bip.sh - Static web hosting provider (updated)

* Cloudflare pages - https://pages.cloudflare.com - Static frontend hosting provider (updated)

* Qoddi - https://qoddi.com/ - PaaS App Hosting Platform (newly added)

Thank you!

* We can use github pages, gitlab, bitbucket to deploy static web pages! 

# Premium providers 
* AWS
* GCP
* Digitalocean
* Microsoft Azure
* Vultr
* Alibaba Cloud
* Linode

# Final thoughts

* Use **VERCEL** for any front-end application as well as medium-level backend apps.

* Use **HEROKU** for any level backend apps.

* Other websites are also useful when you are deploying static sites. But I recommend you to go through each website and find which one suits your project. 

-----

### Some of my youtube videos
{% youtube Tdx8RBmvqiQ %}
{% youtube x0Boemw9teU %}
{% youtube _1tpxFcpCBI %}

### Support Me
* [Youtube - Vuelancer](https://www.youtube.com/channel/UC0hmXRqXYVO0mocVt5D3GkQ)

* [Github - Vuelancer](https://github.com/vuelancer)

* [Scrimba](https://scrimba.com/@selvakumardhivakar)

* [Vuelancer - Patreon](https://patreon.com/vuelancer)
Salesforce App Builder Certification: Bridging the Developer-Admin Gap

Tags: salesforceapp, developeradmin
Published: 2020-09-10 07:05:00

[Salesforce](https://www.cloudanalogy.com/) occasionally offers new certifications to assess and test people's knowledge of the different features and functionality of the Salesforce platform. With the evolution of Salesforce, it has become the need of the moment for people to stay on top of the latest developments. The Salesforce App Builder certification is one of those courses that equips students with the knowledge necessary to build applications using Visualforce (DEV 401) and Force.com.

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

**Why did Salesforce offer the App Builder certification?**
The main reason behind introducing the Salesforce DEV 401 course was to equip students with the skills to create custom analytics and applications using the declarative capabilities of force.com. But the only downside was that programming basics were not part of the course. However, the Salesforce 401 certification was intended to be a developer certification, but the particular coding and programming assessment in Visualforce or Apex was not considered. As a result, people began to not know what skills they were going to acquire through training. As a countermeasure, Salesforce introduced the DEV 501 certification that aimed to test the programming skills of professionals. But again, because certification required a manual evaluation, people had to wait months to receive their certifications.

Due to the confusion that arose, Salesforce offered three additional Salesforce developer trainings, which also included app building training. Salesforce also introduced online application building training to help working professionals take the course with ease and comfort.

**Salesforce App Builder training certainly made a big difference**
The primary goal of this Salesforce training was to educate students on the technical aspects required for creating, managing, and updating business logic, data models, application security, and process automation. . This minimized the gaps that remained between a programmer and an administrator.

The Salesforce online training not only includes new features and functionality from Process Builder, Visual Workflow, Mobile, and Lightning, but also involves DEV 401 concepts. Participants in this course also gain a good understanding of related functionality. application deployment, as well as the application development life cycle. Salesforce online training can even be done by people who have already earned their [Salesforce DEV 401 certification](https://www.cloudanalogy.com/).
ARM transition?
Tags: architecture, computerscience
Published: 2020-09-10 06:43:27

Do you guys think apple pushing for ARM over x86 would make a huge splash in the industry? Will other manufacturers also start moving away from x86?

[Rosetta 2](https://developer.apple.com/documentation/apple_silicon/about_the_rosetta_translation_environment)

This seems promising - an interim solution to smooth out the transition.

Thoughts?
How to host another page in digital ocean (nginx), with SSL for free (the easy way)
Tags: programming, host, devops, python
Published: 2020-09-10 06:37:55

## 1) Create a folder for every web page in /var/www

To go to /var/www you got to write these lines:
cd ..
cd var/www

In my case i have a folder named html, inside of html y have 3 folders for three different websites i'm hosting, and an index.html that comes for default with nginx

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

## 2) Locate the index.html of your project

Yes index with lowercase, not UPPERCASE or something like that, this thing is case sensitive..., in my case my index.html is right here:

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

you can see the route by writing pwd and then press enter

## 3) Copy the route 

Just copy the route you obtained with pwd

## 4) Go to sites-available

cd
cd ..
cd etc/nginx/sites-available

right here for default you have a file named default

## 5) Modify default

you got to modify the file named default, so write this:
vim default
(i use vim, i don't like nano, i'm kind of rebel, don't judge me)

## 6) Add server block:

right here you're gonna see something like this:

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

so, after the first
server{

}

write something like this:

server{
listen 80;
listen [::] 80;

example example.com (example is just an example, right here you need to write your domain)

root /var/www/example.com (another example, here you need to add the route you just copied with pwd in the 3rd part of this thing)

index index.html (yes, i told you, don't use Index.html, or something like that, that's gonna crash your site)

location / {
try_files $uri $uri =404;
} (for prevent errors)
}

## 7) Get out of vim

it's not that hard, just press scape, then write :x!, to save the changes you just made

## 8) Test

Try, that's the way of the jedi (or maybe the way of the sith, you just test it)

sudo nginx -t

you should see something like this in the case you don't have any mistake

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

## 9) Install CERTBOT

In the case you don't have certbot you shall install it, this is a guide for install it:

https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04


## 10) Add SSL to your webpage

sudo certbot --nginx -d example.com -d www.example.com (again, example is only an example, this is the name of your the name)
this domain should be the same domain you wrote in the block you just wrote, then press 2 because you don't want people in your website not using HTTPS.

And that's all!! Hope it can be usefull
Regex for Kenyan Phone Number format 07XXXXXXXX in Python
Tags: regex, python
Published: 2020-09-10 06:08:51

---
title: Regex for Kenyan Phone Number format 07XXXXXXXX in Python
published: True
description: 
tags: regex,python,
//cover_image: https://direct_url_to_image.jpg
---
# Regex for Kenyan Phone Number format


The common formats that people use to represent mobile phone numbers: `07xxxxxxxx`, `+2547xxxxxxxx` or `+2547xxxxxxxx` or `7xxxxxxxx`.

In this tutorial I will show you how to check a phone number matches in the following format `07xxxxxxxx`

We are going to import `re` Python module to achieve this. 

`import re`

The we define the regular expression pattern that will check if the phone number matches. The Pattern is normally a string.

`pattern = "^0(7(?:(?:[129][0-9])|(?:0[0-8])|(4[0-1]))[0-9]{6})$"`

That's it we have the pattern defined.

Then we are going to define our matched variable. `phone_number` variable is the number we want to check if it matches.

`phone_number = "0700000000"`

We are using the `re.match()`  function which checks if zero or more characters at the beginning of string match the regular expression pattern, returns a corresponding match object. Then returns `None` if the string does not match the pattern.

`matched = re.match(pattern,phone_number)`

Now let's check 

`is_match = bool(matched)`

This will return a boolean `True` 

And there you go  ;)
2 useful Polling functions in JavaScript
Tags: javascript
Published: 2020-09-10 05:20:45


Sometimes we need to wait for something to be happened before we execute a command or call a function or do something else.
By something I mean:

- rendering of a HTML element
- a JavaScript event
- response from API

and many other things.

Let's see how to write a couple of functions to tackle these scenarios:

<hr>

### Poling function 1: wait for HTML element

    var waitForElement = function(elem) {
	    if (typeof  elem  ==  'string') {
			return  new Promise(function (resolve) {
				var  wfelem  =  function () {
					if (null  !=  document.querySelector(elem)) {
						resolve(document.querySelector(elem));
					} else {
						window.requestAnimationFrame(wfelem);
					}
				};
				wfelem();
			});
		}
    };

We can use the above poling function when we need to wait for a certain HTML element.

#### Example:

    waitForElement('button#addToCart').then(function(button) {
         button.textContent = 'Buy Now';
    });

<hr>

### Poling function 2: wait until a function returns true

    waitUntil = function(callback) {
	    if (typeof callback === 'function') {
		    return new Promise(function(resolve, reject) {
		    var tick = setInterval(function() {
			    if (callback() === true) {
				    clearInterval(tick);
				    return resolve();
			    }
		    });
	    });
	    } else {
		    console.error(callback + ' should be a function');
	    }
    };

We can use the above function to wait until one or more conditions meet the criteria before further execution of the code.

#### Example:

    window.waitUntil(function () {
        return "complete" == document.readyState;
    }).then(function () {
		console.log("Page loading complete!");
    });
Gmail plus make your life easier 😙
Tags: devlive, mentalhealth
Published: 2020-09-10 05:03:35

3.9 billion users, yes Gmail is massive and has a lot of cool features.

Today we will be looking at the Gmail + plus action to make your life easier!

Nowadays, we get so much email and it gets cluttered quickly.

> Note: Check out my article on [achieving Inbox Zero](https://daily-dev-tips.com/posts/a-clear-mind-starts-with-a-clear-inbox/)

## Gmail + email address

In Gmail you get a specific email address let's say:

`info@daily-dev-tips.com` or `chrisbongers@gmail.com`

You can also use a plus to receive certain emails:

`info+social@daily-dev-tips.com` or `chrisbongers+spam@gmail.com`

These will arrive in your normal mailbox!

![Gmail + address](https://cdn.hashnode.com/res/hashnode/image/upload/v1599397459491/atFjnx2a_.png)

That is already very cool. You can use it to sign into one service with the same address (Twitter personal + business)

But, we are using it to put emails in certain categories!

## Gmail + sign filter

First, go to the filter section and add a new filter:

1. Settings
2. Filters and Blocked Addresses
3. Create a new Filter

![Gmail create a new filter](https://cdn.hashnode.com/res/hashnode/image/upload/v1599397741352/K4qA5jb-H.png)

Within this filter, type the email address in the `To` field.

![Filter on To field](https://cdn.hashnode.com/res/hashnode/image/upload/v1599397840536/LOqmu9sGt.png)

Hit the `Create filter` button

Then we can set up our filter however we like. In my case I'm only sending these emails to a specific category, but you could also mark them as read for instance.

![Gmail filter settings](https://cdn.hashnode.com/res/hashnode/image/upload/v1599397946576/0WJjtH7i4.png)

That's it! Emails send to `info+social@daily-dev-tips.com` will now end up in my Social category.

Have fun, and create some amazing filters to make your life easier! 😙

### Thank you for reading, and let's connect!

Thank you for reading my blog. Feel free to subscribe to my email newsletter and connect on [Facebook](https://www.facebook.com/DailyDevTipsBlog) or [Twitter](https://twitter.com/DailyDevTips1)
using github action to triage your nuget packages for .net solutions 
Tags: actionshackathon
Published: 2020-09-10 04:50:55

Do you often work on a .net solution with many projects?

Do you ever find Newtonsoft.Json is installed with different versions across the whole solution?

And do you find some nuget packages are 5 years old that never have been updated or even been no longer maintained and unpublished?

Or find your projects/solutions are using pre-released packages that are not very reliable for production usage?

I have been struggling with these stuff during most of my projects. It is not a difficult task to fix them up, but it definitely requires some sort of trigger to examine the above scenarios regularly from time to time.

So I am wondering if I can make it part of the CI/CD process, regularly perform checks against consumed nuget packages, for solutions/projects. With nuget.org’s public API and I chuck in some dotnet core to build a little console app to achieve sanity triage of all these installed nuget dependencies. And it works out really well for me.

## Here it comes NuSight

[NuSight](https://github.com/superwalnut/NuSight) is tiny .net core console app I built to help your triage your .net solutions for the nuget packages. It is open source and you can find the source code from [github](https://github.com/superwalnut/NuSight). Also it has been published to [nuget.org](https://www.nuget.org/packages/NuSight) as a dotnet tool
[**NuSight 1.2.2**
*This is a .net tool that analyze your solution folder, discover all your project files and diagnose all the nuget…*www.nuget.org](https://www.nuget.org/packages/NuSight)

To install it and use it, you need dotnet CLI and run this command,

    dotnet tool install --global NuSight

#### Use it with github actions

<iframe src="https://medium.com/media/38625db800b41e53be4a83bf5cd56283" frameborder=0></iframe>


### Submission Category: 

[Note]: # Maintainer Must-Haves


### Yaml File or Link to Code

```
name: Build-Nusight

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Setup .NET Core
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: 3.1.301    
    - name: Install dependencies
      working-directory: ./NuSightConsole
      run: dotnet restore
    - name: Build
      working-directory: ./NuSightConsole
      run: dotnet build --configuration Release --no-restore
    - name: Nuget triage
      working-directory: ./NuSightConsole
      run: | 
        dotnet tool install -g NuSight
        nusight list -o -i -p -u
```

### Additional Resources / Info

https://github.com/superwalnut/NuSight
How to get motivation and ideas to create projects?
Tags: beginners, discuss, productivity, motivation
Published: 2020-09-10 04:37:07

I've heard many times that projects and publications add a really good value to the resume, in fact, that is what recruiters look for in a resume. 
But I'm always stuck because I don't get ideas to create any projects. I don't want to copy any idea or do something that's already been done. I want it to be original. But no matter how hard I try, I can't seem to come up with anything good.
So what do you guys do to come up with a good project idea?
Please share your tips!