teleren/devto huggingface dataset:
99.8% workforce in IT sector incapable of remote working: Study
Tags: discuss, news, beginners, devops
Published: 2020-04-10 20:32:43


**Work from home: Only 0.2% IT sector workforce highly productive.**

About 12.7 per cent of the IT workforce comprises employees who thrive on their social interactions and as a result, work from home is a challenge for them
Only 0.2 per cent workforce in the IT industry is highly productive while working from home, says a new study conducted amid the coronavirus lockdown, when most of companies are encouraging employees for working remotely.

About 99.8 per cent of the workforce in the information technology sector is incapable of working from home, according to the study by research-backed innovative venture SCIKEY MindMatch.

These 99.8 per cent of the workforce lack at least one of the qualities, including resistance to learning and exploring (95 per cent), lack in practical communication skills (65 per cent) and lack in planning and execution (71 per cent), it added.

“16.97 per cent of the employees are challenge-driven and such people should be given challenging tasks and can work seamlessly with minimum intervention,” the study said. 

The research identified 17 per cent of employees as instruction-driven and need clear cut direction to deliver a task.

While engaging with these employees, especially under the remote working scenario, one should pay close attention to the details of the tasks assigned to them, it added.

Source :Work from home: 99.8% workforce in IT sector incapable of remote working: Study - The Economic Times - https://m.economictimes.com/tech/ites/99-8pc-workforce-in-it-sector-incapable-of-remote-working-study/articleshow/75080948.cms?utm_source=whatsapp_pwa&utm_medium=social&utm_campaign=socialsharebuttons
RepoDb remains as the most-fastest and most-efficient ORM in .NET Core Ecosystem (v3.1)
Tags: csharp, dotnet
Published: 2020-04-10 20:25:52

---
title: RepoDb remains as the most-fastest and most-efficient ORM in .NET Core Ecosystem (v3.1)
published: true
description: RawDataAccessBencherResult April 10, 2020
tags: #csharp #dotnet
---

Yesterday (April 9, 2020), I had issued a PR to FransBouma's [RawDataAccessBencher](https://github.com/FransBouma/RawDataAccessBencher) with the latest version of [RepoDb](https://github.com/mikependon/RepoDb), plus with the following updates:

- Upgrading the `System.Data.SqlClient` to version `4.8.0`.
- Referencing the `Microsoft.Data.SqlClient` version `1.1.1`.
- Added the `Initialize()` method in the [BencherBase](https://github.com/FransBouma/RawDataAccessBencher/blob/master/RawBencher/Benchers/BencherBase.cs) class.

By today (April 10, 2020), FransBouma reach out to me to have some collaborations about the PR (can be found [here](https://github.com/FransBouma/RawDataAccessBencher/pull/50)), in which was approved in few hours after.

Right after the PR's approval, I received a Tweet about the bencher's execution.

<img src="https://raw.githubusercontent.com/mikependon/RepoDb.NET/master/assets/images/blogs/rdab/2020-04-10/Tweet.PNG" height="300" />

**RepoDb remains as the fastest and the most-efficient in .NET ORM library in SET fetches. It is 2 years in a row as of writing this.**

> Please exclude the `HandCoded Materializer` result when the outcome of the bencher.

#### Result for NET Core (Set Fetches)

<img src="https://raw.githubusercontent.com/mikependon/RepoDb.NET/master/assets/images/blogs/rdab/2020-04-10/NetCore.PNG" height="420" />

The actual result can be found [here](https://github.com/FransBouma/RawDataAccessBencher/blob/master/Results/20200410_netcore31.txt).

#### Result for NET Framework (Set Fetches)

<img src="https://raw.githubusercontent.com/mikependon/RepoDb.NET/master/assets/images/blogs/rdab/2020-04-10/NetFX.PNG" height="420" />

The actual result can be found [here](https://github.com/FransBouma/RawDataAccessBencher/blob/master/Results/20200410_netfx.txt).

#### Result for NET Core (Individual Fetches)

RepoDb has downed to 4th place (previous 1st place) in INDIVIDUAL fetches. See the result below.

<img src="https://raw.githubusercontent.com/mikependon/RepoDb.NET/master/assets/images/blogs/rdab/2020-04-10/NetCoreIndividual.PNG" height="420" />

The actual result can be found [here](https://github.com/FransBouma/RawDataAccessBencher/blob/ac9310c0992dd3a9ed4ffdd01a4bee18bef2fb40/Results/20200410_netcore31.txt#L113).

The reason to this is the update at `v1.10.x`. There is a feature that has been introduced to RepoDb that needs to be executed in every calls to [ExecuteQuery](/operation/executequery) method. This would affect both the INDIVIDUAL and SET fetches. However, the library is fast enough when converting big chunk of records, the effect to SET fetches is not that much.

The actual post can be found [here](http://repodb.net/blogs/repodb/2020/04/10/repodb-remains-on-top.html).
React Native 🚀 Github Actions
Tags: reactnative, github, javascript, webdev
Published: 2020-04-10 19:57:18

I recently came across Github Actions. It's a powerful tool. So, i thought of giving it a try. So, I used it to automate the build of react native android apk.
I created a GitHub repository for this project.

Check it out [here](https://github.com/realabbas/Github-Actions-React-Native) 

[CGPA Calculator](https://www.rapidtools.co/cgpa-calculator.html)

# 🚀 Github Action for React Native Build

Add the *build.yml* as follows ``` .github/workflows/build.yml ``` in the project.

```
name: build
on:
  push:
    branches:
      - master
jobs:
  install-and-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install npm dependencies
        run: |
          npm install
  build-android:
    needs: install-and-test
    runs-on: ubuntu-latest
    steps: 
      - uses: actions/checkout@v2
      - name: Install npm dependencies
        run: |
          npm install
      - name: Build Android Release
        run: |
          cd android && ./gradlew assembleRelease
      - name: Upload Artifact
        uses: actions/upload-artifact@v1
        with:
          name: app-release.apk
          path: android/app/build/outputs/apk/release/

```

Build will be triggered as soon as the commit is pushed to the master branch.

After that, builded apk can be found under the artifact section

[Rapidtools](https://www.rapidtools.co)
[Percentage Calculator](https://www.rapidtools.co/percentage-calculator.html)

## Troubleshoot

### Gradlew commands not working 

You can try to execute the following command before run gradle commands.

``` 
chmod +x ./gradlew
```

![Gradlew Command Not working in Github Actions React Native](https://dyjpb62732.i.lithium.com/t5/image/serverpage/image-id/3072i1C8314A5EA6EFEF8/image-size/large?v=1.0&px=999)
Useful APIs for programmers
Tags: beginners, codenewbie, javascript, webdev
Published: 2020-04-10 20:24:34

In my efforts to make the most of this quarantine/lockdown extra-time !
Here are some useful APIs for programmer/developers .
PS: They are in no particular order.
Also, the first one is a bit of a cheat for this list (apologies!)

![slide1](https://dev-to-uploads.s3.amazonaws.com/i/ygm51xgs2t1houoarudu.png)
![slide2](https://dev-to-uploads.s3.amazonaws.com/i/sk5hnzc6i4n5siwd5xp0.png)
![slide3](https://dev-to-uploads.s3.amazonaws.com/i/bcqqv8hjwn65a2ay8tvr.png)
![slide4](https://dev-to-uploads.s3.amazonaws.com/i/3qsz1x1mn6ivq0stvooj.png)
![slide5](https://dev-to-uploads.s3.amazonaws.com/i/8mk0vuru69kdpjdsjchg.png)
![slide6](https://dev-to-uploads.s3.amazonaws.com/i/mdxwic3y62m8c4f2bde2.png)
![slide7](https://dev-to-uploads.s3.amazonaws.com/i/3v2p2verzwu928yarixj.png)
World of WoqlCraft - Ep.3 finish off the type objects
Tags: python, database, schema, tutorial
Published: 2020-04-10 20:22:18

---
title: World of WoqlCraft - Ep.3 finish off the type objects
published: true
description: Finish building the type object structures in the schema, including the SubClassOf relations.
tags: Python, database, schema, tutorial
---
Finish building the type object structures in the schema, including the SubClassOf relations.

Find the source code from our [tutorial repo](https://github.com/terminusdb/terminus-tutorials).
LIVE // New Updates to Our Remote Work App
Tags: productivity, startup, android, ios
Published: 2020-04-10 20:20:23

Since launching AirSend (www.airsend.io) in December, the team has been working hard to continue to improve AirSend for our users. Here are some big improvements we’ve made recently.

Public Channels

You can now host your own public messaging and collaboration platform using AirSend’s Public Channels. Create as many Public Channels as you want and share a link to your Public Channel for people to join and start interacting. 

Office 365 Integration

Edit documents directly in AirSend Channels without the hassle of having to download, edit, and re-upload files to make changes. 

Ability to Export Channels

You can now easily export any Channel as a ZIP file to back up your messages, files, and notes on your computer or an external hard drive. 

Channel Templates

Create and duplicate Channel templates with just a few clicks to save time and streamline your workflow. 

Android App Wiki Editor

Android app users can now fully edit Channel Wiki sections for fully customizable notes. 

Android App Native Share

Android app users can now share links directly from your web browser into AirSend Channels.

What's Next?

While we are proud of the progress we’ve made, our journey is far from over.

You can stay updated by checking out our blog (www.airsend.io/blog), and if you haven't signed up for AirSend yet - sign up now for free lifetime access to AirSend and its great features like easy messaging, secure file storage and sharing, and more.
Is this how Whatsapp and Telegram hacked?
Tags: javascript, security, css
Published: 2020-04-10 20:05:37

Is Good Morning Messages on whatsapp are way to hack your mobile?

**Please do not try this for any illegal activity. I believe discussions about these kinds of loop holes will surely result in future with more secure apps.This is one of the example I am stating here. I have no knowledge about hacking.**

*_Is it possible to deliver a program to any other device and take over control of its mobile or desktop system?_*

```I think its possible.```

A few years back, I seen a documentary on ethical hacking. But in that documentary they were using email to send 'such' file to another device. However, I am not worried much in 2020 as most email services are using anti-virus and quarantining such contaminated files.

But there are certain real time transferring apps that can be used by hackers: Telegram, Whatsapp and Line are few. They only encrypt message but not scan messages for viruses before delivering to devices.

So, I tried to create a good morning message with an .apk file (android app). Its too simple.

*Here is command line:*

_copy /b goodmorning.jpeg + hidden.apk goodmorning.jpeg_

It will easily get into a device as good morning message and when someone clicks it; it will ask to install the android app. This can be done for any IOS : windows, ubuntu , IOS etc. I am sure there are ways to install an app without asking for user permissions.

What I am pointing here in this post that in 2020, we have Real Time Communication with encryption but we are missing malicious scanning of files before it get transfered. The only way to know a harmful file is to check the aspect ratio of file size ( dimensions ) and memory it acquire.A 5px x 5px pic file cant be 12MB. Scanning such files manually is a very difficult task.

With over 1.5 billion monthly active users, WhatsApp is the most popular mobile messenger app worldwide. They all are prone to attackers.

I don't know any present solution available to the problem except not allowing media to direct download in file system plus using a good anti-virus.

*The layman's Learning:*
1.Encryption is not going to help to safeguard your privacy.
2.People don't care for privacy they only need platform to communicate fast.
3.RTC should ensure malicious files get killed at origination or on fly but before landing to other device.
Mechanical to JAVASCRIPT
Tags: selftaught, react
Published: 2020-04-10 19:53:21

---
title: Mechanical to JAVASCRIPT
published: true
description: Journey from repairing engines to playing with objects 
tags: #selfTaught #react
---

Hi, my journey started when i was a kid and my father bought a computer for the family. I was the youngest one so in the beginning i was the one most regulated in getting my hands on the precious machinery. I am talking about about time when in India we use to go to cyber cafe's and gave Rs 10/hour to access the internet. Time when Microsoft released Windows 7 and 
i was the first one in my family to install an OS from a bootable USB. 

My first system config, oh you never forget the first one right. 

AMD Athlon 2.4Ghz
128 MB Ram
32 GB HDD

Man i tried everything to run the machine faster , tried to get everything from the machine. That was beginning of the end ,time passed by and my love for computers grew with it. I passed my school , got in to an engineering college and choose mechanical engineering as a profession. I didn't mind the lengthy syllabus and complex mechanics behind everything. I actually like engines. Mechanics was my second love. 

I completed my graduation , got a nice job as a mechanical engineer. But between all this something happened , suddenly i was drawn to the my childhood love. My computers which i so dearly adored, but didn't knew nothing about programming other than some C++ that i learned in hight school and was actually very good at. In fact i was the mechanical engineering student teaching C++ in first year to my colleagues in college.

I finally decided to switch my career to become a software developer. I started learning CSS, HTML and Javascript. I had managed to get a job at an outsourcing company which did not actually required any programming skills, but i was working on computer 8 hours a day and that made my day.

I learned most of the theory and started applying for jobs and finally bagged an internship at a firm. 


**My 1st day** :

Boss : Hey do you know have an account at github.

Newb : Yup.

Boss : Ok , slack me your id and fork this repo and start understanding 
       the code.


![boom](https://media.giphy.com/media/DgY4J4qV0acw/giphy.gif)

##Then shits started to roll.

I was introduced to some awesome stuff. I started contributing to their code which was written in javascript-(basically in React). 

Yeah yeah i know i learned framework , before the language. 

![mistake](https://media.giphy.com/media/1Bh2zyW2yuBEalV0rO/giphy.gif)

I agree , i made a mistake and wanted to rectify it. So each day in office i was grinding my self learning programming , go to know about local storage first. Didn't know something like that existed and then to the amazing world MDN which taught me mostly everything. MDN was my go to place to read about the anything i can lay my hands.

Day in day out i was learning code and i am still learning. I have a long way to go and **I actually love my job**. I can say that do you know

![WHY?](https://media.giphy.com/media/1M9fmo1WAFVK0/giphy.gif)

###BECAUSE I AM INTO COMPUTERS AND I LOVE IT.
On.NET: Creating A GraphQL Backend
Tags: dotnet, graphql, webdev, webapi
Published: 2020-04-10 19:52:04

Continuing with our coverage on GraphQL, Brandon gets into the code of the graphql-dotnet SDK and shows us how to create a GraphQL endpoint.

Learn more: https://codetraveler.io/DotNetGraphQL

{% youtube 6duKEokTZ44 %}

If you liked this video and would like to see some more of our .NET content, please subscribe to our [.NET Developers YouTube Channel](https://www.youtube.com/channel/UCvtT19MZW8dq5Wwfu6B0oxw).


## Useful Links
* [GraphQL for .NET](https://github.com/graphql-dotnet/graphql-dotnet)
* [Hot Chocolate: GraphQL Server for .NET](https://hotchocolate.io/)
* [ASP.NET Core Docs](https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-3.1&WT.mc_id=dotnet-devto-cephilli)
Have you read Thinking Fast and Slow?
Tags: webdev, career, discuss, psychology
Published: 2020-04-10 19:42:08

Q: Have you read this book? Or would you like to? Did you finish it?

Q: What __good lessons__ do you think __developers__ can get from this book?

> Like and share this if you want me to write a full-length article on this book tailored for developers.

medium: https://medium.com/@thejamespinto/have-you-read-thinking-fast-and-slow-6a68a7054daa
Git hooks in Flutter projects with Lefthook
Tags: flutter, git, workflow, automation
Published: 2020-04-10 19:14:49

---
title: Git hooks in Flutter projects with Lefthook
published: true
description: How to easily standardize commits
tags: flutter, git, workflow, automation
---

I'm using [Flutter](https://flutter.dev/) for mobile development and, coming from the JavaScript world, I'm used to having [Git hooks](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) running checks before a commit or a push using [husky](https://github.com/typicode/husky) and [lint-staged](https://github.com/okonet/lint-staged).

To accomplish the same with Flutter, I've decided to use [Lefthook](https://github.com/Arkweid/lefthook) - the fastest polyglot Git hooks manager out there. Read the [introduction post](https://evilmartians.com/chronicles/lefthook-knock-your-teams-code-back-into-shape?utm_source=lefthook) to find out more details about it.

Without further ado, let's see how to use it in our projects.

- Install Lefthook via [gem](https://github.com/Arkweid/lefthook/blob/master/docs/ruby.md), [npm](https://github.com/Arkweid/lefthook/blob/master/docs/node.md) or [from source or your OS package manager](https://github.com/Arkweid/lefthook/blob/master/docs/other.md);
- Define your hooks in the file `lefthook.yml`:
```yml
pre-push:
  parallel: true
  commands:
    tests:
      run: flutter test
    linter:
      run: flutter analyze

pre-commit:
  commands:
    pretty:
      glob: '*.dart'
      run: flutter format {staged_files} && git add {staged_files}
  ```
- Run `lefthook install` to finish the setup.

And that's it! Now, whenever you commit something, `flutter format` will run in the staged files and whenever you push commits, `flutter test` and `flutter analyze` will run in parallel.

If any of these commands throws an error, the action will be aborted.

### Notes

Even though I've demonstrated it with Flutter, Lefthook is "polyglot" and can be used with many other languages and frameworks. It can also run scripts! Check out [their documentation](https://github.com/Arkweid/lefthook) for more.

Don't forget to check the [Git documentation](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) for more hooks.

If you're using a different solution or have any suggestions to improve this example, feel free to share it in the comments.

---

I hope you enjoyed this post and follow me on any platform for more.
Reflect live on Product Hunt
Tags: producthunt, testing, webdev, showdev
Published: 2020-04-10 19:03:57

For software teams, automated end-to-end (E2E) tests are one of the best ways to catch bugs before they reach real users. These are tests that simulate end-user actions in a web browser, like, say, registering as a new user on your website, or adding an item to a shopping cart. These types of tests are really valuable because they are the closest thing to how users actually use your site, but they’re also notoriously hard to create and maintain.

Reflect is a new kind of end-to-end web testing tool that splits the gap between coding up selenium scripts and repetitive manual QA. Reflect exposes a cloud-based browser that captures your manual actions once, and then re-executes those actions whenever you want. If the actions fail, you'll be notified via email. It's automated web regression testing that anyone can use :)

It only took us 1 year of nights and weekends followed by the last 7 months full-time, but we finally launched on Product Hunt!

Reflect: https://www.producthunt.com/posts/reflect-4

Reflect’s test recorder automatically detects a wide range of actions, like:
- Clicks/Taps/Swipes/Scrolling
- Visual Testing (i.e. test the UI of your site)
- Form Entry
- Back/Refresh/Forward Navigation
- Hovers
- Drag and Drop
- File Uploads
- IFrame Support
- Copy-to-Clipboard Support

We have a fully free tier, no credit card required, so we'd love for you all to show your support on PH, but also create accounts and get some use out of the tool. We're totally self-funded as well.

Thanks for all of your support!
Encapsulation, as applied to an RPG
Tags: devbits, beginners, oop
Published: 2020-04-10 19:01:56

---
title: Encapsulation, as applied to an RPG
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/srbyheu0azewpsi1yxtk.png
published: true
description: An example of encapsulation (object-oriented principle) as applied to an RPG.
tags: #devbits #beginners #oop
---
This is the first article in a series I'm doing called *DevBits*. These are mini-articles that will show how programming concepts can be applied.

---

You’re making an RPG.

You have a `Character` (class) who has `health` and `armor` (private fields).

Among other things, a `Character` can `heal()` or `takeDamage()` (public methods).

`heal()` increases `health`.

`takeDamage()` decreases `health` based on `armor`.

Other objects are not able to modify the `health` of a `Character` directly, rather, they can only call the methods exposed by the class.

This is encapsulation.



######Cover image was created by [Buch](https://opengameart.org/users/buch).
Writing to an existing PDF with FPDI
Published: 2020-05-07 23:49:48

---
title: Writing to an existing PDF with FPDI
published: true
date: 2020-04-10 19:00:35 UTC
tags: 
canonical_url: https://dcblog.dev/writing-to-an-existing-pdf-with-fpdi
---

 **FPDI** allows existing PDF's to be used as a template for a new PDF. Whilst this does not give the ability to edit a PDF it can import one and add to it.

The FPDI extends FPDF so a copy of the latest version will be needed to use, place it in the same directory or update paths to it as needed.

It's recommended to use composer to install the library, you can do it like this:

In a composer.json file add the dependencies:

```php
{
    "require": {
        "setasign/fpdf": "1.8.*",
        "setasign/fpdi": "^2.0"
    }
}
```

Then do a  **`composer install`**  in a terminal this will generate a vendor folder where the libraries are installed into.

Here's an example with comments.

```php
<?php
require_once('vendor/autoload.php');

use setasign\Fpdi\Fpdi;

// initiate FPDI
$pdf = new Fpdi();

// add a page
$pdf->AddPage();

// set the source file
$pdf->setSourceFile("demo.pdf");

// import page 1
$tplId = $pdf->importPage(1);

// use the imported page and place it at point 10,10 with a width of 100 mm
$pdf->useTemplate($tplId);

// The new content
$fontSize = '15';
$fontColor = `255,0,0`;
$left = 16;
$top = 40;
$text = 'Sample Text over overlay';

//set the font, colour and text to the page.
$pdf->SetFont("helvetica", "B", 15);
$pdf->SetTextColor($fontColor);
$pdf->Text($left,$top,$text);

//see the results
$pdf->Output();  
```

There are no built in options to get the page numbers so if you want to add them you need to know how many pages the PDF has then loop over them like this:

```php
//optionally add additional pages, start the $i after the current page ie start from 2
for ($i=2; $i < 6; $i++) {
    $pdf->AddPage();
    $tplId = $pdf->importPage($i);
    $pdf->useTemplate($tplId);
}
```