teleren/devto huggingface dataset:
What to Learn Next?
Tags: machinelearning, microservices, discuss
Published: 2018-03-19 20:33:05

---
title: What to Learn Next?
published: true
description: Discuss learning Micro services architecture vs Data Science
tags: Machine Learning, Microservices, Discuss
---

After having spent 200 hours learning technical interviewing and data structures, it reminded me how much I love learning. 

I find myself deeply thinking about what skill set would be most beneficial and fun to learn and it has come down to **Microservices** and **Data Science/ML**. 

Microservices: Thinking about making a sort of a generic sales aplication: Products, Invoicing, Shipping, Employees and use docker and all sort of frameworks and tools to make a full fledged app (leave front end last). Haven't decided what language but leaning towards nodejs/express/postgres. 

Data Science: I love data and think its fascinating the insight that they can give you. I've already started:

{% link https://dev.to/ericbonfadini/finding-my-new-favorite-song-on-spotify-4lgc %}

and have around ~100 dollars worth of books and videos for this topic.

What do you guys think has more worth?


(BTW, First post ever!!!! I've been following this site since I've started my career and love everything I've learned from here)
Compilers 107 - Optimizer Loop Unrolling
Tags: llvm, compiler, learning
Published: 2018-03-19 19:57:22

---
title: Compilers 107 - Optimizer Loop Unrolling
series: Compilers
published: true
description: Learn how the compiler optimizer does loop unrolling
tags: llvm, compiler, learning
---

The last post covered optimization in general. In this post you’ll look at a specific optimization called “loop unrolling”.

The Compiler series:

* [Compilers 101 – Overview and Lexer](https://dev.to/lefebvre/compilers-101---overview-and-lexer-3i0m)
* [Compilers 102 – Parser](https://dev.to/lefebvre/compilers-102---parser-2gni)
* [Compilers 103 – Semantic Analyzer](https://dev.to/lefebvre/compilers-103--semantic-analyzer-540k)
* [Compilers 104 – IR Generation](https://dev.to/lefebvre/compilers-104---ir-generation-39e8)
* [Compilers 105 – Back End Overview](https://dev.to/lefebvre/compilers-105---back-end-overview-15nj)
* [Compilers 106 - Optimizer](https://dev.to/lefebvre/compilers-106---optimizer--ig8)

## Loop Unrolling
Loops are a key optimization point. Unrolling a loop means that you repeat the code content of the loop multiple times. It is essentially exactly what you are taught not to do when writing code.

Loop unrolling avoids costly branches. This will not necessarily unroll the entire loop so that you get code repeated 100s of times, but it may unroll it a bit so the code repeats a few times.

Modern hardware hates branches because it makes other optimization more difficult, so unrolling a loop enables additional optimizations for both the compiler itself and the CPU.

Here is a simple loop:

    Dim i As Integer = 0
    While i < 2
      i = i + 1
    Wend
    Beep

This gets modeled as a [control flow graph](https://en.wikipedia.org/wiki/Control_flow_graph):

![](https://blog.xojo.com/wp-content/uploads/2018/03/2018-03-15_09-24-11.png)

A control flow graph is a [directed graph](https://en.wikipedia.org/wiki/Directed_graph).

Looking at the above, the while gets converted to an if. After the integer assignment, there is a branch back to the if. If the condition is false, then it branches to the beep. This is essentially a [Goto](https://en.wikipedia.org/wiki/Goto), for old-timers.

But the compiler may also insert stuff on your behalf. For example, [Xojo](http://www.xojo.com) adds Yield function calls to enable cooperative threading and these function calls cannot be removed by the optimization process.

![](https://blog.xojo.com/wp-content/uploads/2018/03/2018-03-15_09-29-59.png)

So to unroll the loop, the idea is that there are only two iterations of the loop which the compiler is able to determine.

So unrolling results in this:

![](https://blog.xojo.com/wp-content/uploads/2018/03/2018-03-15_09-32-16.png)

In this short and simple example, the value of the “i” variable is never used so it can be discarded, saving both iteration time and storage space.
Zen from learning
Tags: beginningbootcamp
Published: 2018-03-19 19:39:15

---
title: Zen from learning
published: true
description: A zen experience in learning ....
tags: beginning bootcamp
---
I always wanted to learn, but learning wasn't always relaxing.

 I went to school, but if I'm being honest, I always hated it. The results were too slow, the teachers were too slow, the goals were so far down the field I burned out halfway. I remember once, in third grade on the first day of school, we were discussing things like where to hang our coats and where to eat lunch. I raised my hand and asked as politely as i could.

"Are we going to learn *anything at all* today?" 

Okay, so it was probably a little rude, but i honestly couldn't help myself! I wanted to learn, I felt compelled to absorb as much as possible. I knew the teacher was moving at everyone's pace, and i felt a little guilty making the other kids suffer at my relentless pace of learning. But I always felt stuck, stifled, slowed down. 

I went to college for architecture, but never made it to a degree. I left school and really tried to seek out something that would fulfill my need to learn and apply. I worked a call-center job(hated it). I was a stay-at-home mom (loved it). I had no real path, no "career" to speak of. The lack of goals, new things to learn was driving me and my family insane. 

 I noticed i was applying my drive to things that didn't necessarily need all of my energy. Have you ever tried to get a toddler to say the alphabet?
 
I tried for 3 hours(honestly more like 20 mins but still!). 
Both of us were exhausted.

 That's when I took a free online course for Java from Microsoft. 
I loved it. My results were logged, right there in the terminal. If i wrote something wrong, there was almost always a solution. I was creating amazing things, and i could see my improvements. I felt awesome. 

But i also felt something else. The nagging feeling of 'need to know' was slowly seeping away. I realized there was so much about programming i didn't know, and i might never know. There was no need to rush to absorb, it would all still be there. I could always access it, seek it out. Programming helped me soothe a part of me that had always been in a hurry. I found it meditative. 

I'm currently in a bootcamp to learn JavaScript. I couldn't be happier or more relaxed. I have a goal, I have a purpose, I have a career to head towards.
Gem markdown_helper v1.0.0 Released
Tags: ruby, markdown, opensource, github
Published: 2018-03-19 18:44:31

---
title: Gem markdown_helper v1.0.0 Released
published: true
description: Gem markdown_helper v1.0.0 Released
tags: ruby, markdown, opensource, github
---

I have released [Ruby gem markdown_helper](https://rubygems.org/gems/markdown_helper) v1.0.0.
Tips for Developing Yourself
Tags: softwaredevelopment, blog, development, programming
Published: 2019-11-14 08:32:13

---
title: Tips for Developing Yourself
published: true
date: 2018-03-19 08:00:46 UTC
tags: SoftwareDevelopment,blog,development,programming
canonical_url: https://www.funkysi1701.com/posts/tips-for-developing-yourself-41cn
---

For a while I have been mentoring a friend and I thought I might share some top tips I have implemented in my career so far.

##### Hard Work

At school I was told: “_Only in the dictionary does Success come before Work_“. Yes it is a bit of a corny saying however it has stuck in my head and it’s true. If you want to get anywhere you need to work at it. For many years I just drifted along, but as soon as I knuckled down and worked hard my career started going somewhere.

##### Write a Blog

Writing is an important skill that you need to work at to improve. If you commit to writing one blog post a week this will help to improve this skill. Even after 150+ blog posts I still feel I need to improve. Not only that it will also help others learn something from you and shows a willingness to contribute to the community. If a Hiring Manager reads your blog he can see some of the stuff you know or care about and may help give you the edge over more experienced candidates.

##### Soft Skills

This is one I need to work on but you should concentrate on the so called “_Soft Skills_“. Soft Skills are the skills you have for dealing with others. Are you good at talking to people? Or good at getting requirements out of business owners? If so you have some soft skills, don’t underestimate the value that these bring to a team and keep developing them.

##### Build a Side Project

Start building a side project, it doesn’t matter what it is but start building something. I started building a Xamarin app but I have learnt loads of other connected things while doing this, ViewModels, APIs, Build and Deployment processes, Azure Functions. It also gives you ammunition for things to blog about. If you are short of ideas try solving a problem or rebuild something you use.

##### Use your spare time

During the day there are moments you can reclaim for learning stuff. There are lots of [podcast](https://dev.to/funkysi1701/podcasts-3o42-temp-slug-1185113) which discuss useful development topics, listen to these while driving to work. Subscribe to [pluralsight](https://dev.to/funkysi1701/pluralsight-g2l-temp-slug-8823896) and listen to this while washing up. Don’t get too concerned with learning everything, however think how much more you are learning than not listening at all.

##### I’m not ready!

We are never ready to take that next step, it is so easy to make excuses like I need to learn x, or know y. The only way to know if you are ready is to try and to keep trying. Iterate as you go so you keep improving yourself. If you wait before you start trying you will end up waiting forever. If you start trying now you will make some small progress and have a better idea of what you need to do to achieve your goals.
Testing Alexa Skill by alexa-conversation
Tags: alexa, node
Published: 2018-03-19 15:01:31

---
title: Testing Alexa Skill by alexa-conversation
published: true
description: Introduce testing packages for Alexa Skill
tags: Alexa, Node.js
---

via: [https://wp-kyoto.net/en/test-by-alexa-conversation](https://wp-kyoto.net/en/test-by-alexa-conversation)

alexa-conversation is a npm packages to testing Alexa Skill.

We can test own skill like following codes.

```
conversation(opts)
  .userSays('LaunchRequest')
  .plainResponse
  .shouldContain('Welcome to example skills')
  .userSays('AMAZON.StopIntent')
  .plainResponse
  .shouldContain('See you again!')
  .end()
```

## Getting started
If we want to use the package, we have to add mocha at first.

```
$ npm init -y
$ npm install --save alexa-sdk
$ npm install --save-dev alexa-conversation mocha#
```

## Make Lambda function code
After install these packages, we can make Lambda funciton.
And I made a example code for the test.

### index.js

```
const Alexa = require('alexa-sdk')
const handlers = {
  'LaunchRequest': function () {
    this.emit(':tell', 'Welcome to my skill !')
  },
  'AMAZON.StopIntent': function () {
    this.response.speak('See you again!')
    this.emit(':responseReady')
  }
}

module.exports.hello = (event, context, callback) => {
  alexa = Alexa.handler(event, context, callback)
  alexa.registerHandlers(handlers)
  alexa.execute()
}
```

## Make first test
And let's create first test.

### index.test.js
```
const conversation = require('alexa-conversation')
// Load tested target
const app = require('../index.js')

// init
const opts = {
  name: 'Alexa Sample App', // test name
  appId: 'your-app-id',     // Alexa Skill ID
  app: app,                 // test target
  handler: app.handler      // Lambda handler
}

// write test like conversation
conversation(opts)
  .userSays('LaunchRequest')
  .plainResponse
  .shouldContain('Welcome to my skill')
  .userSays('AMAZON.StopIntent')
  .plainResponse
  .shouldContain('good by!')
  .end()
```

## Running the test
After create these code, we can run own test by mocha cli

```
$ ./node_modules/mocha/bin/_mocha index.test.js
  Conversation: Alexa Sample App
    User triggers: LaunchRequest 
      ✓ Alexa's plain text response should contain: Welcome to my skill
    User triggers: AMAZON.StopIntent
      1) Alexa's plain text response should contain: good by!
  21 passing (33ms)
  1 failing

  1) Conversation: Alexa Sample App
       User triggers: LaunchRequest 
         Alexa's plain text response should contain: good by!:
     AssertionError: expected ' See you again! ' to include 'good by!'
      at Context.it (node_modules/alexa-conversation/response.js:100:32)
```

The example test has been failed. Because the AMAZON.StopIntent expects `good by!` but actual source code returns `See you again!`.So we have to fix the response to pass the test.
Do you keep a journal?
Tags: discuss, recordkeeping
Published: 2018-03-19 14:41:38

---
title: Do you keep a journal?
published: true
tags: discuss, recordkeeping
cover_image: https://static.pexels.com/photos/583846/pexels-photo-583846.jpeg
---

Do you keep a journal or diary of your day to day professional activities?
how do you do it? Pen and pad? word documents? dedicated software or tools?

I've been writing down a summary of my day since I started working as a developer.. for 13 years now. Ouch! Yet, I've never kept or archived any of them. I actually either surrendered them to my employers or destroyed them. Now, I regret it. They would have been good reads for self-reflection and just to measure the progress.

One of the reasons not to keep them around is the space, they take up a lot of it.
I'm wondering if there's a better way. Pen and notepad are a must for me, I like to draw and doodle. Doing it on a tablet or laptop is not the same thing.
 
When I heard about the reMarkable tablet, I got excited. It was the closest to pen and paper you can get, but the price tag and the battery are just unreasonable. $800 CAD for a tablet that is just another Kindle with a pen and runs for 2-3 hours on a charge, no thanks! Maybe if the price drops to $200-$300 I'll consider it again.

While at college, I've used Livescribe pen. It is a digital pen that records what you write and you can view it in a digital form (PDF or image). This was really great, but you had to have special notepads for it. That was a downer!

Now with smartphones and image recognition, I don't mind taking a photo of my notes and have them digitized.However, when it comes to journal notes, they are only good if you can search them. So, I'm not sure if this is the way to go.

What are your thoughts and experience?
The 7 Most Popular DEV Posts from the Past Week
Tags: top7
Published: 2018-03-19 14:34:22

---
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
cover_image: https://thepracticaldev.s3.amazonaws.com/i/xsr1z6iqv0pd7p3s6ns3.png
---

#1. Survival Guide

Not every software developer is a ninja/guru/rockstar. For the rest of us mediocre developers, Nikita wrote a quick guide for surviving in this industry for non-geniuses. 

{% link https://dev.to/sobolevn/i-am-a-mediocre-developer--30hn %}


#2. Book Listicle 💜

A roundup of 8 books that all developers should read (but especially juniors looking to level up). 

{% link https://dev.to/sandordargo/8-books-every-junior-developer-should-read--4p5h %}

#3. Alternatives, not replacements. 

GraphQL has gained popularity recently, but it's not always the best option. This post shares the pros and cons of REST and GraphQL APIs to help us understand the tradeoffs before we make an architectural decision. 

{% link https://dev.to/xngwng/rest-vs-graphql-apis-the-good-the-bad-the-ugly-34i8 %}

#4. Why bother in the first place?

Many developers use Lodash but many methods have actually been migrated into JavaScript or EcmaScript. Antonin shares four Lodash methods that can be substituted by ES2015+ native methods.

{% link https://dev.to/antjanus/you-might-not-need-lodash--khj %}

#5. How React Works

This guide covers the important parts of React - a great review of the fundamentals paired with examples. 

{% link https://dev.to/tylermcginnis/a-comprehensive-guide-to-reactjs-in-2018--4nbc %}

#6. You walk into a McDonalds...

A community-sourced explanation of MVC for five year olds 😄

{% link https://dev.to/andrewsmith1996/explain-mvc-like-im-five--4f7l %}

#7. Video Training

Periklis shares five educational YouTube channels for developers but the community chimes in with many more recommendations in the comments.

{% link https://dev.to/perigk/fantastic-youtube-channels-with-top-quality-learning-for-software-engineers--263i %}

_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!_
Xamarin Data Binding Library
Tags: help, xamarin, discuss, sdk
Published: 2018-03-19 13:49:52

---
title: Xamarin Data Binding Library
published: true
description: 
tags: help, Xamarin, discuss, sdk
---


A mobile push sdk is currently not supporting Xamarin. I would like to understand how much time and effort does it take to create a binding library for an android or ios sdk?
I Made a Breakout Room with a Digital Piano and JavaScript
Tags: javascript, api, webmidi, chrome
Published: 2018-03-19 13:25:43

---
title: I Made a Breakout Room with a Digital Piano and JavaScript
published: true
description: It involves Chrome, a lesser-known JavaScript API, and a dash of creativity.
tags: javascript, api, webmidi, chrome
---
Several months ago, my wife and I decided to create our own "breakout room" experience in our house to entertain friends and family.

I decided to get crafty with JavaScript and create a series of locks that required players to play certain notes correctly on a digital piano. The piano is connected to a computer with a MIDI cable. On the computer, a Chrome browser window is open and listening for input with the Web MIDI API.

![Willy Wonka demonstrating a piano lock](https://thepracticaldev.s3.amazonaws.com/i/3k76yqazdfseuwfmhcx8.gif)

I wrote an entire article about everything I learned in the process. [Read it now on Smashing Magazine](https://www.smashingmagazine.com/2018/03/web-midi-api/).

ALSO, I got published on Smashing Magazine!! Ahh!

Here’s a video of a demo gameplay sequence from the Smashing article. Shown below the Chrome window is a virtual MIDI keyboard to help visualize which notes are currently being played. For a normal breakout room scenario, this can run in full-screen mode and with no other inputs in the room (such as a mouse or computer keyboard) to prevent users from closing the window.

{% youtube cGXqjWvG_6k %}
How To: Use EntityFramework Core In-Memory Database For Unit Testing
Tags: dotnet, testing, tutorial, entityframework
Published: 2018-06-07 02:44:56

---
title: How To: Use EntityFramework Core In-Memory Database For Unit Testing
published: true
tags: dotNet,testing,tutorial,EntityFramework 
canonical_url: https://www.matheus.ro/2018/03/19/how-to-use-entityframework-core-in-memory-database-for-unit-testing/
---


You can download this article project on [GitHub](https://github.com/mrodrigues1/SimpleToDo).

In this post, I’ll show how to use the in-memory feature of Entity Framework core to create unit tests involving the database. Let’s jump right in!

Create unit tests using a real _DbContext_ is a pain because we have to mock the entire context to achieve this. Entity Framework core makes unit tests easier to write by providing us with an in-memory database provider. It creates an in-memory representation of our _DbContext_, for this reason, we don’t have to worry about mocking the database.

[Continue Reading...](https://www.matheus.ro/2018/03/19/how-to-use-entityframework-core-in-memory-database-for-unit-testing/)
Don't Bite Off More Than You Can Chew
Published: 2018-03-19 09:07:32

---
title: Don't Bite Off More Than You Can Chew
published: true
description: I just came across this talk on Youtube and really wanted to share it with the dev.to community
tags: 
---

Many of the problems we encounter as programmers, are caused by not splitting up work into small enough parts. Way more problems than I ever expected.

{% youtube i08A2uTDoa8 %}

I also enjoy how the speaker challenges the assumption that we're "special snowflakes" who shouldn't be interrupted. All knowledge workers need time to do what they do, and need to concentrate, not just programmers.
Artificial Intelligence is looming the Marketing trends
Tags: artificial, intelligence, robotics
Published: 2018-03-19 08:37:25

---
title: Artificial Intelligence is looming the Marketing trends
published: true
description: 
tags: #artificial #intelligence #robotics


---

Artificial Intelligence is looming the Marketing trends

https://medium.com/@deepikarallapalli/artificial-intelligence-looming-into-marketing-9dffeaad6883
WooCommerce Quote Plugin
Tags: woocommercequote
Published: 2018-03-19 07:35:24

---
title: WooCommerce Quote Plugin
published: true    
description: WooCommerce quote plugin enables add to quote button on product pages which allow customers to ask for quotes on your e-store.
tags: WooCommerce quote
---
<img src="https://thepracticaldev.s3.amazonaws.com/i/vflo1q341hxplcvsr800.png">

WooCommerce quote plugin enables add to quote button on product pages which allow customers to ask for quotes on your e-store. If they need a product with different specifications then they can ask for quotation via quote form on product pages. <a href="https://codecanyon.net/item/woocommerce-request-a-quote-plugin-ask-for-quotation/21394070">WooCommerce quote</a> plugin provides you easy backend to manage the quotes and you can answer them easily. It helps store owners to increase the sales because rather than a general product you can also sell products with specific attributes. This plugin cost you only $19.

<img src="https://thepracticaldev.s3.amazonaws.com/i/yqj5ouxy2b49tla26w2l.png">

<img src="https://thepracticaldev.s3.amazonaws.com/i/tds8vwyg7r84321n2a2o.png">

<img src="https://thepracticaldev.s3.amazonaws.com/i/gv8drz0fm8p6eii8hyj1.png">
How to run Perl scripts in Atom
Tags: atom, perl, firstpost
Published: 2018-03-19 06:06:02

---
title: How to run Perl scripts in Atom
published: true
description: 
tags: Atom, Perl, FirstPost
---
Install the Atom package Atom Runner.
<img src="https://thepracticaldev.s3.amazonaws.com/i/ktq5ekvq1o6r4f7lm7o8.png">
<strong> <h4> Once you have Atom Runner installed you have two choices for running Perl scripts.</h4></strong>
<strong><h4> First Option: Using the shebang line</h4></strong>
<img  src="https://thepracticaldev.s3.amazonaws.com/i/4stoi9mueq6g4j8w9r2f.png">
<strong><h4> Second Option: Editing the Atom config file</h4></strong>
Open the config.cson file
<img src="https://thepracticaldev.s3.amazonaws.com/i/m6sqfayxzex35z1v1mrm.png">
and insert
<img src="https://thepracticaldev.s3.amazonaws.com/i/yq9gmgx0kewe6jiz80t8.png">
<pre lang="no-highlight"><code>runner:<br>&nbsp;&nbsp;extensions:<br>&nbsp;&nbsp;&nbsp;&nbsp;pl: "perl"
</code> </pre>
<div><br><br></div>
<h3><strong>Finally:</strong></h3>
Use keystroke ctrl-r and off you go!
<img src="https://thepracticaldev.s3.amazonaws.com/i/43unf6904lntoseb4b5n.png">
<div><br><br></div>
TIL 2018/03/29
Tags: samtil
Published: 2018-03-19 05:46:36

---
title: TIL 2018/03/29
published: true
description: 
tags: #sam-til
---

## Clone repository using GitLab Personal Access Token

```
git clone https://oauth2:${Personal Access Tokens}@gitlab.com/username/myrepo.git
```

- [using gitlab token to clone without authentication](https://stackoverflow.com/questions/25409700/using-gitlab-token-to-clone-without-authentication)