teleren/devto huggingface dataset:
I'm very interested in integrating asciinema "natively" in dev.to
Tags: meta, discuss
Published: 2017-10-30 17:38:22

---
title: I'm very interested in integrating asciinema "natively" in dev.to
published: true
description: It's so cool
tags: meta, discuss
---

I only recently discovered [asciinema](https://asciinema.org/) and I'm fairly enthralled by it. It's an incredibly useful and efficient way to share and teach. Its functionality could blend really well into our interface and it opens the door to other neat integrations.

This will involve deciding how we could do this best, writing a bit of code and having some direct correspondence with [Marcin Kulik](https://twitter.com/sickill). None of this has happened and it probably fits in as something we do _after_ open-sourcing our codebase. We'll have a better timeline on that shortly as well.

Just tossing this thought out there if anyone has anything to add on this or adjacent topics. ðŸ˜Š
Behold, the Endpoint Object
Tags: ruby, api, testing, github
Published: 2017-10-30 15:17:37

---
title: Behold, the Endpoint Object
published: true
description: 
tags: #ruby #api #testing #github
---

In testing web applications, the <i>page object</i> design pattern has become justifiably famous. Its job is classic data hiding: each such object encapsulates an HTML page.

When I began working on my first framework for testing a REST API, I asked myself how, if at all, this encapsulation principle applies there. And the immediately obvious answer is: the <i>endpoint object</i>.

Just as the page object encapsulates an HTML page, so does the endpoint object encapsulate a REST API endpoint. Each endpoint has its own encapsulating class.

Now an endpoint does not have a name, exactly, but it does have an HTTP method and a URL. I've used those to construct the endpoint class name.

Examples (from my <a href="https://github.com/BurdetteLamar/RubyTest/blob/master/examples/github_api/TesterTour.md#tester-tour">framework</a> for testing for GitHub's own REST API):
<table>
<tbody>
<tr>
<th>Method and URL</th>
<th>Endpoint Class Name</th>
<th>Effect</th>
</tr>
<tr>
<td><code>GET /labels</code></td>
<td><code>GetLabels</code></td>
<td>Get all labels.</td>
</tr>
<tr>
<td><code>POST /labels</code></td>
<td><code>PostLabels</code></td>
<td>Create a label.</td>
</tr>
<tr>
<td><code>GET /labels/:name</code></td>
<td><code>GetLabelsName</code></td>
<td>Get the named label.</td>
</tr>
<tr>
<td><code>PATCH /labels/:name</code></td>
<td><code>PatchLabelsName</code></td>
<td>Update the named label.</td>
</tr>
<tr>
<td><code>DELETE /labels/:name</code></td>
<td><code>DeleteLabelsName</code></td>
<td>Delete the named label.</td>
</tr>
</tbody>
</table>
A test framework should make things simple for the tester, right? To that end, the methods in these objects accept and return actual Ruby <code>Label</code> objects, not raw JSON. The methods transparently handle the transforms between JSON and those objects.

Each endpoint has four such methods. Using <code>PatchLabels</code> as an example:
<ul>
	<li><code>PatchLabels.call(client, label)</code> creates a label and returns the created label as a <code>Label</code> object.</li>
	<li><code>PatchLabels.call_and_return_payload(client, label)</code> does the same, but returns both the <code>Label</code> object and the raw JSON payload (in case the caller want to examine it).</li>
	<li><code>PatchLabels.verdict_call_and_verify_success(client, log, label)</code> creates a label and returns the created label as a <code>Label</code> object, also logging relevant verdicts.</li>
	<li><code>PatchLabels.verdict_aberrant(client, log)</code> accesses the endpoint with various error-causing aberrations, logging relevant verdicts, and returning nothing.</li>
</ul>
VoilÃ , the endpoint object!
A Brief Introduction to REST APIs
Tags: http, webdev, api, beginners
Published: 2017-10-30 14:55:58

---
title: A Brief Introduction to REST APIs
published: true
description: A walkthrough of what a REST API is.
tags: http, webdev, api, beginners
---

Even if you have no idea what REST means, you have been interacting with it throughout the web for quite some time. Now let's take some time to explore what REST means and what a REST API is. REST stands for "REpresentational State Transfer". The concept was introduced to the world in a 2000 doctoral dissertation by Roy Fielding. REST is a way of managing the client-server relationship and strives for speed and performance by incorporating re-usable components. What are the basic features of a RESTful architecture:

1. Stateless: Client data is not stored on the server between interactions and the session is stored client-side (typically in session storage). 
2. Client<->Server: There is a separation of concerns between the frontend (client) and the backend (server). They operate independently of each other and both are replaceable. 
3. Cache: Data from the server can be cached on the client, which can improve performance speed.

In addition to these three fundamental features of REST, there is also a uniform approach to the composition of base URLs. This allows for a standardization of service, which prior to the introduction of REST, did not exist. For example, a `GET` request to `/dogs`, should yield all the dogs in the database, whereas a `GET` request to `/dogs/5` would render the dog with an ID of 5. Similarly, REST utilizes standard methods like `GET`, `PUT`, `DELETE` and `POST` to perform actions. 

Thus, a RESTful API would be one that is a) stateless, b) separates concerns between client-server, c) allows caching of data client-side and d) utilizes standardized base URLs and standardized methods to perform actions to manipulate, add or delete data. 

Furthermore, it has become common practice for REST APIs to also return data in a standard format. The most popular format nowadays is JSON (JavaScript Object Notation). The standardization of the formatting of the data is another step towards uniformity in the way resources are interacted with on the web allowing for developers to solve problems and not spend their time in configuration of the basic architecture. 

When requesting data from an API you might get back something like this:

```
{
    title: "This is JSON",
    content: [
        chapter: "1",
        page: "200",
        firstParagraph: "This is what JSON looks like when it is returned from an API."
    ],
    author: "Ben Greenberg",
    source: "dev.to"
}
```

This allows for easy access of that data within the JSON with something like `data.title`, which would return "This is JSON".

Where can you find RESTful APIs? Everywhere! [Twitter](https://dev.twitter.com/twitterkit/android/access-rest-api). [Google](https://developers.google.com/drive/v2/reference/). [Ebay](https://go.developer.ebay.com/api-documentation). So many of the popular services we take advantage of daily utilize a RESTful architecture for their API service. Now you can also.
Daily git usage
Tags: git
Published: 2017-10-29 21:58:08

---
title: Daily git usage
published: true
description: How to automate daily git usage
tags: git
---


Hi guys!
We all use Git every day typing commands such as `git push origin master` many times a day. But maybe you have aliases contracting to `git p`. Gradually, it becomes more irritating.
For example I use the `git push origin {branch}` command about 20 times a day. `git commit -m "{message}"` maybe 15.

I don't like the built-in Git tools into IDE's and don't use them at all.

So I've decided to automate some of my work.
I wrote a script that helps me every day and, I hope, will help you.
 
Called [casual-git](https://github.com/x0st/casual-git).


How it looks
```
myproject master ➜ gh

  d  - push
  f  - push --force
  p  - pull
  o  - pull --force
  c  - commit
  a  - commit --amend
  s  - commit --smart
  l  - log --pretty
  h  - checkout --smart
```
Almost each of the commands I use every day.

It's really easy to use!

It is especially helpful if you name your branches with long names like `feature/EGNYTE-20-watermarks-over-documents`:
```
  d  - push
  f  - push --force
  p  - pull
  o  - pull --force
  c  - commit
  a  - commit --amend
  s  - commit --smart
  l  - log --pretty
  h  - checkout --smart
  
  Enter a branch name or a part of name: ma
  
  More than one git branch were found. 
  10 first branches are shown. 
  Please choose a desired branch. 
  
  [0] feature/EGNYTE-20-watermarks-over-documents
  [1] master
  [2] masterfix/EGNYTE-21-big-files-merge
  [3] masterfix/EGNYTE-26
  [4] masterfix/EGNYTE-29-big-files-merge
  [5] masterfix/EGNYTE-33
  [6] masterfix/EGNYTE-41
  
Switched to branch 'feature/EGNYTE-20-watermarks-over-documents'
``` 

Or paths to the files are too long and you need to commit only few of them:
```
myproject feature/EGNYTE-68-progress-bar-for-watermarking ➜ gh

  d  - push
  f  - push --force
  p  - pull
  o  - pull --force
  c  - commit
  a  - commit --amend
  s  - commit --smart
  l  - log --pretty
  h  - checkout --smart

  Delete files from the next commit:
  No staged files

  Add files to the next commit:
  [1] modified:  app/Http/Controllers/WatermarkController.php
  [2] modified:  app/Jobs/Egnyte/PublishWatermark/Job.php
  [3] modified:  app/Services/QueuedMessage/Queue.php
  [4] modified:  public/css/watermark.css
  [5] modified:  public/js/watermark.js
  [6] modified:  public/mix-manifest.json
  [7] modified:  resources/assets/js/watermark.js
  [8] modified:  resources/assets/scss/watermark.scss
  [9] modified:  resources/lang/en/watermark.php
  [10] modified:  resources/views/watermark/index.blade.php
  [11] modified:  webpack.mix.js

  Enter file numbers separating by spaces: 1 2 3
```

[Github repo](https://github.com/x0st/casual-git)

I hope this helps someone!
The 7 Most Popular DEV Posts from the Past Week
Tags: top7
Published: 2017-10-30 14:51:05

---
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. The Beauty of React Native

Mo explains why he ended up learning React Native. Through this, we learn about his insights and why he believes React Native is the future.

{% link https://dev.to/bitario/the-beauty-of-react-native-920 %}

#2. âœ”ï¸ Preventative Care âœ”ï¸ 

Blaine's team had a mission: increase effectiveness. In this post, he shares how they ended up creating a code review checklist and the positive impacts its had on his team. 

{% link https://dev.to/bosepchuk/a-code-review-checklist-prevents-stupid-mistakes-o6 %}

#3. Ask Jess Anything! 

Lots of interesting questions and answers with Jess Bell, a developer at The Washington Post. 

{% link https://dev.to/sirjessthebrave/im-a-developer-for-the-washington-post-ask-me-anything-637 %}

#4. Man, am I a genius.

An analysis of the sleep-sort algorithm, and what it teaches us. 

{% link https://dev.to/sishaarrao/sleep-sort-where-theory-meets-sobering-reality-b3m %}

#5. What exactly is a software architect?

"A person that optimizes your development process _and_ your business as a result." Iren expands on the role, skills, and duties of software architects. 

{% link https://dev.to/iriskatastic/the-role-skills-and-duties-of-a-software-architect-413 %}

#6. Storing API Keys ðŸ—

Bruno gives us his take on why storing APIs keys in git repositories is a bad idea. He shares different tools and services you can use as a better alternative. 

{% link https://dev.to/bpedro/how-to-securely-store-api-keys-ab6 %}

#7. Mess with my website, and you're dead!

Nelson shares some of the fun treasures he's discovered while inspecting websites. 

{% link https://dev.to/nelruk/epic-code-comments-523 %}

_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!_
Seven Deadly Wastes: Motion
Tags: agile, leanstartup, softwaredevelopment, productivity
Published: 2017-11-07 16:56:12

---
title: "Seven Deadly Wastes: Motion"
published: true
tags: agile,lean-startup,software-development,productivity
canonical_url: https://medium.com/going-faster/seven-deadly-wastes-motion-323fdec694ed
---

#### Going Faster: Issue&nbsp;13

![](https://cdn-images-1.medium.com/max/1024/0*U6sQcEwqyLhJnbNf.)

> The Seven Wastes are an idea from [lean manufacturing](https://en.wikipedia.org/wiki/Muda_(Japanese_term)#Seven_wastes), and I’m exploring how they relate to software development. Last week was [inventory](https://dev.to/jezhalford/seven-deadly-wastes-inventory-3f1-temp-slug-6110224), and this week is&nbsp;motion.

Motion is the movement of people or things around work. This is why car factories use moving production linesâ€Š–â€Šit’s much easier for the person who bolts on the wheels to stay still, and have the cars come along on a conveyor.

Reducing motion waste is all about reducing unnecessary movement. Of course, software isn’t a physical thing that we can gather around and look at. Or can we? If your team finds an unexpected situation (perhaps a production bug, or a realisation that your project is going in the wrong direction) then you probably gather everyone together into a meeting to look at the&nbsp;problem.

People gathering around a problem? That’s&nbsp;motion.

Of course, unexpected things happen, and we need to be able to deal with them. But we can take steps to reduce the impact they&nbsp;have.

One way you might already do this is with a daily standup meeting. This is a regular session every day during which we try to head off problems before they hurt us. If we didn’t have the daily standup, we might end up having two or three ad-hoc meetings throughout the day instead. The standup has therefore helped us to reduce&nbsp;motion.

Sprints are another means of reducing motion waste. We schedule a regular time to plan a small chunk of work in detail, and we hope that reduces the potential for chaos down the&nbsp;line.

Another option to explore is _policy_. Policies are simple sets of rules that tell us how to deal with certain situations. You probably have plenty of polices in your team already. Policies are things like “when we find a bug it gets prioritised by a product owner before developers look at&nbsp;it”.

Policies like that help teams to work autonomously, because they don’t have to ask someone what to do in a given situation. They reduce motion because they stop us from having to run around looking for solutions.

Motion waste is often hiding in plain sight. But finding it, and fixing it, can be an incredibly effective way to speed up your&nbsp;team.

_Going Faster: Weekly ideas on speeding up your software team by Jez Halford, a software development consultant helping teams to deliver better software more&nbsp;quickly._

_There’s more from Jez on_ [_Twitter_](https://twitter.com/jezhalford)_,_ [_Medium_](https://medium.com/@jezhalford)_and_ [_jezhalford.com_](https://jezhalford.com/)

* * *
Continues Learning (CL)
Tags: learning, discuss
Published: 2017-10-30 09:12:38

---
title: Continues Learning (CL)
published: true
description: Learn and give hand for your colleagues 
tags: #learning #discussion
image: https://cdn.yourstory.com/wp-content/uploads/2016/07/63-learning-01.png
---


Every newbie developer wishes to have the freedom to make mistakes and learning new technology, etc..

If you read that from in opposite order you will find something interesting, if you do continue learning it will reduce the mistakes in your coding, I spent 30 minutes every day in my office for learning something new and 2 hours from my free time so I'll get 2 hours and 30 minutes for a day completely for learning new things. when I start my career I don't have any idea about the frameworks in java/javascript, I started to spend 30 minutes and started to learn spring MVC and backboneJs ( our team using that ), I got an idea about both frameworks and I didn't stop my daily learning I kept exploring as a hobby and finally it became my routine for me. I started learning spring-boot and angualrjs now but now I felt something interesting when I start learning backbonejs my inner voice always said to me you can't make it please stop this, but now my mind starts saying it is peace of cake you can make it easier, my conclusion is once you start learning new technology please continue don't stop it. It will help you it will become your daily routine start with a small duration and keep going.

KEEP LEARNING.
Create isolated Jupyter kernels with pyenv and virtualenv
Tags: python, jupyter, datascience
Published: 2017-10-30 08:48:14

---
title: Create isolated Jupyter kernels with pyenv and virtualenv
published: true
description: Everyone loves isolation. Makes our life easier and our systems much more robust. Isolating Jupyter notebooks makes no exception. Maybe you want to try some cutting edge scientific library, or more simply your latest project dependencies are not compatible with your current system setup. Whatever is your situation, follow me in this simple tutorial on how to create an isolated python notebook kernel.
tags: python, jupyter, datascience
---


Everyone loves isolation. Makes our life easier and our systems much more robust. Isolating Jupyter notebooks makes no exception. Maybe you want to try some cutting edge scientific library, or more simply your latest project dependencies are not compatible with your current system setup.

Whatever is your situation, follow me in this simple tutorial on how to create an isolated python notebook kernel.


[http://www.alfredo.motta.name/create-isolated-jupyter-ipython-kernels-with-pyenv-and-virtualenv/](http://www.alfredo.motta.name/create-isolated-jupyter-ipython-kernels-with-pyenv-and-virtualenv/)

Looking forward to hearing your comments! If you enjoy what I write you can also follow me on [twitter](https://twitter.com/mottalrd) so I'll see you there too
Pro Blog - All in one package Prestashop blog module
Tags: prestashopblogmodule
Published: 2017-10-30 07:43:39

---
title: Pro Blog - All in one package Prestashop blog module
published: true
description: Pro Blog is an advanced and flexible Prestashop blog module which brings all essential features of a blog to your Prestashop website. This Prestashop blog module is fully optimized for SEO and implemented with Ajax
tags: Prestashop blog module
---
Pro Blog is an advanced and flexible <a href="https://addons.prestashop.com/en/blog-forum-new/25908-pro-blog-all-in-one-package-blog.html">Prestashop blog module</a> which brings all essential features of a blog to your Prestashop website. This Prestashop blog module is fully optimized for SEO and implemented with Ajax
Pro Blog - All in one package blog provide the best blog solutions for your Prestashop website. As the meaning of its name, this Prestashop module includes everything you need to build a professional blog for your Prestashop store.
Pro Blog - All in one package blog includes all major features of a blog such as: blog posts, blog categories, blog comments (with security captcha protection), stunning image gallery, beautiful image slider, latest news, featured posts, most popular posts, posts by author, blog likes, rating and reviews... (all in one package)
Pro Blog - All in one package blog comes with a powerful backend panel which is carefully designed to bring the most comfortable experience when you manage the content of your blog (add or edit blog posts, categories, slider, gallery or make configuration...). This backend is fully implemented with Ajax which helps you quickly do what you want in the backend (your backend is not reloaded when you update a post, add a new category... This is an amazing feature!)
SEO optimization: SEO is one of the most important things of this Prestashop blog module, SEO is carefully checked to ensure your blog posts can easily reach the first position on search engines (Google, Bing...) for your SEO keywords
Flexibility: This Prestashop blog module is the most flexible Prestashop blog module, everything appears on the frontend can be managed from the backend. HTML, CSS and PHP code are also made with flexibility consideration so if you're a web developer you can easily customize the display of the blog the way you want or extends its features
RTL mode: if your store is based in countries with RTL languages such as Arabic, Hebrew, Syriac... This module is for you! We have taken a lot of care on making the frontend of the module to fully support RTL languages
Multi-language support: This module is completely integrated with default Prestashop multi-language feature. Parts of the frontend are already ready translated into all the major languages in the worlds such as English, French, Spanish, Chinese, Japanese, Arabic..., You can easily translate everything from the back office

Source: <a href="https://addons.prestashop.com/en/blog-forum-new/25908-pro-blog-all-in-one-package-blog.html">https://addons.prestashop.com/en/blog-forum-new/25908-pro-blog-all-in-one-package-blog.html</a>
Hiding details in JavaScript classes with symbols
Tags: javascript, oop
Published: 2017-10-30 07:31:03

---
title: Hiding details in JavaScript classes with symbols
published: true
description: 
tags: JavaScript, OOP
---

Classes are now supported in JavaScript(ES6 feature). One key important of classes is bundling methods and data together for specific objects. Hence it helps in achieving encapsulation. Encapsulation is used to hide the values or state of a structured data object inside a class, preventing unauthorized parties' direct access to them. So how do we maintain data from being manipulated outside the class scope? 

One way to do this is by using symbols. Symbol is a new built-in-type of JavaScript, which can be invoked to give a new symbol value. Every Symbol is Unique and can be used as a key on the object. So one use case of symbols is that you can add something to an object you might not own, and you might not want to collide with any other keys of the object so creating a new one and adding a property to that object using symbol is the safest. 
Also when symbol value is added to an object; no one else will know how to get it.

{% gist https://gist.github.com/OMENSAH/fee24202efb34bb591f11d5f904deeef %}

With the above code even though we can access the properties outside the function to change their content what if we don't want that 
Symbols come to rescue.

{% gist https://gist.github.com/OMENSAH/d1acfaaad5e1e4af0a702a3cd5e7b702 %}





Note: I have just started blogging on concepts of technologies I have been using as "student developer". Corrections and feedback to help me become software engineer are welcome.