teleren/devto huggingface dataset:
New inspiring programming languages
Tags: programminglanguage, programming, discuss
Published: 2018-11-11 14:42:37

---
title: New inspiring programming languages
published: true
description: I want to tell you about new or relatively new not widely used languages which from my point of view present some breakthroughs. 
tags: [programming-language, programming, discuss]
cover_image: https://thepracticaldev.s3.amazonaws.com/i/uw6ovkc81a76zzbky078.jpg
---

I want to tell you about new or relatively new not widely used languages which from my point of view present some breakthroughs. I wonder what else do I miss in this field?

Need to say that I will talk about relatively unpopular languages, so this disqualifies  Rust or Julia, but feel free to drop a line about your favorite language and what innovative it does.

## Ponylang

[Ponylang](https://github.com/ponylang/ponyc) combines a couple of ideas and a lot of research behind it. 

It has an actor model, like in Erlang, but message passing is done with zero-copy (unlike Erlang). 

It has "borrow checker", like in Rust, but it has more kinds of references, for example, an identity which you can't read or write, only compare. 

Because of "borrow checker" it can have stronger guarantees about the scope of variables and because of actor model, it can have non-stop garbage collector for each actor.  This is just, to sum up, what impresses me, it is better to watch talk of the author about his language.

{% youtube KvLjy8w1G_U %}

## Skip

[Skip](http://skiplang.com/) recently released to opensource by Facebook. This is the result of 3 years of research, they are not interested in actively developing anymore, but it has some interesting ideas.

It is a practical blend of functional and object-oriented styles, it encourages global immutability, but allows local mutations for convenience and has very interesting syntax for it which is a gradient from OOP-ish mutation to functional lenses (depending on where you put `!`).

It has a very interesting concept of built-in memoization and reactivity (without the need to worry about cache invalidation problem).

A bit chaotic explanation, I guess the author explains it better. (In the video the author talks about a language called Reflex, but I'm pretty sure this is one of the old names of Skip, and I didn't find better video for this language).

{% youtube AGkSHE15BSs %}

## Zig

[Zig](https://ziglang.org/) is like a C on the level of abstraction but built with memory ~safety~ awareness up front. 

It is possible to **cross**-compile one program to 3 platforms. It claims to produce more efficient code and compile-time suppose to be good.

What really draws my attention to this language is passion of the author and novice approach to memory allocation problem. Most of the different languages don't talk about what would happen if we run out memory. Memory-aware language combined with unikernel (which is also written in that language) seems to be a very powerful idea. Don't take it from me - listen to the author.

{% youtube Z4oYSByyRak %}

_Photo by Inês Pimentel on Unsplash_
What can NodeJS do?
Tags: javascript, web, node
Published: 2018-11-11 13:56:11

---
title: What can NodeJS do?
published: true
description: In this post i talk about why i like node so much, and why you should give it a try
tags: js, web, nodejs
cover_image: https://thepracticaldev.s3.amazonaws.com/i/8l92szqqym1gkifd0y0f.jpg
---
*This post was originally posted on [my blog](https://blog.kartikmalik.com/what-can-node-do/)*



In this post, I will just pour my heart about node and what it has to offer. I have broken down the article into a series of questions and answers so that it becomes easy to grasp.

### What is Node?

According to the [Official site](https://nodejs.org/en/), "Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.". In simpler terms, NodeJS is a server-side programming framework, that allows you to write server side code using Javascript. It's open source and free to use. You can install NodeJS on a variety of operating systems, and being Javascript it's very easy to learn too.

### Why Node?

With so many different options out there why should you choose it?

There are many reasons for this:

- Easy to install, learn, work with.
- Excellent support for dependency management. Node comes with 'npm', npm allows you to install any dependencies you need. This way setting your code up on any machine is a breeze.
- Good community support. With npm, you have access to loads of packages you can use within your code. If you are stuck with something you will find many people willing to help on Github and Twitter.
- Easy to deploy.
- Asynchronous programming (Initially this will be difficult to grasp, but once you get hang of this you will love it.)
- And finally, Javascript.

### What can it do?

With node, you can build different types of applications, scripts, web scrapers, CLI apps, web servers, web application, IOT apps. It has numerous open source packages that will help you get your project moving quickly. Using sockets you can also build an app that needs real-time data. There are libraries that will allow you to fetch data from many data stores, templating engines to build web apps. This way you can build a variety of apps using Node.

### How to get started?

So if you are interested to just [install](https://nodejs.org/en/download/) NodeJS on your machine,fire up your favorite IDE. If you are on Linux or Mac I would suggest that you use [nvm](https://github.com/creationix/nvm) insted. With nvm, you can have multiple node versions installed on your machine and switch between them with easily with just one command. If you are using Windows, you can search for a similar tool online.

That's all I have to say, give NodeJS a try and see for yourself how fun it is. In the next few posts, I will cover important Javascript concepts you should know, tutorials on how to build apps. So stay tuned!

*Cover Photo by Patryk Grądys on Unsplash*
Tutorials and Expiration Dates
Tags: beginners, devforesight, mistakesweremade
Published: 2018-11-11 13:16:12

---
title: Tutorials and Expiration Dates
published: true
description: Optimizing Tutorial Searches
tags: Beginner, Dev Foresight, Mistakes Were Made
---

For the past half year or so I’ve been lucky enough to have worked on an ASP.NET project from the safe confines of well defined requests from the client and mentorship from a veteran programmer. Learning this way is great, and I get a feeling of comfort knowing that any dire problems can be clarified by either talking to my mentor/boss or talking with the client directly. This is like being in an insulated heated gazebo during a steady storm, with beer and munchies at the ready. 

<img src='https://thepracticaldev.s3.amazonaws.com/i/nbpb0u50n69ijzee8ek6.jpg'/>

Learning on the internet is more like being thrown into a massive bazaar where sometimes the people are trying to sell you on following their tutorials or instructions that may have been written four years ago with dependencies glowing a red hue of security flaws. Others may have tantalizing titles and recorded demos, but an hour in you find that their code is missing crucial parts, or that other dependencies have been updated causing breaking changes. I call these kinds of problems expiration date problems and this has been my experience as I’ve embarked on learning Angular 7 in the wild. 

<h3>How can you filter tutorials and guides to get a better experience and waste less time?</h3>

There are so many awesome tutorials out there that it can be overwhelming. So, how can you filter tutorials and guides to get a better experience and waste less time? To that I say, exactly. Filter and common sense are your two best buds. When looking on YouTube, filter tutorials that have been created a month or less ago. As for common sense, consider what level you are in the language. Are you a beginner? Then a 6 minute video claiming to create a MEAN Social Network app is probably going to either be sped up or just highlighting the conceptual things you need to know, not the step by step approach to get you used to the language/framework. The hour and ten minute video uploaded about CRUD operations is probably the better way to go. Next check the comments (also common sense). Are a lot of people noting how they couldn’t get the app to work without any kind of resolution from the uploader or other peers? That’s a big enough red flag to toss it. Last, check the date. Web technology is moving so fast that something from 6 months ago may be completely unused or changed so completely to be unusable. My rule of thumb, is to treat it like milk times four. If it’s a month old, it’s good. Anything more than that and you’re pushing your luck.

<h3>TL;DR
-Check the tutorials comments section / length (if it’s a video) and draw conclusions from common sense
-If it’s more than a month old it’s entirely possible that it’s not going to work
</h3>
Stay salty out there my fellow web enthusiasts
On The Kindness of Strangers
Tags: discuss, meta
Published: 2018-11-11 12:37:40

---
title: On The Kindness of Strangers
published: true
description: What makes this place unique
tags: discuss, meta
---

I am consistently impressed by the respect on display here.

What's the secret sauce?  I've never come across another online community, technical or otherwise, that can maintain this atmosphere especially as it grows.  Inflated egos mixed with the detachment of keyboards and screens between you and everyone else tend towards toxic situations despite best intentions.

I've seen none of that here yet, but I have seen healthy, spirited debate with intelligent points and discussion on multiple sides.  We don't go all ad hominem, the discussion is always relevant and well-articulated, and everyone seems willing to listen as well as speak.

What voodoo is this?  I know the Dev.to team is pleasant as all heck, and that attitude definitely trickles downward, but that can't be the whole story.  Is there a massive moderation machine at work?  Have the content contributers here simply self-selected for being nice?

How can we capture and encourage this positivity to infect other useful, technical communities that are less welcoming?
What articles from the past week have impacted you most?
Tags: discuss, bestofdev
Published: 2018-11-11 01:47:18

Do you have any articles from the past week or so that have changed the way you think? That you feel make you a better developer for having read?

What are the top readings from the web that have you excited? Wanting to try a new idea or approach?

Has anything changed the way you work? The way you live? The way you view our profession?

---

I'll kick it off with my top three (ok, four, but the last two should be read together and compared for historical value):

- [_The Architecture No One Needs_](https://www.gregnavis.com/articles/the-architecture-no-one-needs.html) — Do you ever get the feeling we're re-implementing every web technology in our SPAs? I do. That someone else has felt the pain and can eloquently describe it somehow serves as a salve.

- [_Combining the Powers of SEM and BIO for Improving CSS_](https://css-tricks.com/combining-the-powers-of-sem-and-bio-for-improving-css/) — I've been researching CSS a lot since I'm terrible at it. This single article synthesized a lot of things nicely about the approaches from the past decade: OOCSS, SMACSS, BEM, &c.

And in nothing-new-under-the-sun territory, I've witnessed a lot of new CSS (micro)libraries using classless rulesets with just enough classes to create interesting designs with unique visual identities. So, classes or classless? Which is better?

- [_Challenging CSS Best Practices_](https://www.smashingmagazine.com/2013/10/challenging-css-best-practices-atomic-approach/) — Big stylesheets are unmaintainable. Composability is nice, but this approach seems to break encapsulation.
- [_Classes? Where We're Going, We Don't Need Classes!_](https://www.smashingmagazine.com/2012/06/classes-where-were-going-we-dont-need-classes/) — We don't need small classes and lots of them. We have preprocessors. CSS is quite elegant when you embrace it. We've already got encapsulation: elements!
Implements Erlang Process using Ruby -- spawn, receive, scheduler
Tags: ruby, erlang
Published: 2018-11-11 11:35:37

---
title: Implements Erlang Process using Ruby -- spawn, receive, scheduler
published: true
description: 
tags: ruby, erlang
---

This is written by others, I think it's fun so post it here.

```ruby

require "./erl_scheduler"
require "./erl_process"

scheduler = ErlScheduler.new
counter = scheduler.spawn(Counter)

10000.times do |i|
  scheduler.send_message(counter, :inc)
end

scheduler.send_message(counter, :stop)
scheduler.loop

```


[translated link -->](https://translate.google.com/translate?sl=auto&tl=en&js=y&prev=_t&hl=en&ie=UTF-8&u=https%3A%2F%2Fruby-china.org%2Ftopics%2F37750%23Example&edit-text=)
Search features in Visual Studio Code
Tags: productivity, devtips, webdev, vscode
Published: 2018-11-11 11:18:50

---
title: Search features in Visual Studio Code
published: true
description: Search features in visual studio code
tags: productivity, devtips, webdev, vscode
series: VSCode productivity features
---

Did you know that, aside from searching for strings (in the current document or in all documents) there are a total of **four** other search features inside Visual Studio Code? Let's take a look!

## 1) Search file (`CTRL` + `P`)

This is simple, if you know the name of the file, there is no longer a need to go into the file explorer and select. Simply type in the full or partial name and VSCode will automatically look into your current workspace and display the ones that contain the name you just wrote (at the top of the list would be the files already open).

Example video:
{% instagram Bo32dReBYum %}

## 2) Search for symbol (`CTRL` + `T`)

If you know, for example, the name of a private function but you don't exactly know its location, this can come in handy. Simply hit the shortcut (or open the command pallete and prefix it with `#`) and type in the function's name, you will get a list of symbols preceded by their file location.

Example video:
{% instagram Bo_dbVbhTyz %}

## 3) Search local symbol (`CTRL` + `SHIFT` + `O`)

Same as above, just in the current source file. You can also open the command pallete and type `@`.

A bonus feature from the one above is, if you prefix the search with `:` you will group them by symbol type so it's easier to find if you don't know its full name.

Example video:
{% instagram BqCYkGyh_Fk %}

## 4) Search by reference (`SHIFT` + `F12`)

People should know about this feature since in VSCode it is implemented in such a way that it makes searching for references very fast. If you hit the shortcut on a symbol you will get a "popup" that, not only displays all the places the symbol is used, but also shows you a ~15 line snippet of **how** it is used so you don't have to actually go to the file and check if that is the reference you want. 

We are using Visual Studio 2013 and not having this feature on the backend slows us down quite a lot. This is one feature that makes VSCode feel like an ease to work with.

Example video:
{% instagram Bp_sb5RliEp %}

## End

 * Have you found these useful? Try using at least one of the ones you didn't know about, it is going to improve your productivity a bunch!
 * Are there some features I missed related to searching?
 * Is there a feature that VSCode missed implementing related to searching?
Scala - pattern matching (exploring different solutions)
Tags: scala, beginners
Published: 2018-11-11 10:54:49

---
title: Scala - pattern matching (exploring different solutions)
published: true
description: 
tags: #scala, #beginners
---
This is a very short comment about Scala pattern matching.

I recently had to deal with some pattern matching action in Scala. Have you ever been confused by all the `match{ case x+> y}` ? To fully understand the match-case expressions in scala I tried too use different approaches to solve a simple pattern matching task. Please find the complete code including test suite on [github](https://github.com/BettyES/HenryWives).

The task: **Which of Henry's wifes survived?** Given a first name and years of marriage (rounded down), one can identify whether Henry's wife died or survived his marriage.

As a reminder: 
**(1) Catherine of Aragon, 24 years, survived** (11 June 1509 – 23 May 1533 ; marriage annulled) ; 
**(2) Anne Boleyn, 2 years, died** (28 May 1533 – 17 May 1536 ; Beheaded 19 May 1536 at the Tower of London. Mother of Elizabeth I); 
**(3) Jane Seymour,1 year, died** (30 May 1536 – 24 October 1537 ; Died 24 October 1537, twelve days after giving birth due to complications. Mother of Edward VI); **(4) Anne of Cleves, 0 years, survived** (6 January 1540 – 9 July 1540 ; Annulled); 
**(5) Catherine Howard, 1 year, died** (28 July 1540 – 23 November 1541 ; Beheaded 13 February 1542 at the Tower of London), 
**(6) Catherine Parr, 2 years, survived** ( 12 July 1543 – 28 January 1547 ; Widowed ; Survived Henry VIII)

Of course the simplest solution is the following:

    (name == "Catherine" && marriage >=2) || (name == "Anne" && marriage <1)

Implementing the match case expression, the following would work as well:

    name match {
         case "Catherine" => marriage match {
             case 1 => false
             case _ => true
         }
         case "Anne" => marriage match {
             case 0 => true
             case _ => false
         }
         case _ => false
     }

However case also works with an if statement

    name match{
         case "Catherine" if marriage >= 2  => true
         case "Anne" if marriage < 1 => true
         case _ => false
     }

and finally it is possible to use a boolean

    (name == "Catherine" , name =="Anne" , marriage < 1, marriage >=2) match{
      case (true, false, false, true) => true
      case(false, true, true, false) => true
      case(false, false, true, false) => false
      case(true,false,true, false) => false
      case(false,true, false, true)=> false
      case _ => false
    }

If anyone can think of any other solutions, I would be keen to see them in the comments section. I am eager to improve my scala coding. =)
BxJS Weekly Episode 36 - javascript news podcast
Tags: javascript, node, podcast, news
Published: 2018-11-11 10:33:03

---
title: BxJS Weekly Episode 36 - javascript news podcast
published: true
description: Listen to the best javascript news of the week in a podcast form
tags: javascript, node, podcast, news
---

Hey dev.to community!

BxJS Weekly Episode 36 is now out! 🚀
Listen to the best javascript news of the week in a podcast form right here.
You can find all the mentioned links [here on github](https://github.com/BuildingXwithJS/bxjs-weekly/blob/master/links/18-45-Episode-36.md).

You can also watch or listen to this episode on:
- [YouTube](https://www.youtube.com/watch?v=bEL9XMum5Gk)
- [Castbox](https://castbox.fm/episode/BxJS-Weekly-Ep.-36-Nov-10%2C-2018-(javascript-news-podcast)-id1378315-id100225545?country=us)

Any feedback is appreciated 😁

Additional stuff:
- [Twitch channel](https://www.twitch.tv/yamalight)
- [Discord server](https://discord.gg/hnKCXqQ)
- [BxJS Weekly github repo](https://github.com/BuildingXwithJS/bxjs-weekly)

Social media links:
- [Twitter](http://twitter.com/yamalight)
- [Medium](https://medium.com/@yamalight)
- [Github](http://github.com/yamalight)

If you enjoy my content, please consider [supporting me](https://codezen.net/support.html) 😉
Using valid cert for private network
Tags: https, cert, network, help
Published: 2018-11-11 07:34:37

---
title: Using valid cert for private network
published: true
description: 
tags: https, cert, network, help
---

Forgot who said finding some way using cert without NAT
finally i find some way to do it
but [pfsense](https://www.pfsense.org/) help me spelled some magic
i am *not* professional on network / security
i only can explain it like I'm 65535, who can explain it to 5?
sorry for poor articles and English


# tl;dr
You need
- DNS Resolver
- Public domain name
- Some thing like [Let's Encrypt](https://letsencrypt.org/)


# Step


#### 1. Create subdomain and `cert` it
Because it's valid `CA`, it will show `valid` in browser
![](https://thepracticaldev.s3.amazonaws.com/i/xinl69uvfwyfmvdr4hpi.png)


#### 2. Create `Host Overrides` on your `DNS Resolver`
Because `cert` will check your domain name and actual domain in url
You must using Step 1 subdomain name
![](https://thepracticaldev.s3.amazonaws.com/i/cl1nq8y9ozjh4528fmxb.png)


#### 3. Set your server using subdomain `cert`
![](https://thepracticaldev.s3.amazonaws.com/i/g9wjh5if4rx53hxxf1qn.png)


# Reference
[SSL Certificates for Local IP address](https://forum.netgate.com/topic/132256/ssl-certificates-for-local-ip-address-solved/14)
Do you want to help me build a searchable Black Friday database?
Tags: help
Published: 2018-11-11 07:23:50

---
title: Do you want to help me build a searchable Black Friday database?
published: true
description: let’s build a Black Friday searchable database!
tags: #help
---

I recently discovered [bestblackfriday.com](https://bestblackfriday.com) and I thought how cool would it be if all those Black Friday scans were to be converted into a searchable database and open sourced possibly as JSON files for anyone to grab, plug into a database (or use as is) and build a simple UI around it.

This effort would involve manually looking at the add scans and adding products one by one and by hand.

Anyone willing to help with this effort? Any suggestions or reservations regarding this idea?

Obviously this is time sensitive as Black Friday is only 2 weeks away, but I think this might be a great opportunity!
Help wanted with ported React component in Go
Tags: go, webassembly, help, webdev
Published: 2018-11-11 07:00:37

---
title: Help wanted with ported React component in Go
published: true
description: I posted this to Upwork, but this space is so new there aren't many developers qualified to take this on. Anybody here want to give it a try?
tags: go, webassembly, help, webdev
---
I posted this to Upwork, but this space is so new there aren't many developers qualified to take this on. Anybody here want to give it a try?

I started porting [a React component built by a friend](https://www.upwork.com/leaving-odesk?ref=https%3A%2F%2Fgithub.com%2FDanFessler%2Freact-panelgroup) to Go/Vecty/WASM. It's a panel group component that handles resizable panes. I ported it, but it's not behaving the same and I need some help debugging it. The math seems to be off somewhere and the performance is not great. 

Here's a video showing the difference between them at the moment:
{% youtube hZAZ3ml9i6I %}
The resulting library will be open source and I'm willing to pay for help. 

[Full post on Upwork](https://www.upwork.com/ab/applicants/1060777899648421888/job-details), though using Upwork is not necessary.
Object detection Part 5 - Evaluation and Tensorboard [Tensorflow]
Tags: objectdetection, tensorflow, python, evaluation
Published: 2018-11-11 06:38:41

---
title: Object detection Part 5 - Evaluation and Tensorboard [Tensorflow]
published: true
description: We look closely at how to run the evaluation in windows and evaluate the result in tensorboard.
tags: object detection, tensorflow, python, evaluation 
---

{% youtube s-lHP8v9qzY %}