teleren/devto huggingface dataset:
Top 10 most visited links on Ruby On Rails Bosnia
Tags: rubyonrailsbosnia, rails, ruby
Published: 2019-01-10 09:12:23

---
title: Top 10 most visited links on Ruby On Rails Bosnia
published: true
description: 
tags: rubyonrailsbosnia, rubyonrails, ruby, rails 
---

![RubyOnRails.ba](https://thepracticaldev.s3.amazonaws.com/i/r4ezmdl8gnv45aahl987.png)

In period of last 2 years, [Ruby On Rails Bosnia](https://rubyonrails.ba) website was visited more than a million times.
RubyOnRails.ba website is a simple links generator for articles primarily about Ruby programming language and Rails programming framework.


Today, site contains more than 1600 links and short descriptions to various information about articles, tutorials, blogs, conferences and other stuff which are connected to Ruby / Ruby On Rails tech stack.


Here is a list of Top 10 most visited links on [Ruby On Rails.BA](https://rubyonrails.ba)


Will JavaScript frameworks take over Rails? - Quora
https://www.rubyonrails.ba/single/will-javascript-frameworks-take-over-rails-quora
5.174 Views


RUBY MINE IDE
https://www.rubyonrails.ba/single/ruby-mine-ide
4.853 Views


Send an SMS Message with Ruby in 30 Seconds
https://www.rubyonrails.ba/single/send-an-sms-message-with-ruby-in-30-seconds
4.812 Views


Ruby on Rails Interview Questions That Will Land You The Job!
https://www.rubyonrails.ba/single/ruby-on-rails-interview-questions-that-will-land-you-the-job
3.728 Views


RailsConf 2016
https://www.rubyonrails.ba/single/railsconf-2016
3.554 Views


Sublime Text IDE
https://www.rubyonrails.ba/single/sublime-text-ide
3.269 Views


RubyConf AU 2017 - Ruby, HTTP/2 and You, by Hiro Asari
https://www.rubyonrails.ba/single/rubyconf-au-2017-ruby-http-2-and-you-by-hiro-asari
3.182 Views


Ruby On Rails 5 Essential Training 100 Videos
https://www.rubyonrails.ba/single/ruby-on-rails-5-essential-training-
3.182 Views


RailsConf 2012
https://www.rubyonrails.ba/single/railsconf-2012
3.113 Views


Learn Ruby on Rails from Scratch - 38 videos
https://www.rubyonrails.ba/single/learn-ruby-on-rails-from-scratch-38-videos
3.056 Views

Come visit us on [Ruby On Rails Bosnia](https://rubyonrails.ba)
Route AppCenter Distribute SDK to specific Release Group
Tags: programming
Published: 2019-10-01 16:54:23

---
title: Route AppCenter Distribute SDK to specific Release Group
published: true
cover_image: https://esabook.files.wordpress.com/2019/01/capture-2.png
tags: Programming
canonical_url: https://esabook.wordpress.com/2019/01/10/route-appcenter-distribute-sdk-to-specific-release-group/
---

>Noted because no textual official documentation found. Free to update.

One of the CI.  
Preword:

- [Appcenter](https://appcenter.ms/)
- [Appcenter Distribution](https://docs.microsoft.com/en-us/appcenter/distribution/) – allowing me to set up the in-app auto update to release group.

![capture](https://esabook.files.wordpress.com/2019/01/capture-1.png?w=525)

# But for But,

There is as flexible SDK, we can point update check to the specific group as we can prepare. With this, we can get the in-app auto-update without login as tester collaborator.


<pre>
import com.microsoft.appcenter.utils.storage.SharedPreferencesManager;

...

SharedPreferencesManager.initialize(this);
SharedPreferencesManager.putString("Distribute.distribution_group_id", "***REPLACE WITH GROUP-ID HERE***");

</pre>
Medyatör İnteraktif
Tags: webdesignagency, mobilapp, design, developer
Published: 2019-01-10 08:00:30

---
title: Medyatör İnteraktif
published: True
description: We are a web design agency from Turkey, website design and development, e-commerce websites, mobil app design, seo specialist and socil media planner..
tags: web design agency, mobil app, design, developer
---
Show off your Text Editor 👨🏻‍💻
Tags: discuss, productivity, tools
Published: 2019-01-10 07:29:42

---
title: Show off your Text Editor 👨🏻‍💻
published: true
description: Get or Give Inspiration by showing off your Text Editor or IDE 
tags: discuss, productivity, tools
cover_image: https://thepracticaldev.s3.amazonaws.com/i/tq7p2zrjag01su0za3ko.png
---

or IDE

Last week we had [Show off your Todo List](https://dev.to/sarthology/show-off-your-todo-list---566d). This week lets inspire each other by showing off our Text Editor and IDE.

Just copy and paste the following format in your comments: 

#### Screenshot:

**Theme preference 1:** *An old hope classic*
<img src="https://i.imgur.com/PPgaY0X.png">

**Theme preference 2:** *Cobalt 2*
<img src="https://i.imgur.com/vK0BDU9.png">

#### Plugins:

*List of other themes and extensions I use.*

![](https://thepracticaldev.s3.amazonaws.com/i/i9vxh1b5d1x08iudnrcc.png)

#### User Settings:
*Check out the font and other user settings*
![](https://i.imgur.com/yrMbBqt.png)

#### Other tips (if any):

* Check out [this](https://dev.to/teamxenox/pro-tips-for-visual-studio-code-to-be-productive-in-2018--1jek) post.


## Let's Go

So let's get started guys. 
Go go go!!

![](https://media.giphy.com/media/epxDzItQhxAzK/giphy.gif)
Day 9: Making a swift macOS password manager for people who hate the cloud
Tags: macos, swift, passwordmanager, cloud
Published: 2019-01-10 06:57:01

---
title: Day 9: Making a swift macOS password manager for people who hate the cloud
published: true
description: Watch as I make a password manager for macOS this month
tags: macos, swift, password manager, cloud
series: Making a swift MacOS password manager for people who hate the cloud
cover_image: https://thepracticaldev.s3.amazonaws.com/i/q6r73zbfbm3mpfs98bu5.jpg
canonical_url: https://streaking.app/posts/day-9-making-a-swift-macos-password-manager-for-people-who-hate-the-cloud-f6f7c7d1126d
---

[<- For Day 8 go here](https://dev.to/swlkr/day-8-making-a-swift-macos-password-manager-for-people-who-hate-the-cloud-39j3)

📅 Jan 9th 2019
🚀 21 days until launch
🔥 9 day streak
🤑 0 usd
📈 0 customers
⌚️ 7.55 hours spent
💻 18 files changed, 987 insertions(+), 171 deletions(-)
🏁 Today's goals: Edit/delete existing passwords

### 11:35 PM
Definitely the most focused day since I only had 30 minutes before midnight, just going to get the delete working from the menu, definitely have to pick up the pace tomorrow though.

### 11:49 PM
I've done it, I've cracked the code. Luckily functional programming translates into most other languages pretty well, even the statically typed ones (I'm coming from clojure). What I needed to do was map the delete menu item to a function in `AppDelegate.swift` then do the old first responder trick and finally copy and paste that function definition to `PasswordListViewController.swift`.

From there it was just figuring out how to get multiple rows out of the array of `Row` objects and viola, `sqlite.swift` could take over with a `.filter([].contains(id))`. Here's how it looks in code

```swift
@IBAction func deleteLogin(_ sender: NSMenuItem) {
    do {
        let indices = tableView.selectedRowIndexes
        let ids = indices.compactMap { (logins?.count ?? -1 > $0) ? logins?[$0][login.id] : nil}
        let lg = login.table.filter(ids.contains(login.id))
        if try db.run(lg.delete()) > 0 {
            logins = Array(try! db.prepare(login.table))
            tableView.reloadData()
        } else {
            print("login not found")
        }
    } catch {
        print("delete failed: \(error)")
    }
}
```

⌚️ ~8 hours spent. Tomorrow will be a much more productive day. I'm sure of it
Hooks Reducer Links
Tags: javascript, react, hooks, reducers
Published: 2019-01-10 07:23:37

---
title: Hooks Reducer Links
published: true
description: Using Hooks with Reducers in react@next
tags: JavaScript, React, Hooks, Reducers
---

Articles Referenced:
[ES5 functions vs. ES6 ‘fat arrow’ functions](https://medium.com/@thejasonfile/es5-functions-vs-es6-fat-arrow-functions-864033baa1a)
[Lifting State](https://reactjs.org/docs/lifting-state-up.html#lifting-state-up)
[K.C. Dodds - App State Management](https://blog.kentcdodds.com/application-state-management-66de608ccb24)
[Array Destructuring](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Array_destructuring)
[Refs in React](https://hackernoon.com/refs-in-react-all-you-need-to-know-fb9c9e2aeb81)
[useRef documentation](https://reactjs.org/docs/hooks-reference.html#useref)
[Web Accessibility Guidebook for Developers](https://www.telerik.com/blogs/web-accessibility-guidebook-for-developers)

StackBlitz Demos Referenced:
[Demo With Prop Drilling](https://stackblitz.com/edit/profile-no-context-api)
[Class Using Context API](https://stackblitz.com/edit/profile-with-context-api)
[Functional Components Using Context API](https://stackblitz.com/edit/profile-usecontext-setstate-no-classes)

[Hooks Reducer: Demo Starting Point](https://stackblitz.com/edit/todos-usereducer-hook-start)
[Hooks Reducer: Add Todo](https://stackblitz.com/edit/todos-usereducer-hook-add-todo)
[Hooks Reducer: Complete Todo](https://stackblitz.com/edit/todos-usereducer-hook-complete-todo)
[Hooks Reducer: DeleteTodo](https://stackblitz.com/edit/todos-usereducer-hook-delete-todo)
GitHub Private Repos and their limitations:
Tags: opensource, discuss, meta, github
Published: 2019-01-10 07:07:02

---
title: GitHub Private Repos and their limitations:
published: true
description: 
tags: #opensource, #discuss, #meta, #github
---

Advantage :

 - We can create any number of private repo's.
 -   Maintainability is easy
 -   So we can manage our code privately like other repo like gitlab and bitbucket., etc.


Disadvantage :

 -   We can't create the free private repo's for organisation.
 -   free private repo's can't create the gh-pages.
 -   Only 3 collaborators only add in free private repo's.

Link : https://github.com/10secondsofcode/10secondsofcode
Using Codecov With Travis-CI (pytest-cov)
Tags: testing, python, travisci
Published: 2019-01-10 06:14:52


---
title: Using Codecov With Travis-CI (pytest-cov)
published: true
description: How to integrate pytest-cov testing tool kit to generate reports for Codecov in Travis-CI pipeline
tags: testing, python, travis-ci
---
![codecov-travis-pytest](https://thepracticaldev.s3.amazonaws.com/i/alcgc4o0744xkykkv2x4.png)

[Continuous Integration](https://www.atlassian.com/continuous-delivery/continuous-integration) has brought about so much ease in ensuring quality code is pushed. Making developer lives easier, but it doesn't end there, testing is just a part of bigger picture. We also need to capture the test coverage, we want to assess the quality of our code by ensuring our tests meet the minimum threshold. For this we turn to [pytest-cov](https://pypi.org/project/pytest-cov/).
 Since we have [Travis-CI](https://travis-ci.org/) already set up for our python project, let's add CodeCov to ensure we generate coverage reports from `.travis.yml`. To connect Github to Codecov is as easy as [signing up](https://codecov.io/) with our Github account.

We can now proceed to our local machine and install pytest-cov, just by running `pip install pytest-cov pytest` then add codecov tool `pip install codecov`.
Generate a new requirements file, simply run `pip freeze > requirements.txt`


 Afterwards, we open your `.travis.yml` file and add

```
   install:
    - pip install -r requirements.txt

   script:
    - py.test  --cov-report term --cov=app/test/
   
   env:
    - CODECOV_TOKEN=<token>#IF ONLY YOU HAVE A PRIVATE REPOSITORY

   after_success:
    - codecov

```


Just before you push everything in your `root`(app) directory run this
`py.test  --cov-report term --cov=app/test/`, if successful you should see a new `.coverage` file. Add all of them to your git repository then PUSH. DONE!!!
Build Node Modules Like a Pro with Packer CLI
Tags: javascript, react, node, webdev
Published: 2019-01-10 05:58:36

---
title: Build Node Modules Like a Pro with Packer CLI
published: true
description: Toolkit for building libraries for node and browser
tags: #javascript #react #node #webdev
---

![Packer CLI](https://thepracticaldev.s3.amazonaws.com/i/gv42v1x60y4gejv3dcqa.png)

Packer CLI helps you to kickstart new node module projects compliant with NodeJS and Browser, prescribing best practices. Packer encapsulating file-watching, live-reloading, transpiling, bundling and unit test framework integration with coverage and much more, so you don’t have to. You will get to enjoy the latest latest JavaScript awesomeness with flexibility to custom fit your project needs.

To do so, we provide a generator ecosystem via command line to scaffold complete projects with full control over all exposed workflows.

Packer CLI: https://github.com/yohangz/packer-cli

🎯 Powered by Rollup & Gulp
💡 Typescript & Babel preprocessing
🎀 Kick start React library
💎 Support SASS, LESS, Stylus
🛡️Test with Jest, Jasmine & Mocha 

and much more features; Read more @ [Build Node Modules Like a Pro with Packer CLI](https://medium.com/@yohan.gz/packer-cli-7f1aa05641f1)

![Packer Intro](https://thepracticaldev.s3.amazonaws.com/i/oyknqrbivk5u5blbk60g.gif)
A puppeteer script to discover and download all Netflix categories in a JSON file.
Tags: showdev, javascript
Published: 2019-01-10 05:14:19

---
title: A puppeteer script to discover and download all Netflix categories in a JSON file.
published: true
description: A puppeteer script to discover and download all Netflix categories in a JSON file.
tags: #showdev,#javascript
---


Netflix has hundreds of hidden categories. How do go about discovering them and finding new ones?

Well, I wrote a puppeteer script. That runs headless chrome, logs into Netflix and goes through each URL, extracts the category title and saves it in a JSON file for you to use.

```javascript
/**
 * @format
 * @name Netflix
 * @desc Logs into Netflix. Provide your username and password in the config file when running the script, i.e:
 */

const puppeteer = require('puppeteer');
const fs = require('fs');
const config = require('./config.json');

(async () => {
    let results = [];
    const SHOW_LOADING = config.showLoading;
	const browser = await puppeteer.launch({
		headless: config.headless,
	});
	const page = await browser.newPage();

	// Open login page and login
	await page.goto('https://www.netflix.com/ie/login');
	await page.type('#id_userLoginId', config.username);
	await page.type('#id_password', config.password);
	await page.keyboard.press('Enter');
	await page.waitForNavigation();

	// Click the user account
	await page.click('.profile-icon:nth-child(1)');

	// Start going though the urls
	let categoryID = 1; // Count
	let error = 0; // If four errors in a row, end the loop.
	const ERROR_LIMIT = config.errorLimit;

	do {
		await page.goto(`https://www.netflix.com/browse/genre/${categoryID}`);
		let element = await page.$('.genreTitle');

		// If the element exisits
		if (element !== null) {
            let categorieTitle = await (await element.getProperty('textContent')).jsonValue();
            if(SHOW_LOADING) console.log(`.${categoryID} ${categorieTitle}`);
            
			// Create json object
			let jsonObject = {
				title: categorieTitle,
				id: categoryID,
			};
			results.push(jsonObject);
		}

        // If the element isnt there.
		if (element === null) {
			error++;
		}

		categoryID++;
	} while (error <= ERROR_LIMIT);

	fs.writeFile('results.json', JSON.stringify(results), function(err) {
		if (err) throw err;
		console.log('complete');
		console.log('Categories:' + categoryID);
		browser.close();
	});
})();


```



Check out the repo [here](https://github.com/RobertJGabriel/puppeteer-get-netflix-categories)

You can also follow me on [Github](https://github.com/RobertJGabriel/) and [Twitter](https://twitter.com/RobertJGabriel)
Thoughts on Voice Based Apps for Smart Speakers
Tags: discuss
Published: 2019-01-10 04:57:22

---
title: Thoughts on Voice Based Apps for Smart Speakers
published: true
description: 
tags: discussion
---
![Photo by Ben Kolde on Unsplash](https://thepracticaldev.s3.amazonaws.com/i/u6w1tulhulxv8qsrk4s7.jpg)

## Introduction
As I was reading the UX trends for 2019, Voice UI pop up as one of the trends due to the rise of smart speakers being sold in recent years from Amazon, Google and Apple. 

## My Thoughts
For me, I think it's quite interesting development especially for **Amazon** has a huge e-commerce and cloud eco-systems that work really well with podcast creators to offer to their audience to purchase products or services very easily.

I won't be surprised there might be a patron version of subscription services of products offers by these podcast creators using **Amazon**.
 

## Thoughts Build A Voice App
I was wondering what are your thoughts on building these voice apps. Plus developers who are currently building these voice-based apps for smart speakers or is on the fence of building a voice-based app yourself.


## Links:
* [UX trends for 2019](https://www.invisionapp.com/inside-design/ux-trends-for-2019/?utm_campaign=Weekly%2520Digest&utm_source=hs_email&utm_medium=email&utm_content=68834465&_hsenc=p2ANqtz--AxvtK2UCfkhPOtE-gw5FcaczqKuS_qXCcm36hsrVbpz2ERMezIwY85u6guU5ibKla7a1z-JMuxjofDN_eBvfbtGDuXA&_hsmi=68834465) 
* [Smart speakers: Growth at a discount](https://www2.deloitte.com/insights/us/en/industry/technology/technology-media-and-telecom-predictions/smart-speaker-voice-computing.html)
* [eMarketer: Amazon took 2/3 of smart speaker sales in 2018, but Echo will feel the squeeze in 2019](https://techcrunch.com/2018/12/20/fading-echo/)
Awesome Python Security 🕶🐍🔐
Tags: showdev, python, security, githunt
Published: 2019-01-10 04:48:42

---
title: Awesome Python Security 🕶🐍🔐
published: true
description: An awesome list of security-related resources for Python
tags: #showdev, #python, #security, #githunt
cover_image: https://thepracticaldev.s3.amazonaws.com/i/6xihl6dfrz8tcou0cuyc.jpeg
---

After the success of the Awesome [PHP](https://github.com/guardrailsio/awesome-php-security) and [Golang](https://github.com/guardrailsio/awesome-golang-security) lists, it was time to put the spotlight on Python, which is the 3rd most widely used programming language according to GitHub. See https://octoverse.github.com/projects#languages.

Check out the curated list of **awesome-python-security** resources here:

{% github https://github.com/guardrailsio/awesome-python-security %}

Did I miss anything? Let me know in the comments.

And, please leave a like (or ⭐ the repo) if you find it useful.
SQLite 3.25 Adds Window Functions and Improves ALTER TABLE
Tags: database, sqlite
Published: 2019-01-10 00:43:22

---
title: SQLite 3.25 Adds Window Functions and Improves ALTER TABLE
published: true
description: Some new features added in SQLite 3.25
tags: Database,SQLite
---
The [SQLite 3.25](https://www.sqlite.org/releaselog/3_25_0.html) release had two significant changes: Window Functions and an improved ALTER TABLE command.

## ALTER TABLE
If you’ve been using SQLite for a while you probably know that the ALTER TABLE command has always been pretty restrictive. It really only let you change the table name or add new columns. You could not modify or remove columns. This meant that in order to modify or remove columns from a table you typically used a multi-step process of creating the new table the way you wanted, copying the data to it and then renaming the two tables so the new table now has the name of the original table. It was a hassle. And because this was manual it would break any triggers or views that used the old name.

Now with SQLite 3.25 you can directly rename columns on a table, which will update triggers and views as necessary.

The syntax is as you might expect:

    ALTER TABLE MyTable RENAME COLUMN OldColumn TO NewColumn;

In Xojo code you send this command to the database using the SQLExecute method. Here’s an example that changes a column name:

    Dim sql As String = "ALTER TABLE Team RENAME COLUMN Coach To HeadCoach;"
    DB.SQLExecute(sql)

Sadly you still cannot remove a column so you’ll have to resort to the manual method described above.

## Window Functions
According to the SQLite docs:

> A window function is a special SQL function where the input values are taken from a “window” of one or more rows in the results set of a SELECT statement.

SQLite now has these built-in Window functions:

* row_number()
* rank()
* dense_rank()
* percent_rank()
* cume_dist()
* ntile(N)
* lag(expr), lag(expr, offset), lag(expr, offset, default)
* lead(expr), lead(expr, offset), lead(expr, offset, default)
* first_value(expr)
* last_value(expr)
* nth_value(expr, N)

This example uses the row_number function to assign a row number based on ordered City names while still ordering the overall results by team name:

    SELECT Name, City, row_number() OVER (ORDER By City) AS row_num FROM Team ORDER BY Name;

Window Functions are powerful and can get complex quickly. Read more about them at the [official SQLite Window Function doc page](https://www.sqlite.org/windowfunctions.html).
DevFestZA: Bringing Your Android Application To Life Using Animations (Part 2)
Tags: android, animations, devfestza, beginners
Published: 2019-01-10 03:53:26

---
title: DevFestZA: Bringing Your Android Application To Life Using Animations (Part 2)
published: true
description: journey to my devfest talk about android animations
tags: android, animations, devfestza, beginner
---

In case you have missed Part 1 of this blog post series, you can catch up below:
{% link https://dev.to/pabiforbes/devfestza-bringing-your-android-application-to-life-using-animations-part-1-173p %}

I chose to speak about Android Animations because I started to explore them a bit, and they are fun.
Android provides two frameworks that you can use to implement animations; namely the  *View Animation Framework* and the *Property Animation Framework* .
You can read more about them [here](https://developer.android.com/reference/android/view/animation/package-summary) and [here](https://developer.android.com/guide/topics/graphics/prop-animation). 

To see how my talk went (my voice was shaky because I was extra nervous), you can view it on GDGJohannesburg's YouTube playlist {% youtube 4KfO_YKILG8 %}

More useful links:
[Material Design: Understanding Motion](https://material.io/design/motion/understanding-motion.html#usage)

[Android Animation Library]
(https://developer.android.com/reference/android/animation/package-summary)


[Android Rocket Demos]
(https://www.raywenderlich.com/350-android-animation-tutorial-with-kotlin)


[Functional Animations]
(https://www.invisionapp.com/inside-design/importance-good-animation-ux/)

*Happy Reading*