teleren/devto huggingface dataset:
Why you need to know about the Lindy effect, as a developer.
Tags: javascript, webdev, career, discuss
Published: 2018-10-15 20:15:35

---
title: Why you need to know about the Lindy effect, as a developer.
published: true
description: Why you need to know about the Lindy effect, as a developer.
tags: javascript, webdev, career, discuss
---
Age affects living beings negatively. Younger organisms can be expected to outlast older ones.

But non-perishable things like ideas, music, and technology behave differently. 

> If a book has been in print for forty years, I can expect it to be in print for another forty years. But, and that is the main difference, if it survives another decade, then it will be expected to be in print another fifty years. This, simply, as a rule, tells you why things that have been around for a long time are not "aging" like persons, but "aging" in reverse. Every year that passes without extinction doubles the additional life expectancy. This is an indicator of some robustness. The robustness of an item is proportional to its life!
-Nassim Taleb

The longer technologies have survived, the longer they are likely to stay alive. This is called the [Lindy effect](https://en.wikipedia.org/wiki/Lindy_effect).

It's worth applying the idea of the Lindy effect to something like the JavaScript ecosystem, and programming in general. Frameworks come and frameworks go. Languages behave similarly, although to a lesser extent. But algorithms and the math underneath them doesn't change much.

If you're building something, especially if for the long term, the Lindy effect might be a good counterbalance to the urge of experimenting with new things.
The DEV badge is available on Font Awesome!
Tags: meta, webdev
Published: 2018-10-15 18:18:30

Font Awesome is an incredibly popular library for adding icons to webpages. Pretty much every site these days use icons of some sort, and chances are they are loaded via Font Awesome. What exactly does "incredibly popular" mean? According to their landing page, the library is used on **100,000,000 sites**. They are the de facto default for including icons on webpages. The project makes adding icons to sites simple by including them as a font, but there are alternative ways to use Font Awesome icons, such as SVG.

### [DEV is now included in Font Awesome version 5.4!](https://fontawesome.com/icons/dev?style=brands)

Thanks to popular demand from the community, our logo is now a part of the set. There are 388 total brand icons in the entire set, including some alternate versions of certain logos. In all there are about 250 total companies included in the Font Awesome set and DEV is now one of them. That puts us in remarkably exclusive territory. A lot of our members have been adding the DEV badge to their Font Awesome-driven personal sites in various hacky ways, but now we're part of the default.

## Hack example:

{% link https://dev.to/themindfuldev/how-i-redid-the-dev-badge-using-font-awesome-4k14 %}

Now that we are officially part of the library, you can add `<i class="fab fa-dev"></i>` to your any page that already makes use of Font Awesome!


You can also download the badge as an SVG right here if you'd like:

#### https://gist.github.com/benhalpern/eff81b17359acafd17849146549b9291

The above SVG file is only _798 bytes_. If you want to modify the color of that SVG you can change the `fill` attribute in its code. If you are not familiar with SVGs, they are vector images constructed with markup language, and are a very powerful concept. Here's a good post on the web technology:

{% link https://dev.to/adammcquiff/how-and-why-to-clean-svg-markup-49i %}

SVG vs font set vs png vs whatever else. It's all just implementation details, but implementation details matter. Font Awesome's popularity speaks to this.

Thank you to Font Awesome for validating our project by inclusion in version 5.4 and thanks to the community for making this happen. If your site has the DEV badge alongside your GitHub and Twitter badges etc. feel free to link to it in the comments to show it off. 😄
Please stop PRing Route::view to the Laravel repo
Tags: laravel, github
Published: 2018-11-07 16:37:47

---
title: Please stop PRing Route::view to the Laravel repo
published: true
tags: Laravel, GitHub
canonical_url: https://miguelpiedrafita.com/stop-pring-route-view/
cover_image: https://miguelpiedrafita.com/content/images/2018/10/carbon--1--1.png
---

Since `Route::view()` was first introduced as an alternative to route closures, there have been various PRs (22+ at the time of this writing) to the `laravel/laravel` repository to update the default welcome route to use this new feature.

The change was (and keeps being) rejected because the closure-based approach is better for prototyping, as [Taylor said in the first PR](https://github.com/laravel/laravel/pull/4310#issuecomment-312509833) that implemented the change.

![Please stop PRing Route::view to the Laravel repo](https://miguelpiedrafita.com/content/images/2018/10/Image-2018-10-15-at-7.45.48-PM.png)<figcaption>That's it guys, the <a href="https://es.wikipedia.org/wiki/Benevolent_Dictator_for_Life">BDFL</a> has spoken, let's move on and... guys? are you listening?</figcaption>

And if you think that pushing this change again may change Taylor's mind, take a look at [#4598](https://github.com/laravel/laravel/pull/4598), [#4569](https://github.com/laravel/laravel/pull/4569), [#4498](https://github.com/laravel/laravel/pull/4498), [#4481](https://github.com/laravel/laravel/pull/4481), [#4443](https://github.com/laravel/laravel/pull/4443), [#4439](https://github.com/laravel/laravel/pull/4439), [#4437](https://github.com/laravel/laravel/pull/4437), [#4424](https://github.com/laravel/laravel/pull/4424), [#4410](https://github.com/laravel/laravel/pull/4410), [#4403](https://github.com/laravel/laravel/pull/4403), [#4401](https://github.com/laravel/laravel/pull/4401), [#4400](https://github.com/laravel/laravel/pull/4400), [#4398](https://github.com/laravel/laravel/pull/4398), [#4396](https://github.com/laravel/laravel/pull/4396), [#4395](https://github.com/laravel/laravel/pull/4395), [#4391](https://github.com/laravel/laravel/pull/4391), [#4386](https://github.com/laravel/laravel/pull/4386), [#4381](https://github.com/laravel/laravel/pull/4381), [#4378](https://github.com/laravel/laravel/pull/4378), [#4367](https://github.com/laravel/laravel/pull/4367), [#4310](https://github.com/laravel/laravel/pull/4310) or [#4681](https://github.com/laravel/laravel/pull/4681). All these Pull Requests introduced the same change, and all of them were rejected.

So, if someone linked this article from your PR, do the maintainers a favour and close it. And remember that it's generally a good practice to search if someone else has proposed your change before you do it :)

Happy coding!

---

_Liked this article? Consider [helping me achieve my dream](https://miguelpiedrafita.com/patreon) :)_
Beginner Node Help
Tags: node, pug, express, html
Published: 2018-10-15 17:43:56

---
title: Beginner Node Help
published: true
description: I am very new at HTML, NODE, PUG, etc. I'm trying to build a golf     
             score application.  I have created the first part that allows me to 
             CRUD the courses.  This part is working. 
             I have 2 tables,  courses and scores.  
             After displaying a list of courses, i select a course and load 6 
             blank HTML table records to allow entry of golfers and scores each of 
             the 18 holes.
             Now is where i'm confused and need some guidance.
             
             in my .pug file, how do i display an output field that displays a 
             running total of my score?
             
             On my submit button, i'm not getting to my POST, but i cannot figure 
             out why
               
             I want to be able to hit save on this screen and either Insert or 
             Update, depending on whether i have already saved.  Should that be 
             handled within a single POST?  It seems like i should, but i don't 
             know enough about Node to know

             I am processing my courses and scores within a single index.js file.  
             Should i be separating the courses/holes into separate .js files?

             Thats enough for now
             Thanks for any guidance you can provide

tags:  Node, Pug, Express, HTML 
---
A call for kindness in open source
Tags: opensource, podcast, python, leadership
Published: 2018-10-15 17:23:20

---
title: A call for kindness in open source
published: true
description: Brett Cannon joins The Changelog podcast to discuss setting expectations for open source participation.
tags: opensource, podcast, python, leadership
cover_image: https://thepracticaldev.s3.amazonaws.com/i/ojgtkf5vrxv2fdlovod8.png
---

[Brett Cannon](https://twitter.com/brettsky) – Python core developer and dev lead of the Python extension for VS Code – joins us on [The Changelog](https://changelog.com/podcast) podcast to discuss the human side of sustaining open source.

Brett's 15 years of experience in the community have taught him a ton. He took a hiatus in 2016 to avoid burning out, and his message comes from a powerful place:

> The whole reason I've put in the effort into doing the talk, and the blog post, etc. is specifically because I care so much about the people involved in it... Because I don't wanna give it up. I wanna make sure that I feel like I want to keep coming back, so I'm doing the best I can to try to make sure that it continues for me personally, and for others as well, so they also are going to have the same benefits I've received.

This is a great conversation! Take a listen:

{% podcast https://dev.to/changelog/318-a-call-for-kindness-in-open-source %}

(_Stick around after the outro for a bonus segment on Kylo Ren, the marines, and how great weather is never enough to make us happy._ 😭🤣)
Kong Part 1: Installation and First Setup on Ubuntu 18.04
Tags: apigateway, kong
Published: 2018-10-15 17:14:14

---
title: Kong Part 1: Installation and First Setup on Ubuntu 18.04
published: true
description: Kong Setup Series. Kong is an API Gateway Management tool. Focus on your code and let Kong do the API Endpoint protection for you.
tags: API Gateway, Kong
---


Kong is one of the open source API gateway managers around. A typical use case is when you want to manage(eg. Secure) your API and but you don't have the time to write all those logic inside your API. API Gateway is probably what you need.

API  Gateways can do- Rate limiting, securing Your API with Key and tokens, logging and many more.

We would use kong to protect Simple API I wrote with Flask. Watch out for Part 2.

## Download and Install

There are several options for installing kong, they include Debian, docker which is very prevalent, kubernates, redhat and even vagrant.

Head over to [Kong](https://konghq.com/install/) homepage download kong Debian image from kong website.

Select the one applicable and download.

![](https://i.imgur.com/zrmOiSZ.png?raw=true)

* Install Kong


`$ sudo apt-get install openssl libpcre3 procps perl` #some dependencies

`$ sudo dpkg -i kongdeb.deb`


Not yet, Kong is only installed. Lets provision persistent database for it.

## Provision a database

On your appliance assuming you installed kong on Ubuntu as I did, the default configuration would be available at `/etc/kong/kong.cong.default`.

* Make a copy

`cp /etc/kong/kong.conf.default /etc/kong/kong.conf`

* Configure the Datastore

Kong support Cassandra and PostgreSQL Database. I am using PostgreSQL over here.

* Provision the database

`CREATE USER kong; CREATE DATABASE kong OWNER kong`

![](https://i.imgur.com/e3AsUBB.png?raw=true)

* Update the `kong.conf`

Scroll to the database section and add the Postgres details.
`$ vim /etc/kong/kong.conf` and change this section `dbname: kong, user=kong, pass=kong2018`


## Start kong

kong has some commands

`$ kong migrations up` #runs the database migrations
`$ sudo kong start`


`$ curl -i http://localhost:8001`

![Imgur](https://i.imgur.com/FbYXgoW.png?raw=true)

## Bonus

`$ sudo kong stop` #stop kong
`$ sudo kong health` #kong status

--Happy Hacking--

NB. Watch out for Part 2, where I add the Flask API.
Few Tools I Use to Help Me with Day to Day Work
Tags: productivity, opensource, devops
Published: 2018-10-15 13:58:38

I've been using some of these "opensource" tools for years now, there might be better tools so do comment below what your day to day tool is that helps you with work.


__Screenshots__: We take screenshots daily and share them on twitter, dev.to, slack and sometimes even in an email 👨‍💻. For that reason and easy to share I use  [Skitch](https://evernote.com/products/skitch). It is super easy to take a screenshot, make some pointers hit (copy) and (paste) and off to next task.

![](https://thepracticaldev.s3.amazonaws.com/i/w65j39t1v60aba01q2tc.png)


__CheatSheet__: This is one of those tools that I really love having on my Mac, sure I could be a Guru in some apps, but VI,VIM there is no Guru, there are Novice users and Advanced users. [CheatSheet](https://mediaatelier.com/CheatSheet/?lang=en) basically gives you supportive cheatsheet commands you can use with most tools like Sublime, VI, Mail, Chrome and many many more. 
![](https://thepracticaldev.s3.amazonaws.com/i/99ykdd3098uqkh5zlklw.png)

__Alfred__: I use Alfred quite a bit compare to Spotlight (I think this one is for Mac users only). [Alfred](https://www.alfredapp.com/) basically helps me search my Mac in more advanced form + with the workflows you can add github, and many other helpful search functions. 

__Terminal on Steroids__: Oh My Zsh! seriously since I started using it (last year) I fell in love it it so much. 
Here is why...

I work on Kubernetes on daily basis and switch between namespaces, clusters quite a bit. That said, its really nice to have a visual representation which namespace and or cluster you are on while also giving you pointer that you are on blabla-patch1 branch in github. If you are on any type of terminal don't skip on [Oh My Zsh!](https://github.com/robbyrussell/oh-my-zsh)

What are some of your day to day must tools that did not come with your laptop installed?
Local State Forms in React
Tags: react, forms, form, javascript
Published: 2018-10-15 16:57:05

---
title: Local State Forms in React
published: true
description: Thoughts about releasing my own React Form Library
tags: React, forms, form, Javascript
---

From the last couple of companies I've worked at, freelance and full time, I've ported by own little React Forms library and introduced them to every team I've worked on. It's small, agnostic, and straightforward, allows one to do client-side and server-side validations, showing errors through the parent component rendering it.

Here's a little bit of what it looks like:

```js
import React from 'react';
import FormManager from '../component/FormManager';
import { InputField, RadioButtonField } from '../component/FormManager/Fields';

class IndexPage extends Component {
  constructor(props) {
    super(props);

    this.state = {
      errors: {}
    };
  }

  onFormInput = values => {
    // Your own validation stuff happens here.
    // If there's an error, you do this:
    /*
      this.setState({ errors: { password: 'Incorrect password' } });
    */
  }

  onSubmit = values => {
    // Handle submit logic here!
  }
  
  render() {
    <div>
      <FormManager errors={this.state.errors} onValueChange={this.onFormInput} onSubmit={this.onSubmit}
        <InputField name="username" />
        <InputField name="password" type="password" />
        <p>Take me to:</p>
        <RadioButtonField 
          name="next_view" 
          value="dashboard" 
          label="Dashboard"
        />
        <RadioButtonField 
          name="next_view" 
          value="account_page" 
          label="My Account Page" 
        />
      </FormManager>
    </div>
  }
}
```

Thing is, I'd _love_ to release this open source, but looking at `Formik`, it's extremely popular with over 10k stars, and my library definitely doesn't have the bells and whistles that come with Formik. I just wanted to make my own tool that requires minimal boilerplating and is easy to look at, just by looking at the code.

If anything, I'd call it `Reforma - A Local-State driven approach to forms in React`. 

What do you guys think?
Ask me dumb questions about functional programming
Tags: discuss, javascript, beginners
Published: 2018-10-15 16:56:17

---
title: Ask me dumb questions about functional programming
published: true
description: 
tags: discussion, javascript, beginners
---

![header image of f(x)](https://thepracticaldev.s3.amazonaws.com/i/nr7vml5tf56z0abtlk4s.png)

Hello! I am the author of [MojiScript](https://github.com/joelnet/MojiScript) (a functional re-imagining of JavaScript) and I would like to help programmers who may be functional-curious :)

Have questions about functional programming but were afraid to ask?

Post questions here or @ me on twitter [@joelnet](https://twitter.com/joelnet) use the hashtag #fpquestion.

I'll do my best to answer your questions and if I don't know, I'll try to point you in the right direction. If I can't do that, I'm sure someone smarter than I am will swoop in to save the day.

Don't bother asking "What is a Monad?" because everyone knows:

> [A monad in X is just a monoid in the category of endofunctors of X](https://books.google.com/books?id=MXboNPdTv7QC&pg=PA138&lpg=PA138&dq=%22monoid+in+the+category+of+endofunctors%22+mac+lane&source=bl&ots=feQWTkH2Uw&sig=tv-1JwaMOygKGmFE2vM2FhJVS9o&hl=en&ei=5iWsTJCkBIPSsAPQwJ36Aw&sa=X&oi=book_result&ct=result#v=onepage&q&f=false)

If you have a code question, like "How do I do XXX" and you post source code, please make sure the code is runnable and make sure the code is boiled down to as small as you can make it. I can't convert your 1,000 file for you :)

**Example of a good question**

How do I do this...

```javascript
for (let i = 1; i < 6; i++) {
  setTimeout(() => console.log(i), 1000)
}
```

Oh and let's have fun!

My articles are very Functional JavaScript heavy, if you need more FP, follow me here, or on Twitter [@joelnet](https://twitter.com/joelnet)!

**More articles**
[Let's make a DEV.to CLI... together](https://dev.to/joelnet/lets-make-a-devto-cli-together-4eh1)
[Let's talk about auto-generated documentation tools for JavaScript](https://dev.to/joelnet/lets-talk-about-auto-generated-documentation-tools-for-javascript-49ol)

![Cheers!](https://thepracticaldev.s3.amazonaws.com/i/6jsy3a866frzp3u5oda0.jpg)
Automated Testing with Machine Learning
Tags: testing, ai, devops, machinelearning
Published: 2018-10-15 13:55:10

---
title: Automated Testing with Machine Learning
published: true
description: Leveraging the power of Machine Learning for Automated Tests.
tags: testing, ai, devops, machine learning
---



![artificial intelligence programmer](https://i.ytimg.com/vi/7c_XO3Ouzts/maxresdefault.jpg)

Like it or not, the robots are here and they have come to stay. 



Facebook is using AI to scan the images that people send each other on Messenger, making sure the content abides by the company’s rules. And totally not for advertising purposes.


Chatbots are now the ones dealing with your hysterical attitude when you're whining about why your pizza delivery is late. 


Most of us are starting to understand that the purpose of Artificial Intelligence is to make our lives easier, not to steal our jobs.

Think of AI as something that can take the role of an automated assistant.

*But I'm a Software Engineer, this doesn't affect me...*

It actually does, or it might, in the very near future.

There is no AI that can replace you, but there are people who are leveraging the power of Machine Learning to be 10 times more efficient than you are.



![machine learning testing](https://api.hub.jhu.edu/factory/sites/default/files/styles/landscape/public/robot-human-final-5flat.jpg)

One of the best places to start implementing Machine Learning is in your Automated Tests.

Mostly because tests are repetitive and require a lot of maintenance.

What if you had an automated assistant that would could do that for you?

There are some interesting solutions on the market. Platforms where you can create, manage and run your automated tests, without having to code and without having to worry about maintenance.

I personally recommend [Endtest](https://endtest.io) with all my heart, since I believe they're light years ahead of the competition.





![machine learning testing](http://www.2oceansvibe.com/wp-content/uploads/2014/03/ROBOLUTION.jpg)
The 7 Most Popular DEV Posts from the Past Week
Tags: top7, bestofdev
Published: 2018-10-15 16:52:35

---
title: The 7 Most Popular DEV Posts from the Past Week
published: true
description: A round up of the most-read and most-loved contributions from the community this past week.
tags: icymi, bestofdev
cover_image: https://thepracticaldev.s3.amazonaws.com/i/sfwcvweirpf2qka2lg2b.png
---

#1. Crazy, right?

Hello-worldin' with .Net outside of windows. A quick guide for anyone looking to do the same. 

{% link https://dev.to/chrisvasqm/my-net-core-setup-for-macoslinux-4cbk %}

#2. "Just a property"

From fundamentals to other 'good to know' topics surrounding JavaScript's prototype.

{% link https://dev.to/tylermcginnis/a-beginners-guide-to-javascripts-prototype-5kk %}

#3. 'slow-2g', '2g', '3g', or '4g'

Addy shares how you can deliver content based on the quality of a user's network connection. 

{% link https://dev.to/addyosmani/adaptive-serving-using-javascript-and-the-network-information-api-331p %}

#4. As useful as you make it!

Jenn shares the what and why of professional development, along with how you can actually make it happen. Think: defensive calendaring!

{% link https://dev.to/geekgalgroks/the-introverts-guide-to-professional-development-3408 %}

#5. Learning the internals

From parsing & tokenization to execution on CPython's vm, Batuhan breaks it down for us. 

{% link https://dev.to/btaskaya/lifecycle-of-a-python-code---cpythons-execution-model-85i %}

#6. JavaScript, APIs, Markup

"To eliminate unnecessary, we must rewrite everything in JavaScript." Lewis shares a quick history of how we arrived at the JAMstack.

{% link https://dev.to/lewismenelaws/jamstack-how-sites-are-becoming-even-faster-in-a-bloated-web-fig %}

#7. Love/Hate

If you're on the fence about working remote, this post is for you. Lindsey shares how they 'got the hang' of it all.

{% link https://dev.to/lkopacz/10-things-ive-learned-from-working-remotely-240h %}

_That's it for our weekly wrap up! Keep an eye on dev.to this week for daily content and discussions...and if you miss anything, we'll be sure to recap it next Monday!_
JavaScript Pro Tips - Code This, NOT That
Tags: javascript
Published: 2018-10-15 16:31:40

---
title: JavaScript Pro Tips - Code This, NOT That
published: true
description: Highly education video on modern JavaScript.
tags: javascript
cover_image: https://img.youtube.com/vi/Mus_vwhTCq0/maxresdefault.jpg
---

There have been some [great articles](https://dev.to/joelnet/functional-programming-how-would-you-if-no-else-javascript-59ai) here on dev.to about modern JavaScript and functional programming. today I stumbled upon this no-bs quick video that pretty much summarizes most of what we've all learned and preached the last 9 months or so. 

<iframe width="560" height="315" src="https://www.youtube.com/embed/Mus_vwhTCq0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
{% youtube Mus_vwhTCq0 %}

I know this looks a lazy article but if you are or want to become a JavaScript developer I highly recommend that you watch [this video](https://www.youtube.com/watch?v=Mus_vwhTCq0).

_I tried to put an iFrame in here to embed the video but it gets filtered out by the editor. Maybe a moderator can do something about that._
Who's looking for open source contributors? (October 15th edition)
Tags: discuss, opensource, hacktoberfest
Published: 2018-10-15 16:08:02

It's half way into [#hacktoberfest](/t/hacktoberfest)!

Find something to work on or promote your project here.

Please shamelessly promote your project. Everyone who posted in previous weeks is welcome back this week, as always. 😄

Happy coding!