teleren/devto huggingface dataset:
AWS Lambda: Node.js v8.10 Runtime Approaching End of Life (EOL)
Tags: aws, node, javascript, serverless
Published: 2019-11-07 05:38:12

I just wanted to drop a little post into the DEV universe that Node.js 8.10 is soon to reach End of Life (EOL).

With the [Node.js 12.x now available on AWS Lambda](https://aws.amazon.com/blogs/compute/node-js-12-x-runtime-now-available-in-aws-lambda/), people should evaluate how they can tweak and migrate their code to work with it. Version 12.x is considered one of the Long-Term Support editions according the the [Node.js Release schedule](https://nodejs.org/en/about/releases/).

### What's This Mean?

|Name|Identifier|End of Life|Deprecation (Create)|Deprecation (Update)|
|---|---|---|---|---|
|Node.js 8.10|`nodejs8.10`|December 31, 2019|January 6, 2020|February 3, 2020|

> _Deprecation occurs in two phases. During the first phase, you can no longer create functions that use the deprecated runtime [as signified by **Deprecation (Create)**]. For at least 30 days, you can continue to update existing functions that use the deprecated runtime [as signified by **Deprecation (Update)**]. After this period, both function creation and updates are disabled permanently. However, the function continues to be available to process invocation events.[^1]_

### Simple Audit

For a simple place to start, when it comes to auditing what AWS Lambdas are using the `nodejs8.10` runtime, we can run the following `awscli`[^2] command (using default `--region`, `--profile`, and `--output` config values):

```bash
# Add --region, --profile, and --output args if needed
aws lambda list-functions --query 'Functions[?Runtime==`nodejs8.10`]'

# -OR-
# If wanting only the names of the functions
# Add --region, --profile, and --output args if needed
aws lambda list-functions --query 'Functions[?Runtime==`nodejs8.10`].FunctionName'
```

Want an alternate take using PowerShell[^3] instead? Using the `AWSPowerShell`[^4] (for Windows) or `AWSPowerShell.NetCore`[^5] (for Linux or Mac OS) module:

```powershell
# Install-Module AWSPowerShell
# -OR-
# Install-Module AWSPowerShell.NetCore

# Add -Region and -ProfileName parameters if needed
(Get-LMFunctionList).where({$_.Runtime -eq 'nodejs8.10'})
```

[^1]: Quoted directly from the official AWS Lambda [Runtime Support Policy](https://docs.aws.amazon.com/lambda/latest/dg/runtime-support-policy.html)
[^2]: Need help with the AWS CLI before? Learn how to install and configure it here: [AWS Command Line Interface](https://aws.amazon.com/cli/)
[^3]: [PowerShell Core on GitHub](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up-linux-mac.html)
[^4]: AWSPowerShell For Windows: [Installing the AWS Tools for PowerShell on Windows](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up-windows.html)
[^5]: AWSPowerShell.NetCore for Linux and Mac OS: [Installing AWS Tools for PowerShell on Linux or macOS](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up-linux-mac.html)

---

_Originally published at [https://icanteven.io](https://www.icanteven.io/blog/aws-lambda-nodejs810-eol/) on November 7th, 2019_
365 Days of Coding Challenge: Day 5
Tags: codingphase, coding365challenge, html5boilerplate, html
Published: 2019-11-07 04:39:55

---
title: 365 Days of Coding Challenge: Day 5
published: true
description: Day 5 of my attempt to complete 365 days of coding
tags: #CodingPhase #Coding365Challenge #html5boilerplate #HTML
---

<p>Okay. So, I know this post is <em>really</em> late and I need to grind to get back on track. Today is the fifth day of my journey to complete <a href="https://codingphase.com">Joe Santos' (aka CodingPhase.com) Coding365Challenge</a> where I would be spend 365 days coding on the web.</p>

<p>I was starting a new HTML5 document and then I realized that I do not have a standard way of structuring my HTML without relying on <a href="http://www.getbootstrap.com">Twitter Bootstrap</a>.  I investigated <a href="https://html5boilerplate.com/">HTML5 Boilerplate (aka h5BP)</a> and liked what I saw, but I felt it contained far more resources than I needed for creating simple one-page HTML/CSS projects (<a href="https://moz.com/community/q/should-i-add-humans-txt-file">see what the Moz Community Forum says about referencing humans.txt)</a>.</p>

<p>My goal was to create an HTML Boilerplate that only includes three files while using various scripts and stylesheets on trusted CDNs.</p>

<p>Here is the link to my CodePen for Day 5 and a screenshot below:
<a href="https://codepen.io/idrissalemairethiam/pen/ZEEoBjo">https://codepen.io/idrissalemairethiam/pen/ZEEoBjo</a></p>


![#CodingPhase #Coding365Challenge: Idrissa Lemaire Thiam's screenshot for Day 5](https://thepracticaldev.s3.amazonaws.com/i/erfwv2ztkq3gxgccodn9.png)

Please also feel free to review the repository on GitHub and leave a comment:
<a href="https://github.com/idrissathiam01/html5-boilerplate">https://github.com/idrissathiam01/html5-boilerplate</a>

Will post again soon!
How to become Technical Architect?
Tags: ta, how
Published: 2019-11-07 04:25:49

---
title: How to become Technical Architect?
published: true
description: How to become Technical Architect
tags: TA, how 
cover_image: https://thepracticaldev.s3.amazonaws.com/i/5rkq83u1x3o5axa1ri7v.jpg
---

Hi all,

As you know, everybody have other dream, my dream is become a TA.
So how to coming it, What's should I willing do?

I have 5 yrs as Developer.
My base is NodeJS, Go, AngularJS, MongoDB, k8s, RabbitMQ, PHP. I don't worry about my knowledge. I want to grow up to next level.

Thank every body so much, love all!

TPT
How YOU can use Formik to manage your React forms
Tags: javascript, tutorial, webdev, showdev
Published: 2019-11-07 04:17:49

---
title: How YOU can use Formik to manage your React forms
published: true
description: This describes using the library Formik to handle your Forms in React.
tags: javascript, tutorial, webdev, showdev
cover_image: https://thepracticaldev.s3.amazonaws.com/i/ghhlqsrz8cqprkghi2y6.jpg
---

Formik is a great library for React that makes form management real easy.

-  [Formik, part I](https://dev.to/azure/no-more-tears-handling-forms-in-react-using-formik-part-i-20kp)
  - **Forms overview**, discussing Forms in general and different form libraries
  - **Set up**, we will cover how to install and set up a React project with Formik so you after the end of this section have a “Hello World” version working
  - **Taking it for a spin**, here we will create a relatively realistic Form example that includes most types of form fields
Validation types, there is more than one way to validate like every time the field value change or when you shift focus from one field to the next. Let's look at how to shift between these two modes

- [Formik, partII](https://dev.to/azure/no-more-tears-handling-forms-in-react-using-formik-part-ii-nh0)
  - **Schema Validation with Yup**, there is an alternate way to validate your input elements and that is by declaring a schema in Yup and simply assign that to an attribute on the Formik component
  - **Async validation**
  - **Built-in components**, make everything less verbose using some of Formiks built-in components
Telegram bot: Super Thinking 
Tags: go, bot, showdev
Published: 2019-11-07 03:21:11

---
title: Telegram bot: Super Thinking 
published: true
description: A telegram bot send you mental model every day
tags: go, bot, showdev
---
Gabriel Weinberg writes a book named [Super Thinking: The Big Book Of Mental Models](https://superthinking.com/) recently. I extract the full list of [mental models](https://superthinking.com/download/MentalModels.pdf?forcedefault=true). And Write a telegram bot that can send a model every day.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/q4dvry7dtcp16x9ejj1b.png)


Bot source code: https://github.com/daoleno/super-thinking-bot
Telegram channel: https://t.me/superthinking2u

Hope helpful for you.
Co-Hosting Orleans and ASP.NET Core
Tags: dotnet, dotnetcore, aspnetcore, orleans
Published: 2019-11-08 16:27:09

---
title: Co-Hosting Orleans and ASP.NET Core
published: true
date: 2019-11-07 02:19:42 UTC
tags: dotnet,dotnetcore,aspnetcore,Orleans
canonical_url: https://codeopinion.com/co-hosting-orleans-and-asp-net-core/
---

![Orleans and ASP.NET Core](https://codeopinion.com/wp-content/uploads/2017/11/logo-150x150.png)

With the release of Orleans 3.0 comes the ability to co-host with ASP.NET Core (or any other framework that uses the generic host builder).

What this means is you can run Orleans and ASP.NET Core in the same process.

The advantage to this is both services will share the same service provider, logging, etc that is configured with the host builder.

## Orleans and ASP.NET Core

{% youtube Y6gjDn-jnSE %}

The extension method **UseOrleans()** is available now on the **IHostBuilder**. Just like you would configure the ASP.NET Core via **ConfigureWebHostDefaults** , you can configure the Orleans silo.

{% gist https://gist.github.com/dcomartin/87082998051bf6b68b31d9e26b40bfdc %}

## Benefits

One of the nice benefits here is that because both services share service registrations, an ASP.NET Core MVC controller can have the **IClusterClient** injected into it.

{% gist https://gist.github.com/dcomartin/c1a73981f08879f674292bd0ca1b932a %}

Also since logging is configured it is shared between both ASP.NET Core and Orleans. When I run my demo application, you can see both services in my console logs.

[![](https://codeopinion.com/wp-content/uploads/2019/11/console-1024x80.png)](https://codeopinion.com/wp-content/uploads/2019/11/console.png)

## Health Checks

Another benefit of co-hosting Orleans and ASP.NET Core is you can provide a frontend via ASP.NET Core to expose status of your Orleans silo. I’ve written about the [ASP.NET Core Health Checks over on the Telerik Blog](https://www.telerik.com/blogs/health-checks-in-aspnet-core).

If you’re running in something Docker, AWS ECS or Kubernetes, this would provide you information to determine the health/liveness of your services

## Orleans 3.0

If you want more info on the 3.0 release, check out the [Announcement](https://devblogs.microsoft.com/dotnet/orleans-3-0/) for all the details.

Also, check out other related posts:

- [Part 1 – Practical Orleans](https://codeopinion.com/practical-microsoft-orleans/)
- [Part 2 – Grains and Silos](https://codeopinion.com/microsoft-orleans-tutorial-grains-and-silos/)
- [Part 3 – Smart Cache Pattern  
](https://codeopinion.com/orleans-smart-cache-pattern/)[Part 4 – Event Sourced Grain](https://codeopinion.com/event-sourced-orleans-grain/)
- [Part 5 – EventStore for Grain Persistence](https://codeopinion.com/eventstore-for-orleans-grain-persistence/)

[Follow @codeopinion](https://twitter.com/codeopinion?ref_src=twsrc%5Etfw)

The post [Co-Hosting Orleans and ASP.NET Core](https://codeopinion.com/co-hosting-orleans-and-asp-net-core/) appeared first on [CodeOpinion](https://codeopinion.com).
Migrating Linux to a new PC
Tags: linux, migration, ubuntu
Published: 2019-11-06 21:17:15

---
title: Migrating Linux to a new PC
published: true
description: It's not as tough as I imagined
tags: linux, migration, ubuntu
---

I had an official Lenovo IdeaPad 320 [craptop](https://www.yourdictionary.com/craptop) which I had used for 6 months before the [beast](https://support.hp.com/us-en/document/c06361920) finally arrived. The Omen 15-dc0151nia. 

By the way, things are not always what they seem when it comes to electronics. Beware of what you buy. More on that in a future article.

I expected that I was going to have to figure out how to export my configuration for all the various apps I had installed, ESPECIALLY my gnome extensions and custom config.

I spent some time learning a few new things about the `gsettings` command-line tool. But I ended up not using it.

All I had to do was COPY MY HOME FOLDER! Errrr, and my `/opt` folder too.

## How?
I had earlier replaced the hard disk in the Lenovo (only because I thought the previous one was a problem, I know better now) with one I bought. So I took it out, put in a external HDD enclosure and plugged it in.

Then, I fired up my Bash terminal (Heard some noise about `zsh`, haven't given it a thought though), and ran

```
sudo rsync -ah --progress <source> <destination>
```

to copy from my home folder in the hard disk to my new home (😉).

-a means copy EVERYTHING in the directory, down to the last detail, except hard links.
-h means output all numbers in human-readable format. Leave this one out if you are a fifth generation computer.
--progress gives you a copy progress report for every copied file

Oh and, [use rsync](https://twitter.com/Derskeal/status/1191042508094087168?s=20). `cp` doesn't give you a lot of the goodies.

Afterwards, I did same for my `/opt` folder then did a reboot, and voila! Everything was there.

But there was a problem. A very unexpected one. Chrome (! 😭) refused to load the second profile in my chrome data. So I manually did a cloud resync from the old hard disk, after booting directly from it with another PC (also possible with same PC), and then sync the cloud data to the new PC. Also, extension data went missing. So I manually exported it from the old 'PC' and imported it to the new one.

MIGRATION COMPLETE.

IT IS NOW SAFE TO TURN OFF YOUR COMPUTER.
How Friday developer potlucks can help build stronger, happier engineering teams.
Tags: productivity, career, management, agile
Published: 2019-11-07 01:14:20

Before joining Papa as director of engineering, I worked with plenty of different startups and mid-sized companies and I would receive these large features to build that would easily take two weeks to complete. 

**Heading out for the weekend knowing that I had this beast of a feature still there was demoralizing**. I couldn't really enjoy my weekend. The beast always lingered there in the back of my mind.

A big part of my job at Papa is making sure our engineering team is happy, productive and unblocked. I always approach things from the angle of: "I've been in their shoes. What would I have liked back then?" and do my best to make their professional lives easier.

This is where I thought of the potluck idea.

Here's the problem:

1. You have large tasks to work on during the sprint.
2. Smaller bugs and annoyances pop up during a regular sprint.
3. These small things build up in your mind and you leave Friday worried about the small things and the unfinished big thing.

Here's the solution, our sprint potluck:

Every Friday after lunch, we take the rest of the afternoon to pick one item from our potluck list and do our best to knock it out. 

This simple change brings a lot of benefits:

1. People go home with a feeling of accomplishment. A **finished** ticket no matter how small, is finished.
2. We whittle away at the long list of small annoyances.
3. People's brains can relax from thinking about that big incomplete thing for an afternoon and two days. Surprisingly, coming back to the large feature yields great results. The break does pay off!

Specifically, we use [Clubhouse](https://clubhouse.io/) as our project management tool.

# Collecting the small annoyance tickets

Each week we have one person on rotation to triage requests from head of departments in a Slack channel we call _department-support_.

We figure out:

- Is this a real issue?
- Is this request too out there and unreasonable?
- Is this a feature or a bugfix?

Then we place it into Clubhouse in our Backlog project.

# The day of the sprint potluck

We all meet over Zoom and go over each triaged ticket in the Backlog project. Every person on the team picks one ticket they think they can reasonably address during potluck.

We move each ticket into the potluck _iteration_ (Clubhouses' fancy word for an agile sprint)

# We feast

We all relax after a Friday lunch and tackle these smaller items with more levity and a fresh set of eyes. 

---

What happens if someone doesn't finish their potluck ticket?

They can take Monday morning to finish it off, but if they can't it means that the ticket is a candidate to become a normal sprint ticket - and no longer potluck. We discuss when its a priority to add it to the sprint.

I'd love to hear your thoughts about our sprint potluck and also if your team has any other engineering rituals. 

Thanks for reading!
Overchecking errors [#3 Scary Code]
Tags: scarycode
Published: 2019-11-07 07:30:34

---
title: Overchecking errors [#3 Scary Code]
published: true
date: 2019-11-07 01:09:26 UTC
tags: Scary Code
canonical_url: https://boobo94.xyz/scary-code/overchecking-errors/?utm_source=rss&utm_medium=rss&utm_campaign=overchecking-errors
---

When I started programming I had a problem trying to overcheck everything, all the errors, and everything. These days I discovered something similar:

```
(typeof err === 'object' && err.status==403) ||
(typeof err === 'string' && err.substring(0, 15) === 'Not authorized')
```

Firstly why the back-end sends either a string or an object.
Secondly 'Not authorized' has only 14 characters, which means the second condition still fails if we suppose that the error thrown by the server starts with `Not authorized`.

Remember, this is a series with scary code, so if you wanna see the complete list, you can [do it here](https://boobo94.xyz/scary-code/).

The post [Overchecking errors [#3 Scary Code]](https://boobo94.xyz/scary-code/overchecking-errors/) appeared first on [boobo94](https://boobo94.xyz).
电脑编程 (computer programming)
Tags: watercooler
Published: 2019-11-07 00:50:46

What type of characters do coder in china use? I mean we(English speakers) have the Latin characters which are widely accepted around the world. Also if there was a coder from America sending snippets from his program to a guy in China would he have to translate it all and (most important question) would it make any sense?
22 Examples Of Arrow Function JavaScript: Part 1
Tags: javascript, tutorial, webdev, beginners
Published: 2019-11-07 00:47:08

An Arrow Function in [JavaScript](https://buginit.com/category/javascript/) also called a “Fat arrow” function is a syntactically compact alternative to a regular function expression. It allows us to write shorter function syntax. Arrow functions are anonymous and change the way `this` binds in functions.

Arrow functions doesn’t support its own bindings to the `this`, `arguments`, `super`, or `new.target` keywords.

### #1 Basic Example

```
var materials = [
  'JavaScript',
  'HTML',
  'CSS',
  'Buginit.com'
];
// before 
console.log(materials.map(function (material) { return material.length}));
// with arrow function
console.log(materials.map(material => material.length));
// expected output: Array [10, 4, 3, 11]
```

### #2 Basic syntax

```
(param1, param2, …, paramN) => { statements } 
(param1, param2, …, paramN) => expression
// equivalent to: => { return expression; }
```

#### #2.1 Optional Parentheses

Parentheses are optional when there’s only one parameter present:

```
(singleParam) => { statements }
singleParam => { statements }
```

#### #2.2 Without Parameters

If you do not have any parameters then it should be written with a pair of parentheses like the example below:


```
() => { statements }
```

### [To see all 22 examples of Arrow Function Click here](https://buginit.com/javascript/an-advanced-guide-of-arrow-function-javascript/)


### [Part 2](https://buginit.com/javascript/an-advanced-guide-of-arrow-function-javascript-part-2/)
Instrumentation for Laravel: visualize operational data and performance metrics
Tags: laravel, performance, devops, architecture
Published: 2019-11-07 00:32:33

Offloading tasks for background processing is such a great resource in software engineering. And a good job queue does the job of abstracting this complex setup in a safe and maintainable way.

But as the number of jobs and data grows around the queue, we might wonder how much information we have about what is going on in the queue workers.

### What instrumentation can answer

![Huge job went down](https://i.imgur.com/as1S99xl.png)


- How many jobs ran last hour?
- What were the lengthiest tasks during that period of time?
- When did that job stop processing?
- What's the job run rate (how many per hour) and what's its average, max and minimum run times?

Those questions will introduce themselves especially during performance incidents, system malfunctions, data loss, etc - so imagine how useful it is to have an informed dataset about the system health.

### Horizon: mileage may vary

![Horizon dashboard has a good interface](https://i.imgur.com/KO6Hp2y.png)

For the Laravel Queue there is the good [Horizon Dashboard](https://laravel.com/docs/master/horizon), which is free and readily integrates to redis queues. But if you need customized dashboards or to smash data in order to answers more questions then custom instrumentation comes handy.

### Determining what to instrument

![Exeptions handled historigram](https://i.imgur.com/YXLClK1.png)

For **in-house instrumentation** where we consume the data ourselves I've been targeting to gather initially:

- **name of the procedure** (the Job class name in this case)
- **time spent processing**
- **procedure params**
- **caught exception description**

There is a tendency to log out as much information as possible. For optimal instrumentation, don't do that. Include in the instrumentation payload only what's most relevant for the system operation.

### Ingestion and data analysis

Instrumentation data will be really useful only with _log ingestion and visualization tools_. There are many projects out there in the market, such as the open-source Elastic Stack (logstash + kibana) and the paid service LogDNA.

### Laravel Queue Instrumentation: a implementation

Over the past year, I've solved lots of performance and data loss situations with a similar approach. Above I'm sharing a gist with a sample Laravel Queue instrumentation.

{% gist https://gist.github.com/thiagof/f893e8095580d983ec309653667bcddb %}

How about your experience, have you ever instrumented system runtime? What tools and process do your team makes use?
Share our creative workstation!
Tags: workstations, workshop
Published: 2019-11-07 00:27:12

---
title: Share our creative workstation!
published: true
description: Share our creative workstations to Dev.to community! Come join us.
tags: workstation, workshop
---

I read this article by Ben a while ago.

{% link https://dev.to/ben/my-home-office-is-coming-along-nicely-15pk %}


I think that for every engineer, you need a workstation that will make you comfortable. We can share it and let ourselves rest for a while.

Or, you have already done your workstations. Come to share with us.

Ok, I first

My workbench of home:

![Workbench](https://thepracticaldev.s3.amazonaws.com/i/fsmbk298jfikflxf5n1a.jpeg)

My whiteboard of home：

![Whiteboard](https://thepracticaldev.s3.amazonaws.com/i/31uyv18k7z3pga36wqw2.jpeg)

And sometimes,I often go to a coffee shop.


![Coffee shop](https://thepracticaldev.s3.amazonaws.com/i/lt7jaddzuy4ce0m4wxc9.jpeg)
Laravel 6 FullCalendar Example
Published: 2019-12-04 11:22:35

---
title: Laravel 6 FullCalendar Example
published: true
date: 2019-11-07 00:00:00 UTC
tags: 
canonical_url: 
---

hii guysIn this exampleI will show to you how you can integrate a fullcalendar in laravel 6 application i write step by step instruction of laravel 6 FullCalendar ajax exampleyou will learn step by step how you can simply use a fullcalendar with its events In this example We will imp