teleren/devto huggingface dataset:
Improved Compatibility with Power Pivot, Visual Basic, and RStudio in ODBC Drivers
Tags: odbc, database, connectivity, postgres
Published: 2020-04-13 14:16:39

---
title: Improved Compatibility with Power Pivot, Visual Basic, and RStudio in ODBC Drivers
published: true
description: Devart introduced new versions of ODBC drivers for Oracle, PostgreSQL, QuickBooks, and xBase. The updated drivers got improved compatibility with Power Pivot, Visual Basic, and RStudio. 
tags: ODBC, database, connectivity, Postgres
---
*Devart introduced new versions of ODBC drivers for Oracle, PostgreSQL, QuickBooks, and xBase. The updated drivers got improved compatibility with Power Pivot, Visual Basic, and RStudio.*

Devart, a recognized vendor of connectivity solutions for various databases and cloud services, released new versions of [ODBC Drivers](https://www.devart.com/odbc/) for Oracle, PostgreSQL, QuickBooks, and xBase. The new versions of drivers feature enhanced compatibility with Power Pivot, Visual Basic, and RStudio. In particular:

**1 -** One of the updates in ODBC driver for xBase is improved compatibility with Microsoft SQL Server Management and Power BI Desktop. It got an improved file access mechanism and the new connection parameter, which forces the driver to ignore errors in database indexes.

**2 -** The updated ODBC driver for Oracle supports long database identifiers, and also got a new connection parameter.

**3 -** ODBC driver for PostgreSQL now supports materialized views. Access to the data in a materialized view is much faster than accessing the underlying table directly or through a view, although the data itself is not always fresh.

**4 -** The token lifetime was significantly increased in the QuickBooks ODBC driver, which eliminates the need for the user to regularly authenticate the driver to QuickBooks.

Learn more about the recent release by visiting Devart’s blog article https://blog.devart.com/odbc-release-postgresql-oracle-quickbooks-xbase.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/.
Build a Contact Form with VueJS, Firebase & Postmark
Tags: javascript, webdev, vue
Published: 2020-05-10 12:36:06

---
title: Build a Contact Form with VueJS, Firebase & Postmark
published: true
date: 2020-04-13 14:08:14 UTC
tags: javascript,web-development,vuejs,vue
canonical_url: https://medium.com/swlh/build-a-contact-form-with-vuejs-firebase-postmark-510f484f15b
---

[![](https://cdn-images-1.medium.com/max/1050/1*OW1HQ-zNRpqA3WI6UJlBQg.png)](https://medium.com/swlh/build-a-contact-form-with-vuejs-firebase-postmark-510f484f15b?source=rss-8818e5bb5014------2)

Send email with Vue JS and Postmark

[Continue reading on The Startup »](https://medium.com/swlh/build-a-contact-form-with-vuejs-firebase-postmark-510f484f15b?source=rss-8818e5bb5014------2)
use-custom-hook: Custom React Hook starter
Tags: react, hooks, javascript, git
Published: 2020-04-13 13:29:55

Make spinning up and publishing a new custom React Hook easy!

[github.com/colbyfayock/use-custom-hook](https://github.com/colbyfayock/use-custom-hook)

## How to get started

* `git clone https://github.com/colbyfayock/use-custom-hook [directory]`
* `cd [directory]`
* `yarn install && yarn setup`
* `cd [hook-name] && npm publish`

## What you get
* A ready-to-use hook source
* A next.js example / demo page
* Scripts ready to compile both

## Want more?
Let me know what you think this is missing.

## Enjoy!

[github.com/colbyfayock/use-custom-hook](https://github.com/colbyfayock/use-custom-hook)

Get more content straight your inbox!
-------------------------------------
* 🐦 [Follow me on Twitter](https://twitter.com/colbyfayock)
* 📹 [Subscribe to my Youtube Channel](https://youtube.com/colbyfayock)
* 🗞️ [Sign up for my Newsletter](https://www.colbyfayock.com/newsletter/)
Daily Challenge #224 - Password Validator
Tags: challenge
Published: 2020-04-13 13:28:03

---
title: Daily Challenge #224 - Password Validator
published: true
series: Daily Challenge
description: Write a brief validator to ensure that clients are using appropriate passwords.
tags: challenge
---
Write a quick password validator to make sure that the people that visit your site use appropriate passwords. 

Respond with "VALID" if the string meets the requirements or "INVALID" if it does not.

*Requirements:*
More than 3 characters but less than 20.
Must contain only alphanumeric characters.
Must contain letters and numbers.

*Examples*
'Username123!' => INVALID
'123' => INVALID
'Username123' => VALID

*Tests*
'Username'
'IsThisPasswordTooLong'
'DEVCommunity'

Good luck!
***
_This [challenge](https://www.codewars.com/kata/59c01248bf10a47bd1000046) comes from jhoffner on CodeWars. Thank you to [CodeWars](<https://codewars.com/>), who has licensed redistribution of this challenge under the [2-Clause BSD License](<https://opensource.org/licenses/BSD-2-Clause>)!_

_Want to propose a challenge idea for a future post?  Email **yo+challenge@dev.to** with your suggestions!_
Pardus Canlı Sistem Görüntüsü(.iso) Alma ve Kurulumu
Tags: pardus, live, iso, systemback
Published: 2020-04-13 13:27:17

Pardus'ta canlı sistem görüntüsü almayı ve bilgisayara yükleme işlemlerini anlatacağım. Debian 9 temelli diğer sistemlerde de çalışmaktadır. Kuruluma geçmeden önce hangi Pardus sürümü yüklü ise Pardus'un sitesinden iso'sunu indiriniz. Aşağıdaki komut ile sürümünüze bakabilirsiniz.
<pre>
lsb_release -a
</pre>
![lsb_release -a](https://i.ibb.co/VL8cNMZ/Screenshot-2020-04-13-13-14-56.png)
Örneğin çıkan seçenek yukarıdaki gibi ise [buradan](http://indir.pardus.org.tr/ISO/Pardus19/Pardus-19.2-XFCE-amd64.iso) iso'yu indiriniz.(XFCE olduğunu varsayıyorum. Eğer GNOME ise sitesinden indirebilirsiniz.)

Şimdi yapmamız gereken işlem Systemback uygulamasını yüklemek. Bunun için aşağıdaki adımları takip ediniz.
<pre>
sudo apt install git
git clone https://github.com/fconidi/systemback-install_pack-1.9.3.git 
cd systemback-install_pack-1.9.3/
sudo chmod +x install.sh
sudo ./install.sh
</pre>
./install.sh dedikten sonra 1'e basarak Debian 9.0 (Stretch)'i seçmeniz gerekmektedir. Aksi takdirde sistem çökebilir. Yükledikten sonra ister sudo systemback komutuyla isterseniz de menüden systemback diye aratıp programa giriniz.

![login](https://i.ibb.co/DWwJhDg/Screenshot-2020-04-13-13-51-19.png) 

![main](https://i.ibb.co/GQvSrWD/Screenshot-2020-04-13-13-53-30.png)
Live system create butonuna tıklayınız. Ardından gelen pencereden Create New butonuna tıklayınız. Bu işlem uzun sürecektir.

![isomain](https://i.ibb.co/rkSMfDw/Screenshot-2020-04-13-13-55-36.png)

İşlem tamamlandıktan sonra Convert to ISO butonu aktif olacaktır. Butona tıklayarak iso'ya dönüştürün. Dönüştürme işlemi tamamlandıktan sonra /home dizininin altında systemback_live_XXXX-XX-XX.iso oluştuğunu göreceksiniz.

**Oluşturduğumuz iso'yu arşiv yöneticisi ile açınız. Ardından Pardus'un sitesinden indirdiğimiz iso'yu da arşiv yöneticisi ile açınız. live/ dizininin altındaki tüm dosyaları(initrd.gz, filesystem.squashfs, vmlinuz) orjinal iso'nun içerisindeki live/ dizinine atınız.** 

Ardından orjinal iso'yu usb'ye yazdırınız ya da sanallaştırma uygulamasından seçiniz. **Normal kurulum diyerek usb'den kurulum yapabileceğiniz gibi canlı sistemi başlattıktan sonra da kurulum yapabilirsiniz.** Bunun için aşağıdaki adımları takip ediniz.

Sistemi Pardus Çalışan olarak başlatınız. İmajı aldığımız sistemin canlı olarak başlatığını göreceksiniz. Kurulum için aşağıdaki komutları çalıştırın.

<pre>sudo apt installer debian-installer-launcher debian-installer
debian-installer-launcher --text
</pre>
Dilerseniz --text eklemeden GUI ile kurulum yapabilirsiniz. Ben GUI kullanmadan yükleme yapmayı tercih ediyorum.
Aşağıda kurulum aşamaları sıralı şekilde verilmiştir.
![installer](https://i.hizliresim.com/D5OavU.gif)
Inheritance, as applied to an RPG 
Tags: devbits, beginners, oop
Published: 2020-04-13 13:05:08

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

---

You’re making an RPG.

You have a `Character` (class) who has `health` (field).

A `Character` can `move()` or `attack()` (methods).

A `Player` (child class) is a type of `Character`, but also has `experience` (field).

An `Enemy` (child class) is a type of `Character`, but also has `loot` (field).

`Player` and `Enemy` both share the same fields and methods from `Character`, but can have any additional fields of their own. 

This is inheritance.



######Cover image was created by [Buch](https://opengameart.org/users/buch).
Boilerplate: NuxtJS + Express server + Jest, all in Typescript
Tags: typescript, javascript, vue, nuxt
Published: 2020-04-13 12:59:34

---
title: Boilerplate: NuxtJS + Express server + Jest, all in Typescript
published: true
description: A starter project for NuxtJS with Express, all in Typescript
tags: typescript, javascript, vue, nuxt
---

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

I was searching for a starter project which would combine:

- NuxtJS in Typescript (+best practises for components)
- ExpressJS as backend in Typescript
- in one repository
- with configured Jest runners for backend and frontend
- Dockerfile [bonus]

But I haven't found any.

So I created one:

https://github.com/svitekpavel/nuxtjs-express-typescript

Take a look at `README.md` but also at `components/User.vue` and `components/User2.vue` for sample usage in components.

I hope it helps.
PnP Tips - Retrieving Graph info from the command line
Tags: productivity, powershell, office365, graph
Published: 2020-04-13 12:58:51

This is the third article from the _PnP Tips_ series and today I want to show you how easy it is to retrieve information from [**Microsoft Graph**](https://developer.microsoft.com/en-us/graph) if you have a connection to your SharePoint Online using the command line.

> _I consider you know what is [**Microsoft Graph**](https://developer.microsoft.com/en-us/graph) used for and what kind of information you can get. The more methods Microsoft is adding to the suite the more data you can work with from the users' actions. As an example, you can get people that are relevant for you based on the work you are doing._

Let's imagine your manager asks you for a list of all your tenant accounts to create some kind of reports base on their properties. The first thing we must do is open a PowerShell session and run the `Connect-PnPOnline` with your tenant URL as the parameter.

```PowerShell
# Connecting to one of your site collections
Connect-PnPOnline https://<tenant name>.sharepoint.com/sites/<site URL>

# Connecting to the admin site
Connect-PnPOnline https://<tenant name>-admin.sharepoint.com
```

The next thing you should do is to prepare the stuff need to call the proper _Graph_ method. One of the most important things is to set the authentication header, your call will not work if you don't have the proper access token. The authentication header must contain the word **"Bearer"** as the type followed by a valid token that we can easily get using the `Get-PnPAccessToken` command. Let check it out with this example:

```PowerShell
$Token = Get-PnPAccessToken
$Headers = @{ Authorization = "Bearer $Token" }
```

Now we are ready to get our tenant users using `Invoke-WebRequest` command and passing the proper graph URL. Check the following _gist_ where you will find the complete script.

{% gist https://gist.github.com/codingbugs-code/ab30dee642ecab47b2c80b7617334e84 %}

At this point, you can ask your manager about the report she wants to have and discuss the proper data to be included.

I know this is a simple scenario with a simple request but tries to throw light on processes that can seem difficult or implies more effort than the needed. The `Get-PnPAccessToken` and `Invoke-WebRequest` commands work well together when you need to use [**Microsoft Graph**](https://developer.microsoft.com/en-us/graph) to get information.
what is a object in javaScript
Published: 2020-04-13 12:38:54

object:-

   An object can be created with figure    brackets {…} with an optional list of properties. A property is a “key: value” pair, where key is a string (also called a “property name”), and value can be anything.

We can imagine an object as a cabinet with signed files. Every piece of data is stored in its file by the key. It’s easy to find a file by its name or add/remove a file.
 

eg:  let user = {
      name: 'shubham', 
      age: 22
   }

 //here user is object & name and age is property and value is shubham and 21
Function to get a difference of two arrays in javascript
Tags: javascript, codenewbie, codequality, 100daysofcode
Published: 2020-04-13 12:36:30

Hello dev minds, Welcome again in a new episode of series called **javascript useful snippets**. In this series, I'm going to talk about some shortcodes and useful functions of javascript. These snippets can help you to make your development more efficient and faster. If you haven't read the previous episode please go first and check it from here otherwise stay tuned till the end to learn something new... 😊

#### Javascript Useful Snippets - difference() ####

We often need to get the difference between two arrays while development. difference() snippet can be used to get it done easily. This function will take two arrays as input and will return an array in output with unique records of both arrays.  let's check the syntax out....

```
const difference = (first, second) => {
     const comaparingSet = new Set(second);
     return first.filter(x => !comaparingSet.has(x));
}
```

Here, as snippets show we have two input arguments named first and second in order. In function first, I've created a constant of a new set of an array of the second argument by using Set web API *( for your knowledge - new Set() will create just a unique clone of the array and all duplicate entries )*. 

In return, I'm filtering the first array with the condition if comparingSet includes my record. here if the current record will be including into comparingSet then it'll store into filter array otherwise will be skipped. *(for your knowledge - new Set() prototype includes has() method to identify the existence of any record)*. Now let's look at the results...

```
const result = difference([1, 2, 3, 4, 5], [1, 2, 4]); // output:- [3,5]
```

As given the first argument, the second argument has fewer records so, as we see in the result it had returned the difference of both arrays in an array.  

{% youtube uCLjHMBJ-cQ %}

Thank you for watching/reading folks, if you found this informative and wanted to make me more content like this please support me on [Patreon](https://www.patreon.com/tutorialspot).  

Now, Guys in the next episode I'm going to share a function to get a difference by a function of two arrays.  so follow/subscribe to get notification... 

Subscribe on youtube https://www.youtube.com/channel/UCvNjso_gPQIPacA6EraoZmg

Facebook: https://www.facebook.com/KatharotiyaRajnish/

Twitter: https://twitter.com/tutorial_spot
Skemator: the easiest diagram scripting tool you will find
Tags: skemator, mermaid, diagram
Published: 2020-04-13 12:02:00

This post is to talk about a tool that I have just updated to 1.0.6 version: [Skemator](https://github.com/allnulled/skemator).

First, install it.

```sh
$ npm i -g skemator
```

You do not need to install it globally, but it is more handy.

Then, write a script:

`sample.skm`:

```
[Hello]
 [pets]
 [humans]
  [from]
   [here]
   [there]
 [plants]
 [mountains]
[here] --they are also--> [humans]
[there] --they are also--> [humans]
```

Then, compile the script to a `png` image:

```sh
$ skemator compile sample.skm --png
```

And tada! You got your diagram. Here it is:

![Generated diagram](https://dev-to-uploads.s3.amazonaws.com/i/xo5epamnv4vqsxxjg07a.png)

You are welcome, because it is What The Fuck Public License, so do what the fuck you want with it.

Happy coding.

I live with less than 100€. I do not ask for a job, I just want to smoke weed and live coding for everyone.

But nobody cares, they are competing to be dishonest and greedy.
Conditional Rendering in React
Tags: react, javascript
Published: 2020-04-13 12:30:50

Another method for conditionally rendering elements inline is to use the JavaScript conditional operator

```javascript
condition ? true : false
```
In the example below, we use it to conditionally render the data coming in props with loading.

here, we have a loading variable having type boolean
```javascript
const loading = false;
```

so, we can render the data in a conditional way like this, !loading is responding as true. so Loading will be rendered.
```javascript
{ !loading ? <p>Loading ...</p> : <p>{data}</p> }
```

Whole, code will something like this,
```javascript
import React from 'react';

const DemoConditional = function (props) {

    const { data } = props;
    const loading = false;

    return (
        <div>
            { !loading ? 
                <p>Loading ...</p> 
                : 
                <p>{data}</p> 
            }
        </div>
    );
};

export default DemoConditional;
```
Make it stick! Sticky headers in CSS 🦎🔝
Tags: css, webdev, beginners, tutorial
Published: 2020-04-13 12:14:04

CSS introduced the property `position: sticky` in 2012, one obvious application of this is for making sticky headers. 

The idea is straightforward: If an element has `position: sticky`, treat it as a normal `position: relative` block, as long as it’s on screen. If the user scrolls far enough that the element (let’s say it’s a `h1`) will move off the screen, but it's parent is still visible onscreen, treat it as though it were `position: fixed`. 

Initially, the problem with this property was that adoption was slow by some browser vendors, but that is no longer an issue, so we can embrace it without big reservations now! There is a caveat with tables, which I will discuss below.

## So, how do you make sticky headers with just CSS?

It’s super-easy! 

All you do is:

```css
.stayOnTop{
    position: -webkit-sticky;
    position: -moz-sticky;
    position: -ms-sticky;
    position: -o-sticky;
    position: sticky;
    top: 0;
}
```
The position is set through the properties: `top`, `left`, `right`, `bottom`. So, to have the element stay on top, use `top: 0;`. 

Using the browser prefixes is still necessary for some Browsers such as Safari, so it's best to add them all, and avoid cross-browser compatibility mishaps!

## Tables

One of the best use-cases for this is for bigggg tables. Tables where you want to see the column headers on top as you scroll down through your data.

There is one caveat though, Chrome and Edge have a bug with using `position: sticky` on `thead`. So, the way around this is to apply it to `th` instead.

{% jsfiddle https://jsfiddle.net/robjoeol/va2gfr0d/1/ result,html,css %}

You can use it to make sticky headers on the side and top for easy cross-referencing for big data sets, maybe you're showing scientific findings like below! So, it kind of mimics frozen rows in Excel!

{% codepen https://codepen.io/robjoeol/pen/KBQbNG/ %}

## Other Use Cases

- It is used often to make a sticky navigation bar when there is a hero section above it. The navigation bar becomes fixed when the user scrolls past the hero section.

{% jsfiddle https://jsfiddle.net/robjoeol/ox0hq581/1/ result,html,css %}

- I think the example below is cool, but it **requires some JS**. A reading progress bar for a blog post. Scroll to see it in action. You can get creative with `sticky` too! 

{% codepen https://codepen.io/robjoeol/pen/bGVpePR %}

I wrote a tutorial on this if you would like to learn more.

{% link https://dev.to/robole/pimp-your-blog-by-adding-a-reading-progress-bar-573i %}

## Browser Support

As long as you avoid using it on `thead`, you are good on the major browsers (see green-shaded squares in image below). IE be damned!😜

<a href="https://caniuse.com/#feat=css-sticky">![can i use table](https://dev-to-uploads.s3.amazonaws.com/i/ztu3y8oosh3dqq3moo0v.png)</a>
Daily Developer Jokes - Monday, Apr 13, 2020
Tags: jokes, dailydeveloperjokes
Published: 2020-04-13 12:00:08

---
title: "Daily Developer Jokes - Monday, Apr 13, 2020"
description: "Check out today's daily developer joke! (a project by Fred Adams at xtrp.io)"
series: "Daily Developer Jokes"
cover_image: "https://private.xtrp.io/projects/DailyDeveloperJokes/thumbnail_generator/?date=Monday%2C%20Apr%2013%2C%202020"
published: true
tags: #jokes, #dailydeveloperjokes
---

Generated by Daily Developer Jokes, a project by [Fred Adams](https://xtrp.io/) ([@xtrp](https://dev.to/xtrp) on DEV)

___Read about Daily Developer Jokes on [this blog post](https://xtrp.io/blog/2020/01/12/daily-jokes-bot-release/), and check out the [Daily Developer Jokes Website](https://dailydeveloperjokes.github.io/).___
### Today's Joke is...
![Joke Image](https://private.xtrp.io/projects/DailyDeveloperJokes/public_image_server/images/5e125952bbb70.png)

---
*Have a joke idea for a future post? Email ___[xtrp@xtrp.io](mailto:xtrp@xtrp.io)___ with your suggestions!*

*This joke comes from [Dad-Jokes GitHub Repo by Wes Bos](https://github.com/wesbos/dad-jokes) (thank you!), whose owner has given me permission to use this joke with credit.*

<!-- 
Joke text:
___Q:___ Where did the API go to eat?

___A:___ To the RESTaurant
 -->