teleren/devto huggingface dataset:
Introducing Keystone 5
Tags: graphql, javascript, react, wordpress
Published: 2019-08-30 05:39:43


I want to introduce you to a new tool for building stuff on the web. It's called [Keystone 5](https://v5.keystonejs.com). 

It can be used as a CMS and is a great replacement for WordPress when you need a little customisation and flexibility with less overhead. 

It can also be a great tool for building modern web applications with React, Vue, Angular or any other JavaScript framework. 

Getting started requires a few lines of configuration and you're good to go. The [getting started guide](https://v5.keystonejs.com/quick-start/) and CLI should help.

Once configured, you'll have access to an extensible Admin Interface and a powerful GraphQL API. These tools, and the building blocks Keystone provides, will allow you to create any type of application. 

![Keystone 5 Admin UI](https://thepracticaldev.s3.amazonaws.com/i/a8iriaiqb9ec6j4d968p.png)


![Keystone 5 GraphQL API](https://thepracticaldev.s3.amazonaws.com/i/ubi2j5vyuku9yubqbz6w.png)

We're working hard to make it friendly for beginners, and fast for experienced builders, all without making assumptions about the type of application you're building. To facilitate this, Keystone has Apps.

The rest of Keystone is made from small composable building blocks, but Apps provide a sometimes more opinionated starting point for different types of application. 

To give you an idea of what is possible with Apps, the Admin Interface and GraphQL API are both Keystone Apps. 

Keystone also has a Static App that serves a public directory, and a Next.js App. These are helpful starting points for front-end development. But you can of course, build and host a front-end application anywhere you like, without making a Keystone App.

BTW: We're looking to add more Apps in future and welcome [feedback and contributions](https://github.com/keystonejs/keystone-5).


Did I mention Keystone is proudly open-source? The code is [freely available on GitHub](https://github.com/keystonejs/keystone-5). Please give us a star or get involved with [the community](http://community.keystonejs.com/).


If you're a JavaScript developer looking for the perfect CMS and API for a modern front-end application, we think you are going to love it!


Keystone 5 is in Alpha at the moment so your feedback is really important. It's ready to use, so please have a try and let us know what you think. We'll do our best to answer any questions and are working hard to add more documentation and features in the coming months.
code metrics from your repository
Tags: git, java
Published: 2019-08-30 04:24:27

---
title: code metrics from your repository
published: true
description: github pulse on steroids
tags: git,java 
---
Lines of code is a useful metric for productivity. The complexity of a feature is normally proportional to the number of lines. 

Sure number of lines is not the only metric related to developer productivity that is why we also measure (or plan to) the lines deleted/refactored, common conflicts, file hotspots and more.

Trying to turn a side hustle into a useful app https://metriculous.network , its like github pulse on steroids.
5 Things To Do When You're Feeling The Struggle
Tags: webdev, productivity, career, beginners
Published: 2019-08-30 04:03:36

---
title: 5 Things To Do When You're Feeling The Struggle
published: true
description: 5 strategies to dealing with the struggle as a developer
tags: webdev, productivity, career, beginners
cover_image: https://thepracticaldev.s3.amazonaws.com/i/qpuzx50rzgpoujtw6ixz.jpg
---

Being a developer does not come without its heartache. We deal with complex requests, tight deadlines, and unforeseen variables (e.g. major change requests).

It's always good to have a few strategies in your pocket when dealing with these so you don't go full Homer and tear all your hair out.

So, let's get to the list...

## 1. Take a Break

This one isn't always easy to do when you're on a tight deadline, but more often than not it will help greatly. Most of the time the answer is right there in front of you, but you're just too wrapped up in the problem to see it. By taking a break it'll help you refocus and think about the problem with a different mindset.

I work from home, so some things I'll do are:
- Throw the ball for the dogs
- Have a shower (you'd be surprised how many good ideas are shower ideas)
- Go for a walk

For those that work in an office:
- Go for a cup of coffee/tea
- Go for a walk around the block
- Run a quick errand

Basically, just get away from the screen to clear your mind up a bit and consider new angles to the problem.

## 2. Work on Something Else

Similar to the above, this allows you to take a break from the problem at hand, but still get some other work done. Perhaps it's another feature or just some admin stuff that's been piling up. Stepping away from the problem should help you refocus.

## 3. Talk it Out

Often called ["rubber ducking"](https://en.wikipedia.org/wiki/Rubber_duck_debugging), this method is as simple as talking out the problem to yourself. It forces you to stop and think about the problem aloud.

## 4. Write it Out

Similar to talking it out, writing out your problem helps you see it in a new light. Go through the problem and write it out step by step to help you visualize it.

## 5. Ask for Help

And last, but not least, never be too proud to ask for help. Often the solution is right in front of you, but just requires another set of eyes or perspective to see it. Whether you seek help from your colleagues, community forums, or chat, this is a great way to work through a problem.

---

The above list may seem pretty straightforward and that's because it is. The main thing to remember is to just stop and think before you get overwhelmed and frustrated.

I'm sure we all have our own strategies to deal with the struggle. What are some of yours?

As always,
Happy coding! 🤓
Making your SMART goals smarter with Stretch goals
Tags: productivity
Published: 2019-08-30 03:46:07

I've been reading the book "Smarter Faster Better" by Charles Duhigg and in it, he gives a perspective on goal-setting that I found interesting.

You may already know about [SMART goals](https://www.mindtools.com/pages/article/smart-goals.htm), which is an awesome format to set your goals in. It does have a subtle pitfall though: cognitive closure.

## Cognitive closure

> Cognitive closure (psychology), the human desire to eliminate ambiguity and arrive at definite conclusions (sometimes irrationally) - <small>[Wikipedia](https://en.wikipedia.org/wiki/Cognitive_closure)</small>

You know that nice feeling of crossing things off your to-do list? Closure. Which is great, for the most part. It only gets bad when we end up expending more effort to get immediate results, when we are so focused on small daily "wins" that we lose focus on the larger picture.

> "You get into this mindset where crossing things off your to-do list becomes more important that asking yourself if you're doing the right things. - <small> The book </small>
>
> "To-do lists are great if you're using them correctly. But when people say things like 'I sometimes write down easy items I can cross off right away, because it makes me feel good', that's exactly the _wrong_ way to create a to-do list. That signals you're using it for mood repair, rather than to become productive." - <small> Timothy Pychyl, quoted in the book </small>

I think it's easier to fall into this trap than most of us would like to admit.

## Combining SMART goals with Stretch goals

Stretch goals are goals that may be considered audacious, but achievable. These are the kind of goals you may think about when asked to "dream big". The point is to have one major goal that is not immediately achievable, then use the SMART strategy to form sub-goals that move you closer to achieving the main goal. Here's an example from the book:

* Stretch goal: run a marathon
* Specific sub-goal: run 7 miles without stopping
* Measurable: run twice around the park, no walking
* Achievable?: yes, if I run 3 times a week
* Realistic?: yes, if I wake up early on Mondays, Wednesdays, and Fridays
* Timeline: run 3 miles this week, 4 miles next week, 5 miles…

Setting goals in this format ensures that we do get those small daily wins, and always stay focused on the big picture.
Migrate from WooCommerce to Shopify with Next-Cart
Tags: woocommerce, shopify, migrate, wordpress
Published: 2019-08-30 03:28:44

# What data can be migrated from WooCommerce to Shopify
You are able to migrate entire eCommerce data from WooCommerce to Shopify including products, images, categories, customers, orders and reviews. Moreover, you are be able to migrate CMS data like posts, pages.

### Products
1. Product Informations, e.g. Title, SKU, Description, Regular Price and Sale Price, Images, Vendor, Meta, SEO (301 Redirects or Rewrite), etc.
2. Product Variations: Images, Price, Sale Price, SKU, etc.
3. Product Links, e.g. Categories/Collections.

### Product categories
1. Category Informations, e.g. Title, Description, Image, Meta, SEO (301 Redirects or Rewrite), etc.
2. Category Parents

### Customers
1. Customer Informations, e.g. First Name, Last Name, Email, Phone, Tags, etc.
2. Customer Addresses. All addresses with full informations.

### Manufacturers
1. Manufacturer/Vendor Name is imported within Products.

### Orders
1. Order General Informations, e.g. Status, Currency, Total, Notes, Date, etc.
2. Product Details, e.g. Title, Model/SKU, Quantity, Price, Properties, etc.
3. Customer Details, e.g. First Name, Last Name, Email, Billing and Shipping Addresses.

### Reviews
1. Reviews of migrated Products. Review Details, e.g. Title, Author, Comment, Rating, Status, Date. (You will get a formatted .CSV file that can be used to import to Review App in Shopify).

# How to migrate WooCommerce to Shopify with Next-Cart
Next-Cart is a shopping cart migration service allows you to migrate data from your current store to another eCommerce platform. The whole procedure can be taken in 3 simple steps:

1. Set up source and target store (upload Kitconnect to WooCommerce store and get Shopify API)
2. Choose the data you want to migrate
3. Perform the migration

{% youtube Ri1ktKNUxvs %}

Are you interested in my video guide? Let try Free Demo Migration at: [WooCommerce to Shopify Migration](https://next-cart.com/product/woocommerce-to-shopify/)

# Thank you
If you have any questions, feel free to contact us at [https://next-cart.com/contact/](https://next-cart.com/contact/), our technicians are always ready to help you 24/7. Don’t forget to like and share the guide with others if it’s useful for you.

Have a nice day!
Code Story E4: Sean Washington on Using Elixir
Published: 2019-08-30 01:54:03

{% youtube FZHDfycvHYQ %}

Now-a-days, people are introduced to software development through multiple avenues. And it’s pretty amazing how many other industries parallel the thinking and creative process of writing code – teaching, project management… even music. Sean Washington took an unconventional route into software, through writing music and graphic design. Since then he has been sprinting forward, as a full stack web developer and tech podcast host. His most recent adventure has been becoming the CTO and lead developer of the Design Kollective – giving him the opportunity to not only learn the platform – but to make it his own and define the vision for how to up level the product.

In the clip above, Sean Washington discusses using Elixir to make a new app for Design Kollective. If you like what you hear, check out the full episode below.

{% podcast https://dev.to/codestorypodcast/e4-sean-washington-design-kollective %}
Assisted Graphics Engineering ToolSet 
Tags: webgl, opengl, glsl, javascript
Published: 2019-08-30 03:27:07

---
title: Assisted Graphics Engineering ToolSet 
published: true
description: a GLSL Remixer
tags: webgl, opengl, glsl, javascript
cover_image: https://thepracticaldev.s3.amazonaws.com/i/tqbf35i0qfohx366lzo0.png
---


![Assisted Graphics Engineering](https://thepracticaldev.s3.amazonaws.com/i/6mngu76d8nz4x4x67a98.png)

The Assisted Graphics Engineering Toolset (A.G.E.) is actually my old concept called ShaderNode. It’s basically a node based remixer for GLSL in a function tree…

But in A.G.E, it has multiple output.

There are a few reasons I build shader node / AGE system


1. GLSL is hard to Guess the Output with just code.

2. GLSL is new to a lot of Web / JS Developers. a Modular System may help things out.

3. At the early stage of GLSL market, it is quite hard to debug because all you got is a Blank Screen when there’s a small bug. But fortunately, thanks to Three.JS’s error debug line system. It’s easier now to debug.  But there’s always space for improvement for everything in life.

4. Normal Setup don’t have live update for GLSL per keystroke. You may rely on third party plugin of chrome or use fire fox debugger.

5. Setup GLSL execution isn’t as easy as a simple web page visit.

6. Execution Isolation for debugging and for basic profiling, when we disconnect the module, it wont be executed or even included into execution environment.

7. DataType for Arguments / IO of Module. Avoids typing mistake of argument type.


[A. G. E.](http://age.wonglok.com)
[Github](https://github.com/wonglok/age-gui)

I would love to have a call for dialogue for your way of composing GLSL. Please let me know...

1. How do you write glsl? do you use any software to assist the development process of glsl?
2. What’s your creative process for developing GLSL?
3. What do you think I should try to code / explore the possibility of development experience.
Swift and JavaScript comparison snippets - Classes
Tags: swift, javascript
Published: 2019-08-30 03:21:43

<img src="https://user-images.githubusercontent.com/799578/41671640-51642072-74ea-11e8-8bf2-7588062eed70.png" width="300">

GitHub: https://github.com/unbug/sj

## Classes
Swift
```swift
// class definition
class Counter {
    var count = 0
    func increment() {
        count += 1
    }
    func increment(by amount: Int) {
        count += amount
    }
    func reset() {
        count = 0
    }
}

// class instance
let counter = Counter()
// the initial count value is 0
counter.increment()
// the count's value is now 1
counter.increment(by: 5)
// the count's value is now 6
counter.reset()
// the count's value is now 0

print("The count property value is \(counter.count)")

```

JavaScript
```javascript
// class definition
class Counter {
    contructor() {
        this.count = 0
    }
    function increment() {
        this.count += 1
    }
    function increment(amount) {
        this.count += amount
    }
    function reset() {
        this.count = 0
    }
}

// class instance
let counter = Counter()
// the initial count value is 0
counter.increment()
// the count's value is now 1
counter.increment(5)
// the count's value is now 6
counter.reset()
// the count's value is now 0

console.log(`The count property value is ${counter.count}`)
```
Swift and JavaScript comparison snippets - Closures
Tags: swift, javascript
Published: 2019-08-30 03:20:30

<img src="https://user-images.githubusercontent.com/799578/41671640-51642072-74ea-11e8-8bf2-7588062eed70.png" width="300">

GitHub: https://github.com/unbug/sj

## Closures
Swift
```swift
// Closure Expressions
// The Sorted Method
let names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"]
func backward(_ s1: String, _ s2: String) -> Bool {
    return s1 > s2
}
var reversedNames = names.sorted(by: backward)
// reversedNames is equal to ["Ewa", "Daniella", "Chris", "Barry", "Alex"]
reversedNames = names.sorted(by: { (s1: String, s2: String) -> Bool in
    return s1 > s2
})
// or
reversedNames = names.sorted(by: { (s1: String, s2: String) -> Bool in return s1 > s2 } )
```

JavaScript
```javascript
// Closure Expressions
// The Sort Method
const names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"]
function backward(s1, s2) {
    return s1 < s2
}
let reversedNames = names.sort(backward)
// reversedNames is equal to ["Ewa", "Daniella", "Chris", "Barry", "Alex"]
reversedNames = names.sort((s1, s2) => {
    return s1 < s2
})
// or
reversedNames = names.sort((s1, s2) => return s1 < s2)
```
Simply Auth Launched! Plug 'n' Play for devs
Tags: javascript, node, fullstack, startup
Published: 2019-08-30 03:16:35

Finally launched "Simply Auth"! Taking on from the post [here](https://dev.to/kauresss/plug-n-play-authentication-in-express-js-5bf4)

The finished demo app is on here: https://simplyauth.herokuapp.com/

And I put it up as a finished product for sale on gumroad here: https://gum.co/simpleauth 

[no sales though..lol) The next step for me is to integrate gesture login using python and OTP (one-time-password) logins.

Any feedback or comments?
Quick advice for aspiring dev YouTubers
Tags: youtube, education, webdev, career
Published: 2019-08-30 03:03:33

---
title: Quick advice for aspiring dev YouTubers
published: true
description: Ever wondered some quick tips for starting a software-focused YouTube channel? An experienced YouTuber shares her insight after producing the RealToughCandy channel for over 2 years. 
tags: youtube, education, webdev, career
---

In this video I'm sharing a little bit about my [YouTube channel](https://youtube.com/realtoughcandy) and some quick advice for people who may be thinking about starting their own software/dev channel. 

####YouTube is part of my business and dev career, but it's by far my favorite part of the job! 

I love sharing things with developers of all abilities from around the world. 

###Too long; didn't watch? If you're thinking about starting your own channel...GO FOR IT! 

For lots more insights, tips, methods and techniques, I also recently published [Tiny YouTube](https://amzn.to/2MOVOUQ), a book on starting your own YouTube channel for fun and profit.<a href="https://www.amazon.com/Tiny-YouTube-ultimate-starting-growing-ebook/dp/B07T17F6YX/ref=as_li_ss_il?keywords=tiny+youtube&qid=1567239236&s=gateway&sr=8-1&linkCode=li2&tag=365blottochal-20&linkId=cef29d90a3f79bbb0e64b5e92fa1ff1e&language=en_US" target="_blank"><img border="0" src="//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=B07T17F6YX&Format=_SL160_&ID=AsinImage&MarketPlace=US&ServiceVersion=20070822&WS=1&tag=365blottochal-20&language=en_US" ></a><img src="https://ir-na.amazon-adsystem.com/e/ir?t=365blottochal-20&language=en_US&l=li2&o=1&a=B07T17F6YX" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />
Code Story E4: Sean Washington on Adding a New Team Member
Tags: podcast, codestory
Published: 2019-08-30 02:46:04

{% youtube HrdDni0hyNU %}

Now-a-days, people are introduced to software development through multiple avenues. And it’s pretty amazing how many other industries parallel the thinking and creative process of writing code – teaching, project management… even music. Sean Washington took an unconventional route into software, through writing music and graphic design. Since then he has been sprinting forward, as a full stack web developer and tech podcast host. His most recent adventure has been becoming the CTO and lead developer of the Design Kollective – giving him the opportunity to not only learn the platform – but to make it his own and define the vision for how to up level the product.

In the clip above, Sean Washington discusses how he picked one of the new team members for Design Kollective. If you like what you hear, check out the full episode below.

{% podcast https://dev.to/codestorypodcast/e4-sean-washington-design-kollective %}
Code Story E4: Sean Washington on Being Self-Taught
Tags: podcast, codestory
Published: 2019-08-30 02:45:50

{% youtube aYaBRMwL9CU %}

Now-a-days, people are introduced to software development through multiple avenues. And it’s pretty amazing how many other industries parallel the thinking and creative process of writing code – teaching, project management… even music. Sean Washington took an unconventional route into software, through writing music and graphic design. Since then he has been sprinting forward, as a full stack web developer and tech podcast host. His most recent adventure has been becoming the CTO and lead developer of the Design Kollective – giving him the opportunity to not only learn the platform – but to make it his own and define the vision for how to up level the product.

In the clip above, Sean Washington dives into being self-taught. If you like what you hear, check out the full episode below.

{% podcast https://dev.to/codestorypodcast/e4-sean-washington-design-kollective %}
Code Story E4: Sean Washington on the Future of Design Kollective
Tags: podcast, codestory
Published: 2019-08-30 02:36:56

{% youtube km87daGGAg8 %}

Now-a-days, people are introduced to software development through multiple avenues. And it’s pretty amazing how many other industries parallel the thinking and creative process of writing code – teaching, project management… even music. Sean Washington took an unconventional route into software, through writing music and graphic design. Since then he has been sprinting forward, as a full stack web developer and tech podcast host. His most recent adventure has been becoming the CTO and lead developer of the Design Kollective – giving him the opportunity to not only learn the platform – but to make it his own and define the vision for how to up level the product.

In the clip above, Sean Washington talks about what's in store for the future Design Kollective. If you like what you hear, check out the full episode below.

{% podcast https://dev.to/codestorypodcast/e4-sean-washington-design-kollective %}
Code Story E4: Sean Washington on Getting Started with Design Kollective
Tags: podcast, codestory, design
Published: 2019-08-30 02:25:28

{% youtube o-j0UXGSWpU %}

Now-a-days, people are introduced to software development through multiple avenues. And it’s pretty amazing how many other industries parallel the thinking and creative process of writing code – teaching, project management… even music. Sean Washington took an unconventional route into software, through writing music and graphic design. Since then he has been sprinting forward, as a full stack web developer and tech podcast host. His most recent adventure has been becoming the CTO and lead developer of the Design Kollective – giving him the opportunity to not only learn the platform – but to make it his own and define the vision for how to up level the product.

In the clip above, Sean Washington discusses what it was like getting started with Design Kollective. If you like what you hear, check out the full episode below.

{% podcast https://dev.to/codestorypodcast/e4-sean-washington-design-kollective %}
Attribute, Property, or Directive
Tags: discuss, beginners
Published: 2019-08-30 02:02:42

---
title: Attribute, Property, or Directive
published: true
description: What would you call that thing in an HTML element.
tags: discuss, beginner
cover_image: https://res.cloudinary.com/ajonp/image/upload/v1567107047/ajonp-ajonp-com/20-lesson-nextjs/5-Firebase/thought-catalog-V5BGaJ0VaLU-unsplash.jpg
---

# Can I just say one noun?

Granted I jump between Raw HTML, Hugo template, Ionic components, React props, and Angular Elements daily. I still stutter in every video I make trying to call that thing in a tag the right name. I get it, really, they all do different things, but what would you call `buttonType` in 

```html 
<ajonp-button buttonType>
```

Am I safe just calling it an attribute?

Should I just say property?

That thing could be an HTML Custom element, Angular Component, Vue...

Let me know below!