teleren/devto huggingface dataset:
Form Builder by Webiny Serverless CMS
Tags: serverless, javascript, opensource, showdev
Published: 2019-12-05 09:32:39

---
title: Form Builder by Webiny Serverless CMS
published: true
description: Webiny Serverless CMS has a new app - a Form Builder.
tags: serverless, javascript, opensource, showdev
cover_image: https://thepracticaldev.s3.amazonaws.com/i/p8uj1hcealesg1obdb7d.gif
---

We at Webiny believe that serverless will be the future of development, but there is still much work to be done on the tooling, processes and application side. For that reason, we release our apps and tools under the open-source license. 


A crucial part of most websites are forms. Be that simple contact forms, or more complex lead generation forms. Businesses rely on these forms to generate revenue, grow their user base and even handle payments. Forms are everywhere.

## Webiny Form Builder

Like all other Webiny CMS apps, the Form Builder is designed to be deployed into a serverless environment. At the moment Webiny supports AWS, but the support for other cloud vendors is coming in 2020.


### Features

Webiny Form Builder features a Drag&Drop editor: 
![Webiny Form Builder Editor](https://thepracticaldev.s3.amazonaws.com/i/p8uj1hcealesg1obdb7d.gif)


It supports themes and customizations:
![Webiny Form Builder Themes](https://thepracticaldev.s3.amazonaws.com/i/70scgrxchvdb1o1b6afb.gif)

You can serve forms in multiple languages:
![Webiny Form Builder MultiLanguage support](https://thepracticaldev.s3.amazonaws.com/i/x1jwwqc4baks5liis7ql.gif)

There is so much more that the Form Builder offers. Developers can expand and change its functionality via plugins, there is a Webhooks integration as well as ReCAPTCHA and so on. 

## Live on Product Hunt

Today, on our launch day, the whole Webiny team is live on Product Hunt. We are happy to answer any questions there, and we would appreciate if you would show us your support:

https://www.producthunt.com/posts/form-builder-by-webiny


## Get Started

Here are the basic resources to get yourself familiarized with Webiny Form Builder:
- Product page: https://www.webiny.com/serverless-app/form-builder
- Documentation: https://docs.webiny.com/docs/webiny-apps/form-builder/introduction
- GitHub: https://github.com/webiny/webiny-js
Required Setting in Purpletree Opencart Product Video Extension
Tags: opencartvimeoextension, opencartproductvideoupload, opencartyoutubeextension, productvideoextension
Published: 2019-12-05 09:23:40


Purpletree Product video Extension use for add product video with the product on product detail page in a nice popup for Opencart store. Purpletree Product videos Extension is very easy to use. A product video is the best method for providing product-related information. With the help of product video, you can increase your product sell and the customer can watch your product all detail. Opencart product video upload supports YouTube and Vimeo videos. To add video with your product first, you can upload product video on “YouTube” or “Vimeo” then get the embed code for the video you want to show on the product page. This embed code enters the product detail page and saves the product detail. After that, the product video will show on the product detail page. It is also known Opencart product video extension, Opencart YouTube extension Opencart product video upload, and Opencart Vimeo extension.

How to add license
First of all, you can install an extension with the help of the user guide. Go to Extension >Extension >Select module> Find “Purpletree Product Video Upload”. After that, first, you can click on the install button thereafter click on the edit button. You will reach on the “Purpletree Product Video Upload” setting page. Here, you can enable the extension status and enter the license key.

Click on the “Get License” button. Enter License Key –This key is provided when you purchase the Extension.


Enter your valid license key in the license key box > click to Ok button > Click to blue color save button. Now your extension license will be activated.


Or

Go to Admin >Extension>Extension > Purpletree Product Video Upload > Edit Module > Click on “Don’t Have License key” button. Enter your Order ID which was generated when you placed an order for our extension and “Email ID”. Click on Submit Button and your license key will be filled on the License key field.


How to add video
Go to the navigations menu select catalog and click on it. Thereafter, click product add or edit button.


Get the embed code for the video you want to show on the product page. This can be easily obtained using these steps: http://bit.ly/2s2T4F6. Paste the embed code for YouTube or Vimeo and define the height and width of the popup for the chosen language tab.


Now click save button. You should see the video link in frontend in the product detail page.


Click on the video link will show Video in a nice popup.


PurpleTree product video upload supports Opencart version 3x and 2x. you can get Free Technical Support: 6 Months.

Get this extension at: https://www.purpletreesoftware.com/opencart-add-video-to-product-youtube-and-vimeo.html
MySQL 8.0+ error: The server requested authentication method unknown to the client
Published: 2020-05-07 23:54:44

---
title: MySQL 8.0+ error: The server requested authentication method unknown to the client
published: true
date: 2019-12-05 09:16:13 UTC
tags: 
canonical_url: https://dcblog.dev/mysql-80-error-the-server-requested-authentication-method-unknown-to-the-client
---

 ![MySQL 8.0+ error: The server requested authentication method unknown to the client](https://dcblog.dev/assets/images/blog/tutorials/mysql/mysql-80-error-the-server-requested-authentication-method-unknown-to-the-client.png) 

Upgraded MySQL to v8 and starting getting connection errors due to how MySQL 8 defaults to auth\_socket connections. Applications that use passwords will fail and generate the error:

```php
PHP with MySQL 8.0+ error: The server requested authentication method unknown to the client

```

The solution is to change the default authentication method to mysql\_native\_password.

```php
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password
BY 'password';  
```

Replace password with your password, if you don't use a password then enter it as ''

Thanks to this [stackoverflow post](https://stackoverflow.com/questions/52364415/php-with-mysql-8-0-error-the-server-requested-authentication-method-unknown-to)
Installing MongoDB with Homebrew
Tags: mongodb
Published: 2019-12-05 09:14:46

---

title: Installing MongoDB with Homebrew
description: Updated steps to install MongoDB on a Mac.
canonical_url: https://zellwk.com/blog/install-mongodb
tags: mongodb
published: true
---

I had to reconfigure my Macbook after sending it for repairs. During the reconfiguration period, I noticed the instructions I linked to in ["Setting up a local MongoDB connection"][1] were outdated.

Here's an updated version on how to install MongoDB on a Mac.


There are a few steps:

**First, you install Homebrew.** If you're curious about what Homebrew is, read [this article][2].

```bash
# Installs Homebrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```

**Second, find the MongoDB tap**.

```bash
brew tap mongodb/brew
```

**Third, install MongoDB**.

```js
brew install mongodb-community
```

MongoDB is now installed on your computer. To use MongoDB, you need to create the `/data/db` folder with this command:

```js
sudo mkdir -p /data/db
```

You also need to give permissions to use it:

```js
sudo chown -R `id -un` /data/db
```

Now you can follow the rest of [the article][3] to set up your MongoDB connection.

[1]:https://zellwk.com/blog/local-mongodb/ "Setting up a local MongoDB connection"
[2]:https://zellwk.com/blog/homebrew "Understanding Homebrew"
[3]:https://zellwk.com/blog/local-mongodb/ "Setting up a local MongoDB connection"

<hr>

Thanks for reading. This article was originally posted on [my blog](https://zellwk.com/blog/install-mongodb
).  Sign up for my newsletter if you want more articles to help you become a better frontend developer.
Notes on switching between Cobalt and Jekyll
Tags: cobalt, jekyll, rust, ruby
Published: 2019-12-05 08:23:12

---
title: Notes on switching between Cobalt and Jekyll
published: true
description: Notes on how migrate between the static site generators Cobalt and Jekyll
tags: cobalt, jekyll, rust, ruby
---


[Cobalt](http://cobalt-org.github.io/) aims to be mostly compatible with [Jekyll](https://jekyllrb.com/), I think to provide an easy pathway for larger complicated sites to migrate to a faster generator.

This post covers the other path from a Cobalt site to Jekyll.

The key changes were to layouts.

* The remove the extension from the layout identifier
* Remove quotes from include tags
* `page.content` is the raw content just `content` does the Markdown transformation
* Draft content should be within a `_drafts` folder rather than marked with a flag
BOOTCAMP CHALLENGES AND HOW I HAVE ADAPTED IN THE LAST FEW WEEKS
Published: 2019-12-05 07:42:15

Bootcamp has been a good experience so far and time goes by so quickly I can't believe we only have 2 days remaining to finish the Bootcamp. But even if we had good experience, challenges were there as well let me share some of the challenges I faced during the Bootcamp and how I have adapted.

In this Bootcamp they introduced a new program called STACK UP it was a bit challenging because when we came to the Bootcamp we were expecting that after passing the Bootcamp we shall join Andela after 1 month maybe but for the STACK UP we will have to wait for 3month before joining, it was not a good news for some of us who had their plans before this was one of the challenges we faced.

I like to say that when you want to move forward in life you have to find the best in every situation, for the STACK UP even if it might sound bad before but it's a good program as well because after explaining for us what is all about I figured out that after finishing those 3months of the STACK UP you will be proud to say that you a software engineer because during this program you will be able to level up:

-Technical skills: We will be able to meet brilliants minds I mean software engineers who will help us to increase our skills in programming

-Team skills: I know that in Andela you have to work in a team so with STACK UP we shall get an opportunity to increase these skills so that it can't be a problem in the future

-English speaking: We need to speak English professionally so with STACK UP we will be able to level up our English and also our public speaking
I know STACK UP will be an amazing experience so to speak

The second challenge I faced is because I did not have a background in software development I had to use all my strength to be able to work on the Bootcamp project. imagine coming from Hospitality and start to code this might sound impossible before but with passion and determination everything is possible.

I have adapted by being focused and always thinking why I started, I was very passionate about technology so when Andela came it was an opportunity for me to realize my dreams so when am feeling like quitting this gives me strength to move forward, this requires a lot of research, sleepless nights and to be open to the feedback.
When they tell me where to improve I take it positively and as an opportunity to grow. and of course, being in a group of different people who has their background, their way of thinking it is challenging but it is even colorful to get to meet new people and learn from them.

I am looking forward to seeing what the future holds in this career I can't wait to see myself growing in this field and inspire new generation as a Girl who came from zero coding skills to a senior Developer.
Bootcamp challenges and how I have adapted in the last few weeks
Published: 2019-12-05 07:24:45

Before starting the Bootcamp, I used to think of it as just a program where someone can only improve their programming skills through the help of learning facilitators and various resources given to you. But what I didn't know was you don't only get to improve your programming skills, you also learn other things including communication skills, team-working skills, and more. These are the challenges I have faced and how I have adapted in the last weeks.

On the first day, all Bootcamp members are separated into small groups where each group is given an LFA(learning facilitator assistant). This is someone who guides you in this period of two weeks. One of the jobs of an LFA is to review your codes and check on your progress periodically, then give you feedback on what you did good and what needs improvement. For the LFAs to do that, they must maintain a flawless communication with you. This was sometimes hard for me because in this Bootcamp we were working remotely I could be working on code improvement feedback and then be expected to hold up and attend to my LFA's video call. At first, it was a bit challenging because I had to implement all the feedbacks that were given to me to make my work better. But after a few days, I was able to adapt myself very easily, and I also got to learn how to properly schedule my tasks and also keep good communication with my LFA. Same goes with using Slack and many other tools that are used in the Bootcamp, you must have a quick and sharp mind to always be on point otherwise you would be left out and at the end of the day, you get to suffer the loss.

Another thing that was challenging during the Bootcamp in these last few weeks was being able to work and make sure you don't leave your teammates behind.  As I mentioned earlier, on the first day you assigned to a group with other team members that you will be working with for the upcoming days. After receiving your feedback from your LFA, you have to make sure that you implement those feedbacks way ahead of time to continue doing the rest. But let's suppose that you have a teammate that has some issues and you also received feedback from your LFA, it's gonna be hard to do both at the same time right? This was one of my biggest challenges, well I wouldn't say big in that context but big as in it was one of the challenges that I mostly faced. But you need to get adapted to all these things, which means I had to find a way I could make sure that all my teammates are working perfectly and that they are on a good scale. So what I could do is make sure I ask them if they have issues that they would need help for, I would recommend them to watch some tutorials on how to solve some of the problems or even share with them how I was able to go around the same issues they are facing.
Destructuring keys in clojure
Tags: clojure, destructuring, day5
Published: 2019-12-08 18:14:02

---
title: Destructuring keys in clojure
published: true
date: 2019-12-05 07:00:00 UTC
tags: clojure,destructuring,day 5
canonical_url: https://alexanderoloo.com/blog/2019/12/05/destructuring-keys-in-clojure.html
---

Oh, you think JSON is your ally? I do a lot work with JSON. So much so that my favourite library is a JSON parsing library ([cheshire](https://github.com/dakrone/cheshire)). The most tedious thing about working wiht JSON is pulling keys out of JSON objects over and over again.

<iframe src="https://giphy.com/embed/I8SQMuIELiw0w" width="300" height="214" frameborder="0" allowfullscreen=""></iframe>

Associative destructuring is the hero we need but don’t deserve. It’s syntactic sugar for extracting keys from an object in a way that makes code more readable. More readable code is more maintainable code. It’s made my life much easier.

Given the following map, that was created by parsing a JSON object using [cheshire](https://github.com/dakrone/cheshire):

```clojure
(def json-object {:fname "Alexander" :lname "Oloo" :handle "alekcz" :location "ZA"})

```

The standard approach to using data from within the map is as follows:

```clojure
(defn twitter-link [user]
    (str "<a href='https://twitter.com/" (:handle user) "'>" (:fname user) " (@" (:handle user) ")</a>")))
(println (twitter-link json-object))
; => <a href='https://twitter.com/'>Alexander (@alekcz)</a>

```

But when we use associative destructuring we get:

```clojure
(defn twitter-link [user]
    (let [{:keys [fname handle]} user]
        (str "<a href='https://twitter.com/" handle "'>" fname " (@" handle ")</a>")))
(println (twitter-link json-object))
; => <a href='https://twitter.com/'>Alexander (@alekcz)</a>

```

Isn’t that so much nicer? I think it is. It’s a pity I didn’t see transit until I was already a man.

_May your build always pass._

_Alex_

This post is part of the ["Advent of Parens"](https://alexanderoloo.com/blog/2019/12/01/advent-of-parens.html).
React Funnel
Tags: react, javascript, css
Published: 2019-12-05 03:19:45


Hi, I want to share a library that I am building. If you find a mistake I would like to be told to improve the library and as a developer.



<p align="center">
  <a href="https://github.com/xavivzla" rel="noopener" target="_blank"><img width="150" src="https://raw.githubusercontent.com/xavivzla/Funnel-React/dev/logo.png" alt="Funnel-react logo"></a></p>
</p>

<h1></h1>



<p align="center">
  <a href="https://github.com/xavivzla" rel="noopener" target="_blank"><img width="600" src="https://raw.githubusercontent.com/xavivzla/Funnel-React/dev/funnel.gif" alt="Funnel-react logo"></a></p>
</p>

## Install

```bash
npm install --save funnel-react
```

> or

```bash
yarn add funnel-react
```

## Test Library

[![Edit React-Funnel](https://codesandbox.io/static/img/play-codesandbox.svg)](https://codesandbox.io/s/react-funnel-jp1lc?fontsize=14&hidenavigation=1&theme=dark)




## Usage

```jsx

import { Funnel } from 'funnel-react';

```

## Simple example

```jsx

<Funnel
  height={252}
  colors={[ '#1890FF', '#BAE7FF' ]}
  valueKey='quantity'
  width={800}
  data={data} />

```

## Render prop example

```jsx
const data = [
  {
      "label": "Aceptados",
      "quantity": 135
  },
  ...{}
]

  <Funnel
  labelKey='label'
  height={252}
  colors={[ '#1890FF', '#BAE7FF' ]} // array or string : 'red' || '#666'
  valueKey='quantity' 
  width={800}
  displayPercent={true}
  data={data} />

```

| props          | Type            | Default Value          | Options      |
| -------------  |:--------------: | :--------------------: | :----------: |
| labelKey       | string          |                        |              |
| colors         | array or string | ['#FF4589', '#FF5050'] |              |
| valueKey       | string          |                        |              |
| width          | number          | container width        |              |
| displayPercent | boolean         | false                  | false / true |
| data           | array           |                        |              |

## License

MIT © [xavivzla](https://github.com/xavivzla)
Advent of Code 2019 Solution Megathread - Day 5: Sunny with a Chance of Asteroids
Tags: adventofcode, challenge, adventofcode2019, spoilers
Published: 2019-12-05 06:39:24

---
title: Advent of Code 2019 Solution Megathread - Day 5: Sunny with a Chance of Asteroids
published: True
description: It's getting hot in here. Let's fix the air conditioner so we don't have to take off all of our clothes in violation of Santa's company policy.
tags: adventofcode,challenge, adventofcode2019, spoilers
series: Advent of Code 2019 Solutions
cover_image: https://i.imgur.com/trkde92.png
---

Oof! The opcode from Day 2 is back with a vengeance.

### [Day 5 - The Problem](https://adventofcode.com/2019/day/5)
As we feared, the IntCode interpreter is back. It looks the air conditioning unit is also controlled by the same kind of IntCode interpreter as we worked on for our fuel manager, but with more options.

Part 1 was a doozy of trying to figure out why things were loading/unloading from the wrong places.

Part 2 felt more like a victory lap... but this may be because I had so many problems parsing what Part 1 wanted me to do.

This was tough, but more from a comprehension standpoint compared to the actual implementation... 

> _**Edit:** Early consensus is that the code is coming out “ugly”. So hopefully me noting this here will make people feel a little safer about sharing despite being self-conscious._

### Ongoing Meta

#### Dev.to List of Leaderboards

* `120635-5c140b9a` - provided by [Linda Thompson](https://dev.to/lindakatcodes) 

 If you were part of [Ryan Palo](https://dev.to/rpalo)'s leaderboard last year, you're still a member of that! 

If you want me to add your leaderboard code to this page, reply to one of these posts and/or send me a DM containing your  code and any theming or notes you’d like me to add. (You can find your private leaderboard code on your "[Private Leaderboard](https://adventofcode.com/2019/leaderboard/private)" page.)

I'll edit in any leaderboards that people want to post, along with any description for the kinds of people you want to have on it. (My leaderboard is being used as my office's leaderboard.) And if I get something wrong, please call me out or message me and I’ll fix it ASAP.

There's no limit to the number of leaderboards you can join, so there's no problem belonging to a "Beginner" *and* a language specific one if you want.

#### Neat Statistics

I'm planning on adding some statistics, but other than "what languages did we see yesterday" does anyone have any ideas?

**Languages Seen On Day 04**

* JavaScript x 5
* Python x 4
* Kotlin x 2
* Ruby x 2
* Rust x 2
* Clojure
* COBOL
* Elixir
* Haskell
* PHP
* Prolog
* Swift
* Zig
Closing the inner loop: Powershell & Bash
Tags: windowsterminal, powershell, bash, git
Published: 2019-12-17 23:08:14

---
title: Closing the inner loop: Powershell & Bash
published: true
date: 2019-12-05 06:31:18 UTC
tags: WindowsTerminal, Powershell, bash, git
canonical_url: https://mullineaux.com.au/2019/12/05/closing-the-inner-loop-powershell-bash/
cover_image: https://i2.wp.com/blogmullineaux.blob.core.windows.net/wordpress/2019/11/image-1575247600095.png?resize=1024%2C446&ssl=1
---

The new Windows Terminal has unleashed powerful customization options to one of a developer's most important and frequently used tools. We can take advantage of these new features to chip away at closing the **[inner development loop](https://mitchdenny.com/the-inner-loop)**.

[Continue reading](https://mullineaux.com.au/2019/12/05/closing-the-inner-loop-powershell-bash/)

The post [Closing the inner loop: Powershell & Bash](https://mullineaux.com.au/2019/12/05/closing-the-inner-loop-powershell-bash/) appeared first on [Casey Mullineaux](https://mullineaux.com.au).
git assume-unchanged. For when you want git to ignore an edit for a while
Tags: git, github
Published: 2019-12-05 06:09:33

Quite often, I find myself in the situation where I've updated a file but I don't want *git* to track that change.  Usually this is a temporary update to a config file.  

For example, right now I'm running my webapi locally and I've updated my angular environment.ts file to point locally.  I'll be working like this for a few days and I want to regularly commit and push my changes.  But I don't want to commit the changes to environment.ts.  I like to do *git add .* to include all my updates but it's annoying to have a single file that I don't want to include.

Turns out, unsurprisingly, there is a handy git command for this...

```javascript
git update-index --assume-unchanged "somewhere/environment.ts"
```

If you run a *git status* you will see that git is no longer aware of the edit.  We can now do...
```javascript
git add .
git commit -m "I did stuff and stuff"
git push
```

To undo this, we simply...
```javascript
git update-index --no-assume-unchanged "somewhere/environment.ts"
```

I do this whenever I make an update that I know I won't want to push.