teleren/devto huggingface dataset:
Where should I host my web app?
Tags: discuss
Published: 2017-10-05 22:22:43

---
title: Where should I host my web app?
published: true
tags: discuss
---

I'm building a web app which will probably only ever have a few users, but may someday have as many as 100,000 (#wishfulthinking). I need to figure out where to host it. AWS and Azure seem overpowered (and expensive). Heroku is one I've heard of, but don't know much about.

My main criteria are: easy to use; easy to scale; cheap enough to pay for with loose change unless it starts getting a ton of traffic; able to host an SPA and its supporting API with a small database behind it.

What do you use/like?
Your favorite analogies to explain IT concepts. Let's discuss!
Tags: analogy, itconcepts, discuss
Published: 2017-10-05 19:35:41

---
title: Your favorite analogies to explain IT concepts. Let's discuss!
published: true
description: 
tags: analogy, itconcepts, discuss 
---
![](https://thepracticaldev.s3.amazonaws.com/i/u7zj5emazcrp1pew0a0z.jpg)

Since my previous post on suggestions around best way to explain APIs to a non-technical audience, I gave an in-company talk on upcoming features on the technology I am currently working with (MuleSoft).

The great replies received in the last post inspired me and I already started applying some of the suggestions. 
This brings me back to the fact that the easiest way to connect with your audience and have them easily understand concepts that otherwise would seem difficult to grasp is to use analogies with which they can easily relate. The discussion becomes more appealing and at the same time easier to follow. 


The most recent analogy I read about and also used, is related to explaining how streaming consumption works. 

There are two main challenges when consuming a stream: 
- it can only be read once
- it cannot be read in parallel 

Think of a pint of beer, each sip you take is one sip you cannot take again. Similarly, if two people use two straws to sip from the same pint, none of them will ever drink the full pint.

Do you have preferred analogies to explain complex IT concepts? Curious to hear your thoughts around this! :-)
JW Player is Hiring a Test Automation Engineer
Tags: hiring
Published: 2017-10-04 18:45:13

---
title: "JW Player is Hiring a Test Automation Engineer"
published: true
description: Join the JW Player team
tags: hiring
automatically_renew: true
---

# Test Automation Engineer

__New York, NY__

__JW Player is the world's most widely-adopted web video player, generating more than 15 billion video streams a month.__ We’re looking for an Automation Engineer who is as excited about helping scale our functional and automation testing processes as they are about new video technologies and finding ways to test them!

## In this role, you will:

* Work closely with the Product and Engineering teams to define acceptance criteria and build detailed test plans

* Take an active role in increasing the percentage of automated test cases by writing Cucumber feature files and contributing to our Selenium/Ruby framework

* Execute hands-on functional testing on the JW Player, testing integrations across multiple platforms and configuration scenarios

* Collaborate with development teams to understand how development changes affect ongoing automation efforts

* Work as part of a scrum team in an agile environment

## Requirements

* Minimum 3-5 years relevant test automation/software development experience

* Experience with HTML, JavaScript, and CSS; hands-on JavaScript coding/troubleshooting experience preferred

* Experience using open source tools like Git and Jenkins

* Proven automation experience with Selenium Webdriver

* Skilled in analyzing feature requests/requirements, and determining potential tests that should be created

* Ability to learn new technologies, tools, and processes quickly

## Bonus Points

* You’ve successfully implemented new testing/automation tools and processes

* You’ve implemented and maintained automated visual tests using tools such as Applitools

* You’ve held a developer role in the past

* Comfortable multi-tasking between several projects and releases

* Knowledge of video encoding, ad networks, content management platforms, and/or video streaming protocols

_This is a full time role based in our NY offices._

## Company Description

If you've watched video on the web, you already know us. JW Player is the largest, and fastest growing, independent online video platform in the market today. We provide a popular suite of software products that enable over 2 million publishers to deliver and monetize their content on any device. Our flagship product, JW Player, is currently the most widely used video player in the world.

__We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.__

<center><h2> [Apply For This Position](https://boards.greenhouse.io/jwplayer/jobs/781926?gh_src=5kb07n1#.WdewxRNSx0s)</center>

---------
Remote Hacktoberfest Hackathon
Tags: software
Published: 2017-10-05 17:39:49

---
title: Remote Hacktoberfest Hackathon
published: true
tags: software
---

Are you ready to get your [Hacktoberfest](https://hacktoberfest.digitalocean.com/) on? We want to help you. DailyDrip will be holding a Remote Hackathon to help people contribute to open source projects to get their Hacktoberfest PRs in. DailyDrip’s Remote Hacktoberfest Hackathon will be from Oct. 13th - 15th, but Hacktoberfest is all month long.

[Register for the Hackathon weekend, and we’ll code something awesome together.](https://dailydrip.typeform.com/to/bKcYuX)

We'll be working on Elixir and Elm projects ourselves, but we'll help people with **any project in any language. **

## Wait. What is Hacktoberfest?

Hacktoberfest is a month long celebration of Open Source Software. The premise is simple: submit four open source contributions on GitHub, and get a free limited-edition T-Shirt(from Digital Ocean & GitHub). Last year contributors [submitted more than 90,000 pull requests during Hacktoberfest](https://github.com/blog/2433-celebrate-open-source-this-october-with-hacktoberfest). You can read more about [Hacktoberfest 2017 on Digital Ocean’s website.](https://hacktoberfest.digitalocean.com/)

![Hacktoberfest Shirt](https://dailydrip-assets.s3.amazonaws.com/DailyDrip/blog_posts/hacktober-hackathon/image_0.jpg)

Take a look at this [beautiful limited edition T-Shirt](https://github.com/blog/2433-celebrate-open-source-this-october-with-hacktoberfest), which could be yours. [Sign up now,](https://dailydrip.typeform.com/to/bKcYuX) and let’s celebrate Open Source Software together!

This was originally posted on [DailyDrip.com](https://www.dailydrip.com/blog/remote-hacktoberfest-hackathon)
What API-first SaaS providers do you use?
Tags: discuss, api, cloud
Published: 2017-10-05 12:58:40

---
title: What API-first SaaS providers do you use?
published: true
tags: discuss, API, cloud
---

I stumbled upon an interesting [article](https://increment.com/cloud/why-startups-should-run-on-cloud-providers/) in the recent issue of Stripe’s Increment Magazine. Now, I'd like to learn how popular are cloud providers in todays software development world (not only startup). Can you tell me if you use API-driven SaaS providers in your projects? If so, what are they. If not, why not?

BTW, I've compiled a [list](https://www.voucherify.io/blog/2017/6/6/feature-as-a-service-new-and-noteworthy?utm_campaign=tech&utm_medium=Link&utm_source=devto) of new and noteworthy API platforms and am happy to extend it with your suggestions. 


![](https://thepracticaldev.s3.amazonaws.com/i/tkvksof9d8hgnkxd2id5.jpeg)
Handle HTTP Request Errors in Go
Tags: go
Published: 2017-10-05 05:02:02

---
title: Handle HTTP Request Errors in Go
published: true
description: In this short post I want to discuss handling HTTP request errors in Go. I see people write code and they believe to be handling errors when making HTTP requests, but actually they are missing real errors.
tags: go
---
In this short post I want to discuss handling HTTP request errors in Go. I see people write code and they believe to be handling errors when making HTTP requests, but actually they are missing real errors.

Here is an example of simple http server and GET request to itself.

```
package main

import (
	"log"
	"net/http"
)

func main() {
	http.HandleFunc("/500", func(w http.ResponseWriter, r *http.Request) {
		w.WriteHeader(500)
		w.Write([]byte("NOT-OK"))
	})
	go http.ListenAndServe(":8080", nil)

	_, err := http.Get("http://localhost:8080/500")
	if err != nil {
		log.Fatal(err)
	}
}
```

It's a simple code: we are starting a server, then we make a request to this server. It returns 500 response code, we check returned `err` value, but...

```
if err != nil {
	log.Fatal(err)
}
```

If we run this code we will not catch error. As official [documentation](https://golang.org/pkg/net/http/#Client.Get) says:

> An error is returned if the Client's CheckRedirect function fails or if there was an HTTP protocol error. A non-2xx response **doesn't** cause an error.

So what we should always do, check response code together with an error:

```
resp, err := http.Get("http://localhost:8080/500")
if err != nil {
	log.Fatal(err)
}
if resp.StatusCode != 200 {
	b, _ := ioutil.ReadAll(resp.Body)
	log.Fatal(string(b))
}
```

Now, if we run our code it will log response body in case of non-200 response code. It's an easy mistake to make. But now you know, and it's half the battle!

[Original post in my Blog](http://pliutau.com/handle-http-request-errors-in-go/)
Law of conservation of energy!
Tags: suffering, care, service, heat
Published: 2017-10-05 08:39:59

---
title: "Law of conservation of energy!"
published: true
description: 
tags: suffering,care,service,heat
cover_image: https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRsCZpGbUDvnxF46ShzNueOYyY9fP9x2Gj0xS1Hu139A3hxfwlZ
---

Today, as I was playing with my smartphone and thinking deeply about energy conservation, I started imagining the horrific images of las Vegas mass shooting. Also,I started to reflect upon the mass change in all the victim's families, their pain and their loss. 

![image](https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTZ-q1QeBdCx5pEiANmPZfjTjoK7cVT0O-fGwEIZpJcecg9XGrL6p9LSGr6TQ)




![image](https://lh3.googleusercontent.com/proxy/xu2N__AVbBeX-I4lujr-1LhIl0pjvVXiUApgAcuGpFCtvTlnacOmRyOPnfU1053v6kGZGxHQxlunL_RRDc__-4YCS03DuxpRGrw92yTlvzqrldlCO8W7mbyASV3r3ysBMAx1U2lZ8YzEmkzaJYcXvAPNz1ewXw8X8Kc=w450-h327-nc)



So, likewise, I Got reminded of Mother Teresa and her works.

![image](https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTXHZsZ_-_Qse8Zb-siOWwU7IanAN3nR14kLtCJY7YoyXfWoOwr)

"She must have felt it hard to take care of those who were suffering in and around her."... This was my ongoing thought.

![image](https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQo-iqAUvWu5BCUuA3LX9NSCpxeMXltEbrhvoYvNf2KCBHfjGhP_--q6pNH)

Eventually, my brain started to form some ambiguous patterns and creative juices started to flow rapidly.
The below image is the product of all the combinations that my brain formed.

![image](http://i67.tinypic.com/2ni45f8.jpg)


My fellow developers, as we use our intellect to form products, play with codes, and love our dear ones; let us also try taking care of those in need with our hopeful action, with our little strength and humble love in our hearts.
How do you prefer to learn new tech?
Tags: discuss, beginners
Published: 2017-10-05 01:03:57

---
title: How do you prefer to learn new tech?
published: true
description: Curious about learning preferences out there.
tags: discuss, beginners
---

What is your preferred method of learning a new language, framework, library, etc.?

- Do you try to grok the docs?
- Do you watch videos or read articles?
- Do you try to migrate an existing project using the new things you're trying to learn?
- Do you follow along with examples/tutorials?
Short variable declaration rules
Tags: go
Published: 2017-10-04 21:08:53

---
title: Short variable declaration rules
published: true
description: How to use short variable declaration properly.
tags: go
---

This is a spin-off post from my main post of *Visual how to guide to Go variables*, [go check it out](https://blog.learngoprogramming.com/learn-go-lang-variables-visual-tutorial-and-ebook-9a061d29babe?source=collection_home---4------0----------------).

----

## ðŸ‘‰ You can’t use it to declare package-level variables.

```go
illegal := 42
func foo() {
  legal := 42
}
```

## ðŸ‘‰ You can’t use it twice:

```go
legal := 42
legal := 42 // <-- error
```

Because, := introduces "a new variable", hence using it twice does not redeclare a second variable, so it's illegal.

## ðŸ‘‰ You can use them twice in “multi-variable” declarations, if one of the variables are new:

```go
foo, bar  := someFunc()
foo, jazz := someFunc()  // <-- jazz is new
baz, foo  := someFunc()  // <-- baz is new
```

This is legal, because, you’re not redeclaring variables, you’re just reassigning new values to the existing variables, with some new variables.

## ðŸ‘‰ You can use them if a variable already declared with the same name before:

```go
var foo int = 34
func some() {
  // because foo here is scoped to some func
  foo := 42  // <-- legal
  foo = 314  // <-- legal
}
```

Here, `foo := 42` is legal, because, it redeclares `foo` in `some() func`'s scope. `foo = 314` is legal, because, it just reassigns a new value to `foo`.

## ðŸ‘‰ You can use them for multi-variable declarations and assignments:

```go
foo, bar   := 42, 314
jazz, bazz := 22, 7
```

## ðŸ‘‰ You can reuse them in scoped statement contexts like if, for, switch:

```go
foo := 42

if foo := someFunc(); foo == 314 {
  // foo is scoped to 314 here
  // ...
}

// foo is still 42 here
```

Because, `if foo := ...` assignment, only accessible to that if clause.

----

â¤ï¸ Share this on [twitter](http://twitter.com/intent/tweet). Please share the love.
ðŸ¦ I’m mostly tweeting about Go, you can follow me on twitter: @inancgumus.
ðŸ”¥ I’m also creating an online course to teach Go. [Join to my newsletter](http://eepurl.com/c4DMNX)!
*You will receive notifications about my new posts and upcoming online Go course (every Wednesday)*.

----

*Originally published on [Go Short Variable Declaration Rules](https://blog.learngoprogramming.com/golang-short-variable-declaration-rules-6df88c881ee) in [Learn Go Programming](https://blog.learngoprogramming.com).*
JW Player is Hiring a Javascript Engineer
Tags: hiring
Published: 2017-10-04 18:45:26

---
title: "JW Player is Hiring a Javascript Engineer"
published: true
description: Join the JW Player team
tags: hiring
automatically_renew: true
---

# Javascript Engineer

__New York, NY__

JW Player is the world's most widely-adopted web video player, generating more than 15 billion video streams a month. We're looking for a software engineer with top-notch JavaScript skills to join a world-class team of front-end software engineers dedicated to building cutting-edge features while maintaining our best-in-class performance. This role is on the Video Advertising Technology Team.

## In this role you will:

* Write clean and reusable code using the latest web technologies (JavaScript/ES6, Webpack, Node.js)

* Take ownership of feature development and releases

* Participate in code reviews on github and with your peers

* Improve performance, stability and user experience of ad playback in the JW Video Player

* Develop innovations in the video advertising ecosystem

## Requirements:

* 3+ years commercial experience 

* Expertise in front-end web development with JavaScript, HTML5, CSS

* Experience developing and deploying web applications

* Attention to detail implementing designs and testing across browsers

* Knowledge of best practices, frameworks, functional programming and OOP

* B.S. degree or higher in Computer Science or related technical field

## Bonus Points:

* Understanding of video advertising technologies and standards (VAST, VMAP, VPAID, Google IMA)

* Strong portfolio or Github profile

* ES6/ES2015, W3C standards, CommonJS/AMD, Node.JS

* Experience with DASH, HLS and/or other streaming technologies

_This is a full time role based in our NY offices._

## About Us 

If you've watched video on the web, you already know us. JW Player is the largest, and fastest growing, independent online video platform in the market today. We provide a popular suite of software products that enable over 2 million publishers to deliver and monetize their content on any device. Our flagship product, JW Player, is currently the most widely used video player in the world and is used in over nine billion streams each month. We recently finalized a $20 million round of series C financing to continue this upward momentum and invest in products that are changing the online video landscape.

_We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status._

<center><h2> [Apply For This Position](https://boards.greenhouse.io/jwplayer/jobs/748396?gh_src=fn4buv1#.WdewgBNSx0s)</center>

---------
JW Player is Hiring a Software Engineer, Big Data
Tags: hiring
Published: 2017-10-04 18:45:17

---
title: "JW Player is Hiring a Software Engineer, Big Data"
published: true
description: Join the JW Player team
tags: hiring
automatically_renew: true
---

# Software Engineer, Big Data

__New York, NY__

Do you love to code?  Want to work with big data?  Then we’ve got the job for you!  At JW Player, we process over 3.5 TB of data a day -- and the data is fascinating!  We’ve got the viewing habits of a couple billion people across thousands of websites -- everything from silly cat videos to hard-hitting journalism.

Interested in realtime processing?  Batch processing?  We do both!  JW Player employs cutting-edge technologies like Spark, Kafka, Flink, and Storm to deliver high-quality analytics as fast as physics will allow.  

If you have experience with big data, we’d love to speak with you!  But even if you don’t, we’d still love to speak with you. We’re looking for someone with a proven track record of writing high-quality code for a production environment. If you’re an excellent developer, you have a place at JW Player.

## Requirements :

* __Strong programming fundamentals.__  You know your algorithms, you know OOP, you know your way around a debugger.

* __A proven track record writing of code for a production environment.__ A history of supporting that code through the full development lifecycle.

* __Experience with data.__  Doesn’t need to be big data, but your SQL should be strong and you should have a solid grasp of data modeling principles.

* __An obsession with testing.__  Experience with TDD a strong plus.

* 3+ years of industry experience

* A degree in Computer Science or a relevant discipline

## Our tech stack :

* __Code:__ Mostly Python with some Java

* __Real-time processing:__ Kafka, Flink, Storm

* __Batch processing:__ Spark, Hadoop

* __Storage:__ S3, Postgres, Redis

* __Cloud:__ All AWS, all the time!

## About JW Player

If you've watched video on the web, you already know us. JW Player is a venture-funded, online video software company based in Manhattan. Our flagship product, the JW Player, is deployed on over 2 million websites and streams billions of videos each month.  Started in 2008 as the world’s first open source video player, today the company’s customers span the globe across 193 countries and range from Fortune 500 companies to individual bloggers. We’re busy innovating for the future by actively hiring smart, motivated, and innovation-driven people! Come help us imagine and define what comes next! jwplayer.com/careers

_We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status._

<center><h2> [Apply For This Position](https://boards.greenhouse.io/jwplayer/jobs/734396?gh_src=ntb54y1#.Wdew7RNSx0s)</center>

---------
SOLID Principle in Javacript
Tags: solid, javacript, discuss
Published: 2017-10-04 17:40:28

---
title: SOLID Principle in Javacript
published: true
description: What SOLID principle means to a Javascript developer
tags: SOLID, Javacript, discuss   
---

Hi folks,

At my current work, as a part of a program to learn and improve our skills as a developer, we pick a good book related to software engineering, read a chapter each week and discuss with the team on what we learnt, how it can be useful to the team.

Currently we are reading the book, [Adaptive Code: Agile coding with design patterns and SOLID principles](https://www.microsoftpressstore.com/store/adaptive-code-agile-coding-with-design-patterns-and-9781509302581). We have been reading the book for some time, and the challenge we face right now is that none of us use C# at the work. We have mobile, web and systems teams and we primarily use java, swift, javascript and C. Language wise, it was a bad choice to pick this book; However the book is pretty good and well organized.

In Mobile team, we don't have any challenges in following the examples as C# & Java are OOP oriented. But our web team have challenges to grasp the concepts as they write in javascript (angularjs and node.js) which is functional oriented.

This is one good link that I found out,

- [http://aspiringcraftsman.com/2011/12/19/solid-javascript-the-openclosed-principle/](http://aspiringcraftsman.com/2011/12/19/solid-javascript-the-openclosed-principle/)

Have anyone come across any other good examples, references, or books that you can recommend?

Also I would like to understand what SOLID principles means to a web developer who's writing in angularjs & node.js and how they can apply. Can anyone throw some light on this.
I'm the community engineer on the Glitch team at Fog Creek, ask me anything!
Tags: ama
Published: 2017-10-04 15:59:03

---
title: "I'm the community engineer on the Glitch team at Fog Creek, ask me anything!"
published: true
description: Jenn Schiffer is also an organizer of jerseyscript, co-organizer of brooklyn js, and a pixel artist.
tags: ama
cover_image: https://thepracticaldev.s3.amazonaws.com/i/c44m1bjv64g77zw1zdul.jpg
---

I'm the [glitch.com](https://glitch.com/) community engineer at [fog creek](https://fogcreek.com/), as well as an [artist](http://jennmoney.biz/art), [writer](https://jenn.glitch.me) and [troublemaker](http://medium.com/cool-code-pal) in jersey city.

My most popular side project is [make8bitart.com](http://make8bitart.com/), which is a free in-browser open web application I built so I could draw pixel art, along with anyone else. Over 1000 visitors daily use it and it's [open source](http://github.com/jennschiffer/make8bitart)!

I'm also an organizer of [jerseyscript](http://jerseyscript.org), co-organizer of [brooklyn js](http://brooklynjs.org). I love community organizing and helping people learn and continue to solve problems with code.

Ask me anything!