teleren/devto huggingface dataset:
What do you use for Python development?
Tags: python, help, discuss
Published: 2019-10-07 20:20:33

---
title: What do you use for Python development?
published: true
description: Help me to decide on Python toolbox
tags: [python, help, discuss]
---

Let's say I want to dive into Python development. What tools do you use? I use JS and there are some tools I got used to. For example, in JS, my standard toolbox:

- Opinionated code formatter: Prettier
- Linter: eslint + cra-config
- IDE: code
- Type checker: TypeScript
- Package manager: yarn

Is there something similar in Python? Or something beyond that? Which interpreter do you use standard Python or Anaconda or ...?
Learn Kubernetes with this 5 part series
Tags: kubernetes, devops, docker, tutorial
Published: 2019-10-07 20:18:22

---
title: Learn Kubernetes with this 5 part series
published: true
description: This is a 5 part series on Kubernetes
tags: kubernetes, devops, docker, tutorial
cover_image: https://thepracticaldev.s3.amazonaws.com/i/sccske1vxyw71lycfdvb.jpg
---
Follow me on [Twitter](https://twitter.com/chris_noring), happy to take your suggestions on topics or improvements /Chris

- [Fundamentals](https://dev.to/azure/kubernetes-from-the-beginning-part-i-4ifd)
Kubernetes is about orchestrating containerized apps. Docker is great for your first few containers. As soon as you need to run on multiple machines and need to scale/up down and distribute the load and so on, you need an orchestrator - you need Kubernetes

- [Nodes, Pods, Services and Labeling](https://dev.to/azure/kubernetes-part-ii-revisiting-pods-and-nodes-and-introducing-services-and-labeling-5fi7)
This second part aims to give additional context to Nodes, Pods and introduce the concept Service. There is some theory and some practice with Kubectl.

- [Static scaling](https://dev.to/azure/kubernetes-part-iii-scaling-1mmi)
This third part aims to show how you scale your application. We can easily set the number of Replicas we want of a certain application and let Kubernetes figure out how to do that. This is us defining a so-called desired state.

- [Auto scaling](https://dev.to/azure/kubernetes-from-the-beginning-part-iv-autoscaling-54l6)
This fourth part is also about scaling but we are not talking about setting the number of Replicas. Instead, we are talking about automatic scaling, of letting Kubernetes scale to as many Replicas as it needs based on settings you set on CPU and other metrics. This is great way to handle a sudden barrage of incoming requests.

- [YAML files in Kuberenetes](https://dev.to/azure/how-you-actually-use-kubernetes-starring-yaml-files-3c0k)
Learn about YAML files and how to use them in Kuberenetes
How To Run a Command Multiple Times in Terminal and PowerShell
Tags: programming, softwareengineering, javascript, technology
Published: 2020-02-12 21:34:41

---
title: How To Run a Command Multiple Times in Terminal and PowerShell
published: true
date: 2019-10-07 19:59:04 UTC
tags: programming,software-engineering,javascript,technology
canonical_url: 
---

[![](https://cdn-images-1.medium.com/max/2600/0*A2JTOlsy8Pl32JHv)](https://medium.com/better-programming/how-to-run-a-command-multiple-times-in-terminal-and-powershell-5af76df8d123?source=rss-3a534b5053e6------2)

Save yourself time and effort when testing or varying input

[Continue reading on Better Programming »](https://medium.com/better-programming/how-to-run-a-command-multiple-times-in-terminal-and-powershell-5af76df8d123?source=rss-3a534b5053e6------2)
About Ryan Michael Alvey
Tags: ryanalvey, ryanmichaelalvey, aboutme
Published: 2019-10-07 19:47:31

Ryan Michael Alvey brings over 15 years of experience leading multiple, international startup and growth focused businesses, for large and mid-cap companies. Ryan Alvey’s accomplishments in constructing successful businesses in “hardship” areas throughout the globe, has positioned him as an expert in growth and efficiency management. With a long track record of success, building businesses to over $100 million in annual revenues while maximizing profitability for stakeholders, closing over $10 billion in contracts and directly managing headcounts of over 300 persons, Ryan Michael Alvey has become known as an international, startup and growth expert.

Ryan Michael Alvey has a beautiful family. Ryan Alvey has been married for over 13 years to Jamie Alvey and they have three beautiful daughters. When Ryan Alvey is not working, he plays Mr. Mom; which he loves! Ryan Alvey enjoys hanging out at the park, going out to dinner and watching Cubs baseball with his amazing wife and beautiful daughters!
R3 2019 KendoReact Release Webinar
Tags: kendo, react, webdev, ui
Published: 2019-10-07 19:33:41

---
title: R3 2019 KendoReact Release Webinar
published: true
description: Resources for the webinar
tags: kendo, react, webdev, ui
---

# Links and Resources

Below are resources for the KendoReact R3 Release Webinar

## Webinar Demo App and Documentation

[KendoReact Demo Application on GitHub](https://github.com/httpJunkie/r3-19-kendoreact)
[What's New in KendoReact (Readme & Install Cheats)](https://github.com/httpJunkie/r3-19-kendoreact/blob/master/readme.md)
[Progress Theme builder](https://themebuilder.telerik.com/)
[Grid Footer Documentation](https://www.telerik.com/kendo-react-ui/components/grid/cells/#toc-footer-cells)
[Scheduler Data Binding (Breakfast with Tom)](https://www.telerik.com/kendo-react-ui/components/scheduler/data-binding/)

## StackBlitz Demos
[Scheduler Demo](https://stackblitz.com/edit/r3-kendoreact-release-scheduler)
[Scheduler with Global Timezones and Localization](https://stackblitz.com/edit/r3-kendoreact-release-scheduler-utc-locale)
[TreeList Demo](https://stackblitz.com/edit/r3-kendoreact-release-treelist)
[ColorPalette Demo](https://stackblitz.com/edit/r3-kendoreact-release-color-palette)
[ColorPicker Demo](https://stackblitz.com/edit/r3-kendoreact-color-picker-and-palette)
[ColorGradient Demo](https://stackblitz.com/edit/r3-kendoreact-release-color-gradient)
[Pager Demo](https://stackblitz.com/edit/r3-kendoreact-release-pager)
[Grid Footer Demo](https://stackblitz.com/edit/r3-kendoreact-grid-cell-footer-row)
Why you should test your app
Tags: productivity, testing
Published: 2019-10-07 19:32:43

I know many of you write tests daily and have 90%+ test coverage on your apps (hopefully), but this article is for those who don't, those who don't see the benefit in testing your app (Yep, I have to explain it more then I would like to)

Let's go back to the point. I'll list here the "main" reasons why you should test your app:

## You should create things for users, not for yourself

Through my career as a software engineer I had to explain this concept more times than I would like to:

> You are not the owner of the product, the user is.

And you may think: "What does it mean? Why this phrase is important for me to understand tests?" And here is the answer: The user doesn't care about the technology you used, neither if your code follows the latest standards, he just wants it to work.

So just imagine that what you "tested" by yourself is 1% of what the real user is going to do, he'll never click the correct button, never, ever, clear the session storage when he sees a bug, he'll just leave swearing, that's what they do.

I bet this next one is gonna make you smile

## Refactoring should be easy

I'm a frontend developer, I work with React on my daily basis, and I have to say: Oh boy!

Over these years I saw the same component be done at least 6 different ways, with more optimizations and abstractions, and it's cool, isn't it? But did you ever felt that chill when you had to refactor something?

Let me tell you a secret: *You shouldn't.*

Refactoring is natural, it's the way software development works, and you should feel confident refactoring your code, and here's where testing shines, as Kent C. Dodds said once on his twitter:

> [The more your tests resemble the way your software is used, the more confidence they can give you.](https://twitter.com/kentcdodds/status/977018512689455106)

With automated tests, you'll be able to say that your component is 100% "compatible" with the last one, and this is exciting isn't it?

## You're not the only one that will touch that piece of software

This one is pretty obvious but I have to say: When you work in a company, you have coworkers. People won't read your mind to change your code. Without tests, they don't have parameters to know if they screwed it or not. 

Besides, it's almost impossible to be hired without knowing how to test something (at least you're a junior or doing some kind of internship).

## Composition, right?

So let's pretend you're creating a page for your app, and this page depends on a button. Are you completely sure that if you change the functionality of that button, it'll continue to work on that page?

And how many pages/containers/components use that button? How can you be so sure that it works everywhere?

The short answer is: with tests

I made a workshop last month to give more examples (React), if you want to check it out: https://github.com/pedroapfilho/testing-workshop
How To Enable GZIP Compression For Your Website
Tags: howto, gzip, nginx
Published: 2020-02-05 07:40:39

---
title: How To Enable GZIP Compression For Your Website
published: true
date: 2019-10-07 19:28:34 UTC
tags: How To,GZIP,Nginx
canonical_url: https://codesquery.com/enable-gzip-compression/
---

These days website speed makes the first impression of your business. Website speed is one of the key factors which decides the ranking of your website on various search engines. According to one analysis, If your website takes more than 3 seconds to loads completely then you lose half of the visitor before they even [...]

The post [How To Enable GZIP Compression For Your Website](https://codesquery.com/enable-gzip-compression/) appeared first on [CodesQuery](https://codesquery.com).
Using different Git commit authors for personal and work projects
Tags: workflow, git
Published: 2019-10-07 19:14:25

If you are somebody like me who has both personal and work projects in your development setup, you will probably be setting up the commit author each time you clone a repo.

While it's foolproof, it can feel annoying to do this often. I was looking for a solution to this and here's what I found.

It is possible to include `.gitconfig` files in other `.gitconfig` files. An interesting feature in Git is that you can do this conditionally.

Let's use this feature to our advantage now. In your `~/.gitconfig`, do the following:

```bash
# ~/.gitconfig

[user]
    email = personal@email.com
    name  = Siva

[includeIf "gitdir:~/work/"]
    path = .gitconfig-work

```

What this does is that, it sets the commit author's name to `Siva` and email to `personal@email.com`. When a repository's path starts with `~/work`, it includes the configuration in `.gitconfig-work`. Now, if `.gitconfig-work` has the following contents, the commits in that repo alone will use the following user(essentially overriding the previous user).

```bash
# ~/.gitconfig-work

[user]
    email = official@company.com
    name  = Mr. Siva
```


Using the above setup, all Git repositories, except the ones under the path `~/work/` use my personal details and the ones under `~/work` are committed with my official details.
Get the current user in ActionCable
Tags: rails, actioncable
Published: 2019-10-07 19:09:46

#### An easy way to get the current user using [devise-jwt](https://github.com/waiting-for-dev/devise-jwt)

When you “login”, __devise-jwt__ returns an Authorization header with a token

```
Bearer eyJhbGciOiJIUzI1NiJ9.eyJpZCI6Miwic3ViIjoiMiIsInNjcCI6InVzZXIiLCJhdWQiOm51bGwsImlhdCI6MTU3MDM4OTcyNiwiZXhwIjoxNTcwMzkzMzI2LCJqdGkiOiI1NGZmY2YyOC1iNGFhLTQ3NDMtYTU5My1iOWJkYmIzNDRiOTIifQ.hcBKHd9n4r4s9-pHyshDyVm9zHnjF33SXXTQyGZljEY
```

You probably already know that.

According to the [docs](https://edgeguides.rubyonrails.org/action_cable_overview.html#connection-setup) if you are using cookies you can do the following to get the current user

```ruby
verified_user = User.find_by(id: cookies.encrypted[:user_id])
```

In case you use devise-jwt you could use following inside your connection.rb to find_verified_user 🎊

{% gist https://gist.github.com/PanosCodes/59c28bbb2a7f931d5fdc8a1c202e1da3 %}
Game Of Stakes Weekend Roundup
Tags: crypto, cryptocurrency, blockchain, gambling
Published: 2019-10-07 19:00:43

Join the discussion in DAOBet Telegram groups:

- [International community [EN]](https://t.me/daobet)
- [Validators group chat](https://t.me/daobet_validators)
- [Game developers group chat](https://t.me/daobet_developers)

Join our social media to keep up to date with all the announcements: [Twitter](https://twitter.com/daobet_org/), [Facebook](https://facebook.com/DAObet.org/), and [LinkedIn](https://linkedin.com/company/daobet/).


We sincerely hope that you had a great and productive weekend and managed to save up some strength for new victories that lie ahead.

But for the participants of Game of Stakes, the weekend was a busy one, as the GoS network was subjected to several strength tests, which allowed some of the validators to change their standings in the leaderboards.

The main events of the past weekend:

We recorded several spikes in the tps, which affected the stability of the work of some of the participants’ nodes, thereby introducing some serious changes to the lineup of the leaders.

The guys from **eosriobrazil** returned to first place, as the weekend obviously had a positive impact on the performance of their nodes. Second place is now occupied by ex-leaders **kaiserlabs11**. Our sincerest congratulations go to the guys from **everstakedao**, who literally stormed into the top three after making a huge leap in performance.

Former outsider **p2pvalidator** is not far behind the leaders. They are now in 4th position and are continuing to relentlessly battle for the top three.

The same can be said of **daomintercap**, who rose from 15th to 9th place.

We wish all of our participants a tranquil Monday and a productive week ahead!


Join the [Validators community](https://t.me/daobet_validators) and don't forget to [check out the leaderboard](https://daovalidator.com/leaderboard)!

See you in our report tomorrow, and we are always delighted to have a live conversation in the specialized chat for the validators!


Join the discussion in DAOBet Telegram groups:

- [International community [EN]](https://t.me/daobet)
- [Validators group chat](https://t.me/daobet_validators)
- [Game developers group chat](https://t.me/daobet_developers)

Join our social media to keep up to date with all the announcements: [Twitter](https://twitter.com/daobet_org/), [Facebook](https://facebook.com/DAObet.org/), and [LinkedIn](https://linkedin.com/company/daobet/).
Hacktoberfest Complete
Tags: hacktoberfest
Published: 2019-10-07 18:44:01

## Awesome! 
[Hacktoberfest Profile Pic on Twitter](https://twitter.com/Andrewz_os/status/1181272899191214080/photo/1)

I made the four required PRs for **Hacktoberfest**. I really only worked on an issue for my internship interview but none the less I did it. I will likely make more before the end of the month but for right now Hacktoberfest complete. This was really a pasive thing I started but looking at all the projects on github makes me want to contribute more to open sourced projects. I think Hacktoberfest is something everyone should do as a way to step back and have fun. 

You get to see all the cool things people are building and be a part of it even if it is a small contribution. You can take that small step far. Also, maybe they should have more than just four PRs because you can knock out really simple PRs really quick. I completed the first two in the first day.

Thanks for reading and I hope everyone is a having a blast with **Hacktoberfest**.
Use Simple Custom Logger in Rails Application
Tags: rails, ruby, taggedlogging, debug
Published: 2019-10-07 18:33:01


Using `ActiveSupport::TaggedLogging` in the code with the following way was not so simple for me

```ruby
logger.tagged('SOME_TAG') { logger.info 'Stuff' } 
```

So I come up with the solution with other team members so we only have to call a simple method to log everything we required.


This is how we did it...

We created a file with the following content on `lib/logging/custom_logger.rb` in library.


```ruby
# lib/logging/custom_logger.rb

module Logging
  class CustomLogger
    DEFAULTS = {
      level: :info
    }

    LEVELS = %w(debug info warn error fatal unknown).map(&:to_sym)

    def self.log(*tags, **params)
      level = determine_log_level(**params)
      params.delete(:level)
      message = build_message(*tags, **params)

      Rails.logger.send(level, message)
    end

    private

    def self.determine_log_level(**params)
      params.has_key?(:level) && params[:level].to_sym.in?(LEVELS) ? params[:level].to_sym : :info
    end

    def self.build_message(*tags, **params)
      tags.map!{ |tag| format_tag(tag) }
      params = params.map{ |args| format_param(args[0], args[1]) }


      tags.join(' ') + ' ' + params.join(' ')
    end

    def self.format_tag(tag)
      tag = tag.to_s.gsub(/[^\w]/i, '').upcase
      "[#{tag}]"
    end

    def self.format_param(key, value)
      key = key.to_s.gsub(/[^\w]/i, '').downcase
      value = value.to_s.gsub('"','')

      "#{key}=\"#{value}\""
    end
  end
end

# Can be used in conjunction with Rails.logger.tagged and Rails.logger.silence
def log(*tags, **params)
  Logging::CustomLogger.log(*tags, **params)
end

```

`def log(*tags, **params)` is a public method which used in the full app directory. We can call this method with the combinations of TAGS and parameters to help track the logs.

```ruby
# Can be used in conjunction with Rails.logger.tagged and Rails.logger.silence
def log(*tags, **params)
  Logging::CustomLogger.log(*tags, **params)
end
```

`require logging/custom_logger` added in some initializer or at the end of `application.rb` so that `log` can be accessed anywhere in the application.

```ruby
module APP_NAME
  class Application < Rails::Application

  end
end

require 'logging/custom_logger'
```


class constant `LEVELS` defining all the logging level supported. Whereas the default logging level is `info` as defined in the `DEFAULTS` constant.

logging lib will upcase the tags either we pass in a different case.


## Example Usage:
```ruby
log('MAIN_TAG', 'SUB_TAG', key1: "value1", key2: "value2", error_message: e.message)

# Out put:
#[MAIN_TAG] [SUB_TAG] key1=value1 key2=value2
```


The following exception handling will output the log:
```ruby

begin
  user = User.find(params[:id]) # id = 100
rescue StandardError => e
  log('ERROR', 'USER', error: e.message)
end


[ERROR] [USER] error="ActiveRecord::RecordNotFound (Couldn't find User with 'id'=1000)"
```


The following is the gist of the above described lib https://gist.github.com/Sohair63/106dd168af3bc5f8f37f82c05947ce0f
The 7 Most Popular DEV Posts from the Past Week
Tags: top7
Published: 2019-10-07 18:26:36

---
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/sfwcvweirpf2qka2lg2b.png
---
Every Monday we round up the previous week's top posts based on traffic, engagement, and a hint of editorial curation. The typical week starts on Monday and ends on Sunday, but don't worry, we take into account posts that are published later in the week. ❤️

#1. Sensible Defaults

Andy shares their CSS reset with us and explains their approach to keeping it lightweight.

{% link https://dev.to/hankchizljaw/a-modern-css-reset-6p3 %}

#2. Clarify & Communicate

Steph shares their six step writing process, along with some useful tools  for SEO and tracking progress.

{% link https://dev.to/stephsmithio/writing-is-thinking-learning-to-write-with-confidence-1ijh %}

#3. Slap in some YAML!

Tierney introduces us to GitHub Actions CI and GtiHub Actions CI Templates. This could be your new bliss.

{% link https://dev.to/bnb/an-unintentionally-comprehensive-introduction-to-github-actions-ci-blm %}

#4. Take It For A Spin

Jeremy enjoys testing out different Linux distros. In this post, they share their evaluation on Clear Linux.

{% link https://dev.to/jeremycmorgan/first-impressions-of-intel-clear-linux-3obn %}

#5. Make Decisions & Execute Actions

Meggie shares useful JavaScript tips to write better and cleaner code with conditionals.

{% link https://dev.to/hellomeghna/tips-to-write-better-conditionals-in-javascript-2189 %}


#6. Sharpen Up!

In this post, Simon recommends nine projects that will help sharpen up your coding skills and elevate your portfolio.

{% link https://dev.to/simonholdorf/9-projects-you-can-do-to-become-a-frontend-master-in-2020-n2h %}

#7. PRNG

How Pseudo Random Number Generators work and three ways to replace `Math.random()` in JavaScript.

{% link https://dev.to/svijaykoushik/3-amazing-ways-to-generate-random-numbers-without-math-random-4e84 %}

_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 101: Part 4 - Building a Xamarin.Forms UI with XAML
Tags: xamarin, tutorial, beginners, mobile
Published: 2019-10-07 17:20:32

---
title: Xamarin 101: Part 4 - Building a Xamarin.Forms UI with XAML
published: true
description: XAML is cool. XAML is fun. Now learn to use XAML to build your very first mobile application.
tags: xamarin, tutorial, beginners, mobile
series: xamarin101
---

# Xamarin 101: Part 4 - Building a Xamarin.Forms UI with XAML

XAML is a declarative markup language used to describe user interfaces. It allows you to build sophisticated UIs that are easy to understand at a quick glance. And it's straightforward to get started with too.

In this short video, learn how to build your first Xamarin application for both iOS and Android using XAML for the user interface.

{% youtube 5XgxZBK6uPM %}

## Learn More!

* [A self-paced course on creating user interfaces with XAML](https://docs.microsoft.com/learn/modules/create-ui-in-xamarin-forms-apps-with-xaml?WT.mc_id=xamarin101-c9-masoucou)
* [Getting started with XAML](https://docs.microsoft.com/xamarin/xamarin-forms/xaml/xaml-basics/get-started-with-xaml?WT.mc_id=xamarin101-c9-masoucou)
* [Step-by-step walk-thru of creating a single page application](https://docs.microsoft.com/xamarin/get-started/quickstarts/single-page?WT.mc_id=xamarin101-c9-masoucou)
* [User interface tutorial with XAML](https://docs.microsoft.com/xamarin/get-started/tutorials?WT.mc_id=xamarin101-c9-masoucou)

Happy mobile coding! And as always, if you have any questions - please ping me on Twitter at [@codemillmatt](https://twitter.com/codemillmatt).
Heroines of JavaScript series: Lauryn & Layla interview Suz Hinton
Tags: diversity, javascript, girlswhocode, womenintech
Published: 2019-10-07 17:14:23

---
published: true
title: "Heroines of JavaScript series: Lauryn & Layla interview Suz Hinton"
cover_image: https://user-images.githubusercontent.com/1228996/66279346-8237f100-e876-11e9-8e83-e16425821010.png
description: "As part of our Heroines of JavaScript series, Lauryn & Layla interview Suz Hinton."
tags: diversity, javascript, girlswhocode, womenintech
canonical_url: https://michaeljolley.com/streams/Heroines-of-JavaScript-series-with-Suz-Hinton/
---

## Stream Replay Link

[https://youtu.be/NKuV4iwGklk](https://youtu.be/NKuV4iwGklk)

<!--more-->

### Segments

| Timestamp | Topic
| ---       | ---
| [00:06]({{page.replay}}?t=368.127) | Kicking it off |
| [00:13]({{page.replay}}?t=780) | Interview with Suz Hinton |
| [01:38]({{page.replay}}?t=5880) | Starting to work on Awesum.io |
| [03:05]({{page.replay}}?t=11140.923) | Wrapping up and raid to [luckynos7evin](https://twitch.tv/luckynos7evin) |

### Today's Candle To Code By

<a href="https://amzn.to/320cEn1" target="_blank">Unicorn Dust</a>