teleren/devto huggingface dataset:
pvr fastcopy is here - roll your updates faster
Tags: pvr, pantahub, raspberrypi, announce
Published: 2020-07-30 11:27:25

I am excited to announce that `pvr fastcopy` is landing on our pvr devel channel as I write this:

 * https://gitlab.com/pantacor/pvr/-/merge_requests/217/diffs

With `pvr fastcopy` you can copy bits and pieces from one pantahub device to another without tedious download/upload wait times.

For example: You want to update your Pantahub ONE device with the lastest BPS from our Raspberry Pi 4 stable BSP release channel, you can do that with one command like:

```
pvr fastcopy -m "update bsp/ to latest from rpi3_bsp_stable" \
     pantahub-ci/arm_rpi4_bsp_stable#bsp \
     asacasa/rpi4_one_hotspot
```

## Details

*Copied from our [PVR README](https://gitlab.com/pantacor/pvr/-/raw/develop/README.md)*

## pvr fastcopy <SOURCE> <DESTINATION>

You can copy device state or subfolders (like an Application or a BSP) from one device to another without downloading the bits to your local machine.

This only works for source devices that the user has access to. Right now that's the case for Public devices as well as for devices owned by the user itself.

### Examples

**Example - fast copy a device**:

To fastcopy a complete device experience you would simply use:

```
pvr fastcopy -m "your commit message to remember" \
	https://pvr.pantahub.com/pantahub-ci/rpi4_initial_latest \
	https://pvr.pantahub.com/yournick/yourdevice
```

*NOTE*: this will delete app apps and bsp/ entries before replacing them. If you don't want that you have to use `#fragment` encoded in the URL to select specific source elements to copy and replace.*


**Example - fastcopy a folder**
To fastcopy a specific folder of your source device and replace the matching folder you coudl simply use:

```
pvr fastcopy -m "your commit message (copying #fragment)" \
	https://pvr.pantahub.com/pantahub-ci/rpi4_initial_latest#fragment \
	https://pvr.pantahub.com/yournick/yourdevice
```

**Example - copy just the bsp**:

```
pvr fastcopy -m "your commit message to file for the new revision" \
	https://pvr.pantahub.com/pantahub-ci/rpi4_initial_latest#bsp \
	https://pvr.pantahub.com/yournick/yourdevice
```

**Example - copy applications the same way**:

```
pvr fastcopy -m "copy pvr-sdk from source device to yourdevice" \
	https://pvr.pantahub.com/pantahub-ci/rpi4_initial_latest#pvr-sdk \
	https://pvr.pantahub.com/yournick/yourdevice
```
Ziad K Abdelnour | Blackhawk Partners
Tags: business, entrepreneur, finance
Published: 2020-07-30 11:19:33

https://www.ziadabdelnourblackhawk.com/
Ziad K Abdelnour is a Wall Street Financier, Author, Philanthropist, Activist, Oil &amp; Gas Trader. Ziad is also President &amp; CEO of Blackhawk Partners, Inc.
Ziad Abdelnour- Blackhawk Partners President-CEO - Private Equity Firm

Tags: business, entrepreneur
Published: 2020-07-30 11:17:47

https://www.blackhawkpartners.com/
Ziad K Abdelnour is President &amp; CEO of Blackhawk Partners Inc, New York-based private equity firm, Physical Oil Trading Deal &amp; Trading Physical Gold Bullion
Introducing TinaCMS: Inline Content Editing for React
Tags: javascript, react, webdev, showdev
Published: 2020-08-13 18:20:45

---
title: Introducing TinaCMS: Inline Content Editing for React
published: true
date: 2020-07-30 11:11:56 UTC
tags: javascript, react, webdev, showdev
canonical_url: https://snipcart.com/blog/tinacms-nextjs-cms
---

![Introducing TinaCMS: Inline Content Editing for React](https://snipcart.com/media/204930/tinacms-nextjs-tutorial.png)

“Jamstack is great for developers, but it’s too tech-savvy to get my clients on board.”

I can’t count the number of times we’ve heard this comment from devs.

In all fairness, it was true of the Jamstack in 2015. However, many solutions to get around this issue have popped up since then.

Take the multiple competent [headless CMSs](https://snipcart.com/blog/headless-ecommerce-guide) or [static site builders](https://snipcart.com/blog/stackbit) such as Stackbit, for instance. They’ve paved the way for a user-friendly modern web development experience.

Another relatively new player, TinaCMS, is pushing static website editing to a whole new accessibility level.

In this post, I’ll try out this editing toolkit by integrating it on a Next.js app and showcasing its main features.

The steps to build the live demo are as follow:

- Creating a Next.js project
- Adding markdown content
- Generating markdown helpers
- Integrating TinaCMS & the inline editing feature

Ready to do this?

## What is TinaCMS?

![tinacms](https://snipcart.com/media/204931/tinacms.png)

The team at [Tina](https://tinacms.org/) has made it pretty clear that *it isn’t a CMS.* Not in the traditional sense anyway.

What is it then? The definition you’ll find on their site is that **Tina is an open-source site editing toolkit for React-based sites.**

It allows users to manage content directly on their website instead of working from another platform. It exposes an editing interface to handle and update content in real-time.

Once installed, users get an edit icon that reveals the editing screen containing the CMS fields. The content you input in there is then written to external data sources such as Markdown or JSON files.

TinaCMS opens the Jamstack door to teams who need non-technical folks to work on content & site editing seamlessly. 
  

→ Read the full post [here](https://snipcart.com/blog/tinacms-nextjs-cms)
The first step of hacking and tools to help you
Tags: hacking
Published: 2020-07-30 11:09:59

The first part of any type of hacking no matter what it is. Is gather information.

#Gathering information 
You need to know about the machine or person you are hacking. There is a lot of tools out there that will help. Even just a simple google search will reveal a lot about your target. For example, I am wanting to hack this person named Bob, well I would first like to understand him a little better and maybe what devices he uses. So I can look at his twitter page where he might talk about what phone is using. The more you know the better it is. 

#What tools can you use
 - Sherlock - Sherlock is an open-source project where you enter a username and it will search multiple websites for that username.
 - Google hacking database(GHDB) - GHDB is a list of google searches where you can find leaked information on your target.

Please leave your favorite information gather tools in the description.
3 ways to concatenate strings with JavaScript
Tags: coding, javascript, strings
Published: 2021-03-19 23:35:26

---
title: 3 ways to concatenate strings with JavaScript
published: true
date: 2020-07-30 11:09:38 UTC
tags: Coding,JavaScript,Strings
canonical_url: https://blog.jws.app/2020/3-ways-to-concatenate-strings-with-javascript/
---

I genuinely thought that I had covered this topic already.  It appears that the closest that I came was “[PHP: Fun with strings](https://blog.jws.app/2014/php-fun-with-strings/)” (back in 2014), so let’s do it now?

{% codepen https://codepen.io/steinbring/pen/YzwewEZ %}

The three methods that I’m using about are [concat()](https://www.w3schools.com/jsref/jsref_concat_array.asp), “[string 1] = [string1] + [string 2]”, and “[string 1] += [string 2]”.  Any of the three should work for you.
How to integrate Geofencing in iOS App?
Tags: ios, geolocation, swift
Published: 2020-07-30 10:58:36

What is a Geofence?
A Geo-fence is a feature that defines a virtual boundary around a real world geographical area. Every time the user enters or exits the boundary of a certain area, actions can be triggered in a location enabled device. Usually the user will receive a notification with certain information based on its location in real time.

The main advantage of this technology is that it creates a fusion between the virtual world and the real one. At Lateral View we make use of Geofencing in several projects, particularly in the health industry.

Geofencing notifies your app when its device enters or leaves geographical regions you set up. It lets you make cool apps that can trigger a notification whenever you leave home, or greet users with the latest and greatest deals whenever favorite shops are nearby.

In this geofencing tutorial, you’ll learn how to use region monitoring in iOS with Swift – using the Region Monitoring API from Core Location.

 

Applications of Geofencing in Mobile Development
Geofencing can be used several applications such as:

Marketing: a clothing store can trigger a push notification with the day’s offers and discounts when a customer is nearby.
Reminders: an app that reminds the fans of a football club the address of the gates they should go to enter the stadium while they are in the surroundings.
Arrivals and departures from a certain location: an airline can send a notification wishing the user a safe trip after the plane has taken off or a welcome message when the plane has landed.
Child Tracking: an app can send a notification telling a parent that his child has left or entered a certain area.
Security: the app can enable or disable features when entering or leaving a region.
 

Advantages Of Geofencing App
Customer engagement by providing real time offers, discounts and promotions.
Enhance user experience.
Send location specific notifications to users.
 

Disadvantages of Geofencing
Geofencing requires the approval of the user. If the user rejects or disables the location services, geofencing won’t work until enabled from the app settings.
Location tracking takes too much battery life and this is the first cause for users turning off location services in the device.
Only appropriate for wide range areas.
 

Get to learn more here with code :https://www.rlogical.com/blog/how-to-integrate-geofencing-in-an-ios-app/
My favorite programming quotes
Published: 2020-07-30 10:54:50

Here are a few of my favorite programming quotes. Note that this is in no order what so ever. 

“By far the greatest danger of Artificial Intelligence is that people conclude too early that they understand it.” - Eliezer Yudkowsky

“The question of whether a computer can think is no more interesting than the question of whether a submarine can swim.” - 'Edsger W. Dijkstra

"The only way to make sure that you don't lose your job with the arrival of AI, is to do something that AI cannot do, and the only thing that artificial intelligence cannot do but a human can, is being original. So, do something original and no AI can ever replace you." - Abhijit Naskar

“Give a man a program, frustrate him for a day. Teach a man to program, frustrate him for a lifetime.” - Mohamed Saad

“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” - Martain Fowler

“Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.” - Rick Cook, The Wizardry Compiled

“Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live” - John Woods

"Talk is cheap show me code" - Linus Torvalds
Will AI and Machine Learning ever replace programmers?
Tags: machinelearning
Published: 2020-07-30 10:45:19

AI has come a far way, AI is something that reduces the workload on humans, so AI can be something as simple as pulling data from the web to playing a game. The first-ever AI was written in 1951 and in 2015 there came out a computer that can program itself. Imagine this you buy a new computer and turn it on and it starts to program itself. That is mind-blowing. 

Here is one of my favorite quotes 

"The only way to make sure that you don't lose your job with the arrival of AI, is to do something that AI cannot do, and the only thing that artificial intelligence cannot do but a human can, is being original. So, do something original and no AI can ever replace you." - Abhijit Naskar

So no AI can do something original AI is essentially is like oh well there seems that I know how to count so let my try this and oh it works. I know that it's way more complex than just knowing how to count numbers but still on the very basics it's thinking like this. So no AI can really do something original, AI can't come up with like state of the art software like AI it just can't do it.

#Conclusion 
I think at least in the short-term AI won't replace programmers I am not saying it won't but even if it does it won't replace us completely, it might take over a few things but not the whole of us, no way.
YouTube Video | CSS Grid Course for Beginners - 3
Tags: css, html, youtube, webdev
Published: 2020-07-30 10:34:09

In this series we will learn CSS Grid . With the creation of CSS Grid, we can create a modern day website with ease and ditching CSS frameworks like bootstrap.

This is the third part of the series.

{% youtube Wyz46r4yaSE %}

Please do like it and [Subscribe](https://www.youtube.com/channel/UCRf7mazcufqZxd2pR3oQJuQ?sub_confirmation=1) to my channel for more videos.
Cloud Computing with DevOps Solutions
Tags: devops, cloudcomputing, digialtransformation, webapplicationdevelopment
Published: 2020-07-30 10:31:41

DevOps in the Era of Cloud Computing:
Significance of Cloud Computing and DevOps: A Combination that can Transform Organisation Understanding: – with cloud computing and DevOps
Cloud computing is the practice of using a network of remote servers through the Internet to access, manage, store, and process data. Instead of purchasing and owning data centers, companies can now leverage Cloud Computing and get access to virtually unlimited storage and processing power through third-party providers.
Read More
https://blog.codingbrains.com/2020/07/28/cloud-computing-with-devops-solutions/
What is your favorite one-liner?
Tags: watercooler, discuss
Published: 2020-07-30 10:21:27

One thing that I love about JavaScript and especially es6 and onward is the possibility to do very cool one-liners.

![small-code](https://media1.tenor.com/images/77c1ed3199055f4dc79e80f883f33322/tenor.gif?itemid=5676598)

One of my favorite is:

```js
arrayOfObjects.find(e => e.name === 'my name' && ( e.description = 'your value', true ) );
```

This let's us find an `object` in an `Array of objects` and edit its value.

example:

```js
let arrayOfObjects = [
  {name: "my name", description: ''}, 
  {name: "another name", description: ''}, 
]
```

by running the above one-liner the result would be: 

```js
let arrayOfObjects = [
  {name: "my name", description: 'your value'}, 
  {name: "another name", description: ''}, 
]
```

If multiple objects fit the if condition they will all be changed.

![question](https://media1.tenor.com/images/c0d560233d7a70f5d5c1e2af77796602/tenor.gif?itemid=8761319)

## What about you? What's your fav one-liner?

---

Burlet Mederic
https://mederic.me
https://twitter.com/crimson_med
Convert OST to PST with OST to PST Converter
Tags: osttopst, osttopstconverter, osttopstconversion
Published: 2020-07-30 10:14:37


Convert OST to PST with OST to PST Converter tool. this tool also Repair your damaged OST file and Recover all deleted OST file data with all emails and mailbox items like: emails, contacts, calendars, notes, journals, tasks, folders, sub-folders etc. This Software allows user to save OST file into different file formats like: PST, EML, MSG, MBOX, HTML, ICS, VCARD formats. you can also try this software free demo version at free of cost.

You can try this software free demo version from here: http://www.convertostfiletopst.com
Where to go from here?
Tags: help, career
Published: 2020-07-30 10:10:30

There are plenty of roadmaps out there if you simply google 'developer roadmap', but I also value the personal details and I'm in need of a bit of a review.

In the last few months of 2019, I quit my job, moved in with my folks to focus on learning Full-stack JS development, fell in love with Front-end, but really enjoy the puzzle-solving aspect to Back-end work. I've even started to enjoy writing tests.
> Thanks to Kent C Dodds [Testing-Javascript](testingjavascript.com/) course! Highly recommend it for anyone who's looking to incorporate or learn it's value

I learnt React previous to the introduction to hooks, then I learnt it over again.

Since March 2020 when the lock-down hit the UK hard, there's been about 1% of the jobs going, most are senior / lead roles, and so as someone who's looking for their first 'real' role (I've dabbled here and there with paid work in the past).

So after some advice, to get Job-ready when they start coming back into the market, I've been learning Typescript (I ❤️ it!), Data Structures and Algorithms, GraphQL back-end (Found [Nexus](nexusjs.org/) from Prisma and it's SO easy to work with!). Built a website in June with Gatsby, TS, and a CMS. Finished another [project](https://dev.to/_lexedwards/got-stuck-in-a-hole-ended-up-revisiting-a-previous-project-accessibility-colour-palettes-12p3) yesterday.

I'm not sure where else to go from here, should I continue building more projects, even if they're a bit copy-pasta using sites like [Frontend Mentor)(https://www.frontendmentor.io/) for visual queues? I have this bias that projects from courses are viewed a bit this way too - everyone producing the same project with minor differences.

I've learnt React, but is there value in learning Vue too? Vue3 is around the corner though not ready, I'm seeing it as a frequent feature in jobs advertised.

As Full-stack too, would I be wrong to invest in learning Python? Also tempted by IOS.

I'm constantly wanting to improve and thrive to do better, but as someone who values their time, I'm not wanting to go down the wrong direction or waste time, especially when the end goal is to get their first placement in a team and contribute to something more than just personal exhibition.
library based Micro-Frontends set-up in Angular
Tags: angular, microfrontend, webdev
Published: 2020-07-30 10:05:26

Angular 10 Micro-FrontEnd Tutorial Steps

These are the steps:
Step 1 - Installing Angular CLI 10
Step 2 - Initializing our Project
Step 3 - Understanding Micro-FrontEnd
Step 4 - Creating Angular 10 Library's

Will start with creating a A10 App....
Step 1 - Installing Angular CLI 10

Open a new terminal on Ubuntu/macOS or a command prompt on Windows and run the following command:
```
npm install -g @angular/cli
```
Step 2 - Initializing our Angular 10 Project

If you have installed Angular CLI v10 in your machine, let's use it to initialize a new project. Head back to your terminal or command prompt and simply run the following command:
```
ng new master-app
```
Before generating your project, the CLI will prompt you if you would like to add routing to your project - You can answer No because we'll not be using the router in this example. For the style-sheets format, let's go with CSS.
```
cd ./master-app
ng serve
```
The server will be running at the http://localhost:4200.

Now you successfully created you Angular 10 application. Now will step into developing the micro-frontend part.

**Those who know how to create library and add it to you application can skip this part.

Here we have the list of commend you need to run for creating and adding a library to your angular 10 application.
```
ng new lib --create-application=false
```
Above line will create Angular 10 application without src&e2e etc.. After this run the below comment to create library inside you *lib* folder...
```
ng generate library sharedlib 
```
Once you successfully created the Angular 10 library now run the below comment. 
```
ng build sharedlib
```
once build is done you will get the following structure...

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

then go to you *master-app and install the newly created sharedlib to install run the following commend.

```
npm install C:\micro-ui\lib\dist\sharedlib
```
Once you install the angular 10 library, In you master application 
**package.json** will get updated as below.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/egvnlp9cruyfvh1h9gew.PNG)

If all the above steps are done then now you are ready with a micro-frontend app. 

Now you can import the Angular 10 library in to your master application as below.

**import { SharedlibModule } from 'sharedlib';**

Please do comment what you want to know in micro-frontend...
Help with audio/.js
Tags: help, codenewbie, javascript
Published: 2020-07-30 09:49:34

Hi, this is my first post. I'm a newbie, following several online free courses, tutorials, etc. Sometimes I stumble upon a code and try to figure out what it does.
Right now I'm stuck on a code. I want it to make it so when someone clicks somewhere else, the audio file will stop, go to 0, and then play the new audio. So far, this code makes me click on audios, but it will override or mash up the songs, so you end up listening to two songs at the same time or more, depending on your clicking.
Can anyone help me, please? I've been trying to do it for more than a week now, and still no luck.
Thank you in advance.
Paulina.
PS: Sorry my english. Also, since it's my first post, don't know exactly how to copy the code down here, so you have it up the title and also a link here. Sorry
[That's the code](https://dev-to-uploads.s3.amazonaws.com/i/bpz5pj7i1lgcaoxzfr6u.png)
How to write a good commit message
Tags: git, codenewbie, beginners, github
Published: 2020-07-30 09:43:58

A commit message is a short description of the changes you've made to a file added before committing the changes.

Good commit messages are important not only for others who you may be collaborating on the project but also for you, to keep track of all your commits and knowing exactly what changes where maybe during that particular commit.

Even if you're working on a personal project, I'd recommend that you start getting in the habit of writing good commit messages.

This is the format that I use most of the time (this may change depending on your preference or organization your working for):

```git
type: subject

body (optional)

footer (optional)
```

### 1. Type
+ **feat** - a new feature
+ **fix** - a bug fix
+ **docs** - changes in documentation
+ **style** - everything related to styling
+ **refactor** - code changes that neither fixes a bug or adds a feature 
+ **test** - everything related to testing 
+ **chore** - updating build tasks, package manager configs, etc


### 2. Subject

This contains a short description of the changes made. It shouldn't be greater than 50 characters, should begin with a capital letter and written in the imperative eg. Add instead of Added or Adds.

### 3. Body

The body is used to explain what changes you made and why you made them. Not all commits are complex enough that they need a body, especially if you are working on a personal project alone, and as such writing a body is optional.

A blank line between the body and the subject is required and each line should have no more than 72 characters.

### 4. Footer

The footer is also optional and mainly used when you are using an issue tracker to reference the issue ID.
<hr>

Example of a good commit message used by Udacity student <a href="https://udacity.github.io/git-styleguide/">Udacity Git Commit Message Style Guide</a>

> feat: Summarize changes in around 50 characters or less

> More detailed explanatory text, if necessary. Wrap it to about 72
characters or so. In some contexts, the first line is treated as the
subject of the commit and the rest of the text as the body. The
blank line separating the summary from the body is critical (unless
you omit the body entirely); various tools like `log`, `shortlog`
and `rebase` can get confused if you run the two together.

> Explain the problem that this commit is solving. Focus on why you
are making this change as opposed to how (the code explains that).
Are there side effects or other unintuitive consequences of this
change? Here's the place to explain to them.

> Further paragraphs come after blank lines.

> - Bullet points are okay, too

> - Typically a hyphen or asterisk is used for the bullet, preceded
   by a single space, with blank lines in between, but conventions
   vary here

> If you use an issue tracker, put references to them at the bottom,
like this:

> Resolves: #123
See also: #456, #789

<br>
A more practical example:

docs: Fix typo in README.md