teleren/devto huggingface dataset:
What is the difference between text faces and emojis?
Tags: textfaces, kawaiiface, fac, face
Published: 2020-03-29 03:46:03

About this Textfaces.us website
Welcome on one of the best and huge collections of text faces website, we have created this website so people can use these text faces<a href="https://www.textfaces.us/">text faces</a> in their online activity whether it's on Facebook, Twitter or sending someone directly a text message.

Not just text faces we also have added text emoji and text symbols so you can use them also.

What is the difference between text faces and emojis?

The difference between text faces and emojis is quite huge because of the nature of emoji, Emoji does not support all kinds of devices but <a href="https://www.kawaiifaceguru.com/">kawaii faces!</a> can be supported in all kinds of devices. because it's just a text form, not emoji or says it's not any kind of image that's why text faces are going to be supported in h100% devices so you can use them to communicate with someone on Facebook, Instagram, Twitter or even WhatsApp or send someone a text message
.<a href="https://tagifind.com/">more visit this site....</a>
Palindrome Elegance 
Published: 2020-03-29 03:10:35

Playing with a little C++ I eventually came across the problem of checking to see if a string of characters is a palindrome or not.  Using a solution I've had success with I gave this to the compiler...
```
#include <iostream>
using namespace std;

int main() {
	string word = "";
	string test = "";

	cout << "Enter something: ";
	cin >> word;

	for (int i = word.length() - 1; i >= 0; i--) {
	    test = test + word[i];
	}

	word == test ? cout << "Palendrome!\n" : cout << "Not.\n";

}
```
Like before, this did the job.  I was curious though.  There must be a better way to solve this problem.  A quick search around provided me this gem.
```
bool is_palindrome(string text) {
	int start = 0;
	int end = text.length() - 1;

	while (end > start) { 
	    if (text[start++] != text[end--]) {
		return false;
	    }
	}
	return true;
}
```
Right off the bat I'm liking this solution more.  Where taking a word and creating a reverse of it seems like the right approach, this second solution proves it to be too labor intensive.  Our while loop iterates over what should be two equal characters and compares them.  As soon as two don't match, not a palindrome.
How I automated the React + Redux development process.
Tags: react, redux, bash, node
Published: 2020-03-29 02:40:20

I worked on a medium-scale React.js project, which used Redux.js as it's state management tool sometimes last year. I got really bored having to repeat the process of declaring and importing "types" when I need to use a new "type",  it got worse when I had to set up the project, repeating the process of creating actions, types, and reducers folders, I got bored. "There has to be an alternative," I thought.

So I embarked on a search on GitHub and NPM for an alternative solution. Although I found options like davezuko/react-redux-starter-kit on Github and @reduxjs/toolkit on NPM, these didn't solve the exact problem I had - repeating the same processes over and over again. So I had to create a solution by myself.

## The Problem

Coming from a problem definition to problem solution perspective, I defined my problems as below : 

1. The process of setting up react-redux is boring and repetitive.

2. Having to create a "type" file and create it's "action" and "reducer" file equivalent is stress.

3. Having to create and export a new type in a "type file", then importing the type in the use destination drains focus.

4. Every "reducer" file has the same template, so creating a new reducer file is repetitive in a way (unless doing a copy-and-paste).

5. Creating a new "reducer" file, importing in the rootReducer file and adding it to the "combineReducer" function is repetitive.

## The solution

So I created a shell script with Node.js that handles all these problems.

The script is divided into modules, a "setup" module, and a "watch" module

the "setup" module SETS UP Redux in a basic React.js project by running the command "redux-helper setup" (The Project has to be structured like it was created with Create React App) as seen below. 


{% youtube QHw_K6fZym8 %}


The "watch" module WATCHES the project after REDUX has been setup and automates basic tasks like :


1. Synchronizes files across the actions, type and reducer folders respectively
 (If a type file, a reducer file, or an action file is created, it creates it's equivalent. 
)

{% youtube 7iPD5gisQgw %}

2. Exports newly created files in the respective index files, and in the case of a reducer file, it imports It in the index file, and add the import to the combine reducer function.

{% youtube AY7d_hM9keM %}


3. A new redux “type” can be created anywhere from the corresponding action to the corresponding reducer file by using the shortcut !NT “type name” (and the newly created type is exported from the corresponding type file )

{% youtube rez_1OFMw9Q %}


4. A "reducer" and "type" file is created with a basic template, 

{% youtube 7iPD5gisQgw %}
 

Phew! something that finally suits my needs..

The code is hosted here on Github if you care 😇. 

{% github Orsunmigbare/react-redux-helper %}


Kindly share your thoughts and let me know what you think about this project. Happy coding and stay at home guys ☺️.
FTP Seer API + FTP Seer Client Google SEO
Tags: ftpseer, ftpseerapi, ftpseerclient, seer
Published: 2020-03-29 02:13:08

# My open source project FTP Seer is on Google Search now. Yay!!! 🦄
<hr/>
### Background of FTP Seer 💎

Back in the days, when I was working on an in-house project where the client requirements are to gather application logs from remote server using FTP protocol and show it on their admin portal, I needed a backend API to fetch directory list and get file contents.

I found the [JSFTP library](https://www.npmjs.com/package/jsftp) which is pretty useful for my case and decided to put that in my tech stack. After that, I use Node and ExpressJS to serve http server to create a RESTful API which has now become the [FTP Seer API](https://ftpseer.herokuapp.com/)

### Continue to develop 😎

The API serve its purpose and the in-house project was done. However, I felt the need to make it open-source and create a full-stack application so that other developers can utilise it as well. So, starting from three or four months back, I picked up the old API in my archived repository and  polished it by refactoring. I even wrote a landing page so that people can test the API just by the first visit.

### Giving it a demo client application 💄

In order to properly use it, I also created a frontend application with a framework that I was obsessed with back then which is Svelte and Sapper framework to serve it universally (Client, Server-Side, Service-Worker).
The demo frontend application becomes [FTP Seer Client](https://ftpseerclient.herokuapp.com/).

### Deploying the apps ⚙️


For deployment, since I didn't intend to purchase a domain for it, I used Heroku to deploy on their domain. I set up a CircleCI CI/CD pipeline so that whenever I push my latest commit it will deploy to heroku. The pipeline is available below
FTP Seer API - https://circleci.com/gh/m3yevn/ftp-seer
FTP Seer Client - https://circleci.com/gh/m3yevn/ftp-seer-client

and the configuration is at 
https://github.com/m3yevn/ftp-seer/blob/master/.circleci/config.yml
https://github.com/m3yevn/ftp-seer-client/blob/master/.circleci/config.yml

### Making them available on Google 🌎

However, Heroku domains are bad in SEO search results, therefore I used meta tags to provide suitable keywords, images, authors to make Google to crawl properly. I used Google Search Console and get verification meta tags , add them on the respective index.html and we're good to go.

### The final result is shown in the cover image where you can see both FTP Seer applications when you make a search on Google.
<hr/>

#### Stay safe and Thanks for reading! ❤️

##### Catch up with me at https://kevinmoemyintmyat.gitlab.io
I made this Covid-19 tracker. Please leave your thoughts
Tags: showdev, react, covid19
Published: 2020-03-29 01:55:31

Trying to make the best use of my lockdown time and being tired of answering all the numerous questions that my friends and family asked me about the pandemic, I made this covid19 tracker to track cases all around the world. It's open-source so feel free to check out the Github repo. You can also check out the live version [here](https://focused-lichterman-aad973.netlify.com). Here's a short gif that shows the tracker in action

{% twitter 1242664113681117185 %}

{% github https://github.com/manan30/covid19-tracker %}

Feel free to leave your comments and thoughts in the discussion section below.

You can also find me on [Twitter](https://twitter.com/Manan_30) and [Instagram](https://www.instagram.com/manan__joshi/).
Stripe: Easy Payment Processing for Developers
Published: 2020-03-29 01:35:38

Stripe is a full payment processing platform targeted for developers. It allows you to make subscriptions, charge credit cards, use Apple Pay, and much more as a third-party payment gateway. Stripe shoulders the  PCI compliance, which is an expensive and stringent security certification for anything that requires the server to hold credit card data. So by using Stripe, we can bypass having to do all of that ourselves and can integrate it in our full-stack web apps without doing the hard stuff ourselves. 

Stripe has great and easy to use documentation on how to integrate payments with your app. The main components you will need to make it work are a token, a name, and a secret key. Here is a sample promise:

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

The token and the secret key will be static with your account and remember to keep the secret key hidden with git.ignore. The only remaining thing to implement is the form for name and CC details. This is my super basic implementation:

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

Once you submit the form the fetch will send that data to Stripe and send back a response. As you can see here we got a successful token and processed payment!

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

I look forward to building in more complex functionality, but Stripe is super easy to set up and begin playing with. I recommend anyone who wants to take the hassle out of payment processing to use Stripe!
It's A Scary Time Right Now.
Tags: discuss
Published: 2020-03-29 01:18:40

We're all in a weird time right now with COVID-19. We don't know when we will return to work, be able to leave the house or see friends. There's so much uncertainty that it's quite scary.

One thing to keep in mind is to find yourself to keep learning. To keep trying to learn new things and see where you can take yourself. One way to do this is to ramp up some of those old tutorials on how build fun things. You know, things that will keep you moving and shaking in this crazy world of code! 

In the past few days I've build a YouTube clone, a book app that pulls information from Google Books and kept myself learning from new areas that always give me trouble. 

It's a scary time for sure, but have some fun and find something new that can keep you moving to keep your knowledge sharp and ready.
DevTo - New Users Automatically Added To Followers List
Tags: discuss, help
Published: 2020-03-29 00:51:08

I am not sure if I am mildly delusional or when a new user joins dev.to, they automatically get added to my followers list.

I got like 10 -12 new followers in the last day or two. I have never had any contact with them and when I visit their profiles, they are mostly blank besides their name and the date they join 3/27-3/28(today). 

Am I missing something? Or people who just joined dev.to really begin their journey by following others?
Overview of JDBC
Tags: javascript, database
Published: 2020-03-29 00:28:57

# JDBC (Java DataBase Connectivity)

## Overview
**JDBC** stands for **J**ava **D**ata**B**ase Connectivity , it is the standard API
for connection between the Java programming language and wide range of databases, including: 
Oracle, Mysql, PostgreSql, Sqlite ...

### JDBC Architecture
JDBC API consists of two layers:

* JDBC API: Provide Java application to JDBC Manager connection.
* JDBC Driver API: Provide JDBC Manager to  Driver Connection.

Each Database (Oralce, Mysql ...) has its Driver, which needs a DriverManger to ensure that 
each Database use its driver.

Here is a Driagram representing the JDBC Architecture:

![Jdbc Architecture Diagram](https://www.tutorialspoint.com/jdbc/images/jdbc-architecture.jpg)

### JDBC Components

JDBC API provides the following classes and interfaces:

* **DriverManager** *(Class)* : This class manages the list of databases drivers.
* **Driver** *(Interface)*: This interface handles the connection with the database, you will use this interface rarely. Instead you will use the *DriverManager* object to connect with the database.
* **Connection** *(Interface)*: This interface represents the connection between the java application and the database. All communication with the database is through this object.
* **Statement** *(Interface)*: You use object created from this interface to create SQL queries.
* **ResultSet** *(Class)*: This object holds data retunred from the databse, it acts as an iterator.
* **SQLException** *(Exception class)*: This class handls any error that occurs while connecting to the database.
* 
## Drivers
In order to connect to a specific database. We need to load it's driver through a .jar file


If you are using *IntellijIDEA*, You can import the jar file by:


```Edit> Project Structure > Libraries > + > Java > *select the jar file*```

We need also the **jdbc driver name** and **db url**, here is a summary: 

| Database | JDBC Driver Name                | DB URL                                 | JAR file |
|----------|---------------------------------|----------------------------------------|----------|
| Oracle   | oracle.jdbc.driver.OracleDriver | jdbc:oracle:thin:@hostname:port:dbname | [download]([link](https://www.oracle.com/database/technologies/jdbcdriver-ucp-downloads.html)) |
| MySql    | com.mysql.cj.jdbc.Driver        | jdbc:mysql://hostname/dbname           | [download]([link](https://dev.mysql.com/downloads/connector/j/)) |
| Sqlite   | -                               | jdbc:sqlite:/root/dbfile.db            | [download](lihttps://bitbucket.org/xerial/sqlite-jdbc/downloads/nk) |
Make your own Dev.to CMS livestream - Part 2
Tags: livecoding, react, typescript, nextjs
Published: 2020-03-29 00:08:08

This is day 2 of my livecode Dev.to CMS. See [Day 1 here](https://dev.to/swyx/make-your-own-dev-to-cms-livestream-part-1-2ad1)

Source: https://github.com/sw-yx/dev-to-cms
Demo: https://dev-to-cms.now.sh

## Things covered

- Syntax Highlighted Editors (Monaco, Prism.js, finally Highlight.js)
- React Hook Form: https://react-hook-form.com/
- React Query: https://github.com/tannerlinsley/react-query
- Tailwind UI: https://tailwindui.com/

## Video

Here is [the YouTube livestream (3 hours)](https://youtu.be/SmpsdMZxy8I).

Dev.To embed:

{% youtube SmpsdMZxy8I %}

For the 1st half, it was pretty easy going. I was mostly pulling components off of Tailwind UI and assembling an editor!

For the 2nd half, I mainly faced issues with trying to integrate Monaco and then Prism.js. Finally landed on Highlight.js.


## Catch up on the Dev.to CMS LiveStream!

- [Day 1 - Setup Next.js and Tailwind UI, list posts through API routes](https://dev.to/swyx/make-your-own-dev-to-cms-livestream-part-1-2ad1) - 90 mins
- [Day 2 - setting up a Markdown Editor with Next.js, Tailwind UI, Highlight.js, React Hook Form, and React Query](https://dev.to/swyx/make-your-own-dev-to-cms-livestream-part-2-6mf) - 3 hours
- Quick Fix - [How To Add Monaco Editor to a Next.js app](https://dev.to/swyx/how-to-add-monaco-editor-to-a-next-js-app-ha3) - 18 mins
- [Day 3 - Refactoring to Edit Existing Posts](https://dev.to/swyx/make-your-own-dev-to-cms-livestream-part-3-c65) - 3 hours
- [Day 4 - Polish Day! Implementing Notifications, Markdown preview, and programmatic Redirects, and Using Web Components in Next.js](https://dev.to/swyx/make-your-own-dev-to-cms-livestream-part-4-6em) - 3 hours
- [Instant GraphQL with OneGraph - Screenshares in Public with Sean Grove](https://dev.to/swyx/instant-graphql-with-onegraph-4hi8) - refactoring handrolled Dev.to API access with OneGraph and GraphQL
- [How and Why to Un-Reset Tailwind's CSS Reset](https://dev.to/swyx/how-and-why-to-un-reset-tailwind-s-css-reset-46c5)
How to use your mobile device as CMS?
Tags: cms, jamstack, markdown
Published: 2020-03-29 21:17:09

---
title: How to use your mobile device as CMS?
published: true
date: 2020-03-29 00:00:00 UTC
tags: CMS, jamstack, markdown
canonical_url: https://www.raufsamestone.com/how-to-use-your-mobile-device-as-cms/
---

First of all, **it's not the recommended** way to writing content and push to your repository with mobile devices.

Maybe it just works if you cannot access your computer. Or maybe you can use this method when you cannot access your computer for your content that needs to be corrected very urgently.

You can use it on vacation or travel but you should enjoy your holiday and rest while on vacation. 🏝

Let's assume that this case is a **JAMstack** project and you use the **markdown** as a content database.

## Markdown Editors 📝

It will give you an advantage to write your contents using a markdown editor with preview feature.

### iA Writer

Whit this markdown editor, you can check your number of characters, words and sentences while the writings.

You can download [here](https://ia.net/downloads).

### Bear

It's advanced markdown editor for every text based things, quick notes to in-depth essays.

[https://bear.app/](https://bear.app/)

### Dillinger

Dillinger is an online cloud-enabled, HTML5, buzzword-filled Markdown editor, that you can easily use with the chrome browser on your mobile device.

[https://dillinger.io/](https://dillinger.io/)

### Notion

It's really powerfull fot relational notes, wikis, databases. Notion has desktop and mobile apps available, as well as a web-based interface. You create an account for yourself and your organization — the accounts are used to sync everything with Notion’s servers.

[https://www.notion.so/](https://www.notion.so/)

### Trello

Trello has excellent support for basic Markdown syntax.

[https://trello.com/](https://trello.com/)

## Generating URL

You have to generate SEO-friendly clean URLs for file names or file paths to slugs without CMS, as manually.

You can try a URL tools or case generators. Especially kebab case!

### What is Kebab Case?

In kebab case, all letters are written in lower case and the words are separated by a hyphen or minus sign. "Kebab Case" becomes "kebab-case".

[https://en.toolpage.org/tool/kebabcase](https://en.toolpage.org/tool/kebabcase)

## Deploy

Of course, it is very difficult to access your git repository from mobile devices. Instead, you can try deploy methods using the APIs of the markdown editors above.

But the best method is to open your git repository in your mobile browser and create a new branch.

Upload your content file and merge it.

## What about current Headless CMSs?

There are of course content tools in many CMSs. However, the rich text editor or markdown editors in these CMS, do not work very well on mobile devices, as compatible as the stable apps above. Also not at the editorial level.

And yes, this post is written with a mobile device. 😀
Weekly Roundup 25
Tags: weekly, links
Published: 2020-04-01 01:19:42

---
title: Weekly Roundup 25
published: true
date: 2020-03-29 00:00:00 UTC
tags: weekly, links
canonical_url: https://www.ankursheel.com/blog/weekly-roundup-25
---

Every week I come across some great articles. Here are some of the posts I feel you will enjoy reading as much as I did.

What does Serverless mean? Is it just a meaningless buzzword? **Burke Holland** thinks Serverless isn’t a single concept but 3 concepts which can be described as the [Laws of Serverless](https://burkeholland.github.io/posts/laws-of-serverless/).

**Christian Oliff** has a [deep dive on the _inputmode_ attribute](https://css-tricks.com/everything-you-ever-wanted-to-know-about-inputmode/). It’s a great way to instruct the browser about which keyboard to display.

The **team at Netlify** has a great post on how they [developed a shared terminology for code reviews](https://www.netlify.com/blog/2020/03/05/feedback-ladders-how-we-encode-code-reviews-at-netlify/). I was so inspired by this approach that we have started using a variation of this in our code reviews.

**Ramit Sethi** from I will teach you to be rich talks about the [5 levels of freedom](https://www.iwillteachyoutoberich.com/blog/the-ladder-of-freedom/) and the changes he has made to move up the ladder of freedom.

How do you [decide when your monolithic application is no longer optimal](https://semaphoreci.com/blog/2017/03/21/cracking-monolith-forces-that-call-for-microservices.html) and you should move to a microservices architecture? **Marko Anastasov** shares the 2 classes of problems that youshould run into before decomposing the monolith.

Hope you enjoy reading these articles as much as I did.
World of WoqlCraft - Ep.1 making type opjects
Tags: tutorial, database, python, schema
Published: 2020-03-28 23:52:15

---
title: World of WoqlCraft - Ep.1 making type opjects
published: true
description: First episode of World of WoqlCraft! We try to use the type provided form Schema.org to construct our schema objects in TerminusDB (p.s. sorry my connection got cut off, gonna fix this internet problem soon)
tags: Tutorial, Database, Python, Schema
---
First episode of World of WoqlCraft! We try to use the type provided form Schema.org to construct our schema objects in TerminusDB (p.s. sorry my connection got cut off, gonna fix this internet problem soon)

If you want to catch me streaming live, follow me on [Twitch](https://www.twitch.tv/cheukting_ho).