teleren/devto huggingface dataset:
Supporting The Full Lifecycle Of Machine Learning Projects With Metaflow
Published: 2020-08-10 19:28:21

<p>Netflix uses machine learning to power every aspect of their business. To do this effectively they have had to build extensive expertise and tooling to support their engineers. In this episode Savin Goyal discusses the work that he and his team are doing on the open source machine learning operations platform Metaflow. He shares the inspiration for building an opinionated framework for the full lifecycle of machine learning projects, how it is implemented, and how they have designed it to be extensible to allow for easy adoption by users inside and outside of Netflix. This was a great conversation about the challenges of building machine learning projects and the work being done to make it more achievable.</p><p><a href='https://www.pythonpodcast.com/metaflow-machine-learning-operations-episode-274/'>Listen Now!</a></p>
Your website sucks! And I'll tell you why ⚡️
Tags: ux, showdev, discuss, javascript
Published: 2020-08-10 19:24:36

I had some great success critiquing/roasting your websites [on Twitter](https://twitter.com/toktoktwan/status/1290712060154843138?s=20), and I'd love to help tell you why **your website sucks**

As a CRO Consultant, I have a lot of experience in improving our client's products.

So show me your website, and I'll give you at least one point to improve!

😄
Python Zero to Hero - Ep.18 - Python packaging
Tags: python, package, tutorial, beginners
Published: 2020-08-10 19:02:37

---
title: Python Zero to Hero - Ep.18 - Python packaging
published: true
description: Python packaging is one of the reasons why Python is loved by so many no matter how they used Python for. With the ability to install extra Python package, you can use Python to achieve different tasks easily. In this episode, we will talk about how all these works.
tags: python, package, tutorial, beginner
---
Python packaging is one of the reasons why Python is loved by so many no matter how they used Python for. With the ability to install extra Python package, you can use Python to achieve different tasks easily. In this episode, we will talk about how all these works. If you have any questions or any suggestions about which Python topics to cover, please leave your comment at my [Twitch channel](https://www.twitch.tv/cheukting_ho)

You can get the slide deck [here](https://slides.com/cheukting_ho) and the example code and homework form [GitHub here](https://github.com/Cheukting/python02hero). Ask questions at my [Twitch channel](https://www.twitch.tv/cheukting_ho)
🚀 Made a chat server for mailing list hackers
Tags: showdev, motivation
Published: 2020-08-10 18:59:43

Hey friends 👋

[Mailing List Hackers](https://www.mailinglisthackers.com) is a new chat community for people building mailing lists and newsletters. The goal long-term is to build a paid membership community, but for now, **joining is free** for the first hundred people or so to build a community of like-minded folks and get the conversation going.

**Super quick link to get your invite 👉 https://mailinglisthackers.com/chat**

Wrote a bit about the process below on the site, so if you're interested in learning more about the project, check it out:

https://www.mailinglisthackers.com/become-a-founding-member-of-mailing-list-hackers-for-free

We have a few channels so far, including software-specific channels (#mailchimp, #convertkit, etc) as well as a fun #show-your-work channel to show off your emails, stats, or whatever else you're building. Really excited to build this stuff out based on user feedback, too!

If you're building a mailing list, or if you're interested in building one but don't know where to start, come hang out in the chat, ask questions, and get feedback on what you're building. See you there!
As a developer, what are you expecting from your employees/fellow developers when they first start at the company?💻
Tags: discuss, career
Published: 2020-08-10 18:44:14

Within the next couple of months, I will be graduating with a degree in Computer Science, and I am currently job hunting for an entry-level Software Developer position.😊 I am curious to know what individuals think when they hear that a new developer may be joining their team. Do you have high expectations for this individual or are you prepared for there to be mistakes? If you could tell them one piece of advice before they join the team, what would it be?
Convert String to Integer
Tags: beginners, blockchain, java
Published: 2020-08-10 18:36:13

Today i stacked in a problem then i knew this and so i want to share with you!

It is a very simple problem but i think most of the people still doesn't know about it because we generally use some predefined functions for it such as
Integer.parseInt() and Integer.ValueOf()
Here is the user-defined function for converting string to integer.
For example:Input- String s="2345"
Output- int a=2345


import java.util.*;
class Solution
{
public satic void main(String args[])

{
String s="2345";
int d=Int_val(s);
System.out.println(d);
}
public static int Int_val(String s) 
{
int result=0;
for(char c:s.toCharArray())
{

result=result*10+c-'0';
}
return result;
}
}

HappyCoding❤️
I hope you like
Recursos para GitFlow
Tags: git, flow, resources
Published: 2020-08-10 18:34:46

Una manera sencilla de entender GitFlow es con un infografía donde se aplica la evolución y los efectos en las diferentes ramas.

En la siguiente página se puede ver los comandos básicos de GitFlow y el efecto en las ramas de master y develop.

[GitFlow - cheatsheet](https://danielkummer.github.io/git-flow-cheatsheet/index.es_ES.html)

Para conocer a detalle que hace cada comando de GitFlow se puede explorar los siguientes enlaces:

[Flujo de trabajo de GitFlow](https://www.atlassian.com/es/git/tutorials/comparing-workflows/gitflow-workflow)

[Git Branching Model](https://nvie.com/posts/a-successful-git-branching-model/)
Adianti Framework
Tags: php
Published: 2020-08-10 18:31:13

No inicio de 2017 durante algumas pesquisas sobre Frameworks PHP me deparei com o Adianti Framework. Fiquei surpreso principalmente pelo fato de ser brasileiro. 

## O que é de fato Adianti Framework?
É uma arquitetura open-source para criação de sistemas em PHP, focado no desenvolvimento de aplicações de negócio. 

Para acelerar a criação de sistemas, ele oferece uma série de componentes para a construção de formulários e datagrids, e recursos para relatórios, gráficos, etiquetas, calendários, e outros. 

Possui templates prontos e funcionais com controle de permissões, logs, interação entre usuários, etc. Dessa forma, nós programadores podemos focar na lógica e na regra de negócios, não em detalhes da implementação.

## Algumas características
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/sf5y640kxrwdh3wxoih4.png)
Sua estrutura impressiona, o Código-fonte é baseado em mais de 30 Design Patterns clássicos, ele é totalmente orientada a objetos, sem gambiarras?, testado e homologado com as versões mais recentes do PHP, já esta preparado com Métodos de proteção contra SQL injection, session fixation, e outros, e o melhor ainda é que ele suporta nativamente vários tipos de bancos de dados, sem mudar a programação.

## IDE própria e com versão gratuita!
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/llqd608dkfq4yqg2q6k2.png)
O desenvolvimento no Adianti Framework pode ser acelerado pelo uso do Adianti Studio, uma IDE própria que traz funcionalidades como a geração automática(na sua versão paga) de formulários e datagrids, além do Adianti Studio Form Designer, uma ferramenta que permite desenhar as telas da aplicação por meio do clique e arraste, e do Adianti Studio PDF Designer, uma ferramenta que permite desenhar documentos em formato PDF que podem ser preenchidos dinamicamente com dados pelo framework.

Você pode fazer um teste da IDE clicando aqui para fazer download da versão gratuita. Você também pode acessar o site oficial para conhecer mais [clicando aqui](https://www.adianti.com.br/framework-download).
Qual a diferença entre Activity, FragmentActivity e Fragment?
Published: 2020-08-10 18:25:39

Tanto a Activity como o Fragment são componentes que fornecem uma interface gráfica(UI), para permitir que o usuário interaja com a aplicação.
A diferença fundamental é que um Fragment necessita de uma Activity para ser apresentado.

O Fragment foi introduzido no Android 3.0 (API de nível 11) e o seu intuito principal é permitir maior flexibilidade na criação de UI adaptáveis às várias dimensões de telas existentes nos dispositivos actuais.
Ele permite centralizar o código referente a uma parte(fragmento) da UI.
Ao dividir o layout de uma Activity em fragmentos, é possível modificar a aparência da Activity, em tempo de execução, de forma simples.
Outra vantagem é o reaproveitamento do código, pois eles podem ser usados em mais de uma Activity.

Há quem use o Fragment, sem uma view associada, para implementar o padrão MVP.
O fragment faz de presenter, aproveitando a possibilidade que este tem, chamando o método setRetainInstance(true), de não ser destruído durante a recriação da Activity(como a resultante da rotação do dispositivo), mantendo o estado da aplicação.

A FragmentActivity é um “wrapper” em volta de uma Activity para permitir que o Fragment possa ser utilizado em dispositivos com Android anterior à versão 3.

Créditos: https://pt.stackoverflow.com/users/2541/ramaral
Basics of switch cases and defaults
Tags: javascript, beginners, codenewbie
Published: 2020-08-10 18:21:27

Switch cases were one of my favorite things to learn (and to use). Granted, they aren't always the best thing to use but when used I feel it makes the code cleaner than using if/else statements as well as slightly faster.

#### What is a switch case?

A switch case is a chunk of code that will perform differently depending on the result of the expression passed through.

The difference between the if/else statement and a switch is that in a switch statement you can continue to go through the statement even if one of the conditions is met. If not you can create a break statement.

#### Syntax:
(taken from [w3schools](https://www.w3schools.com/js/js_switch.asp))
```javascript
switch(expression) {
  case x:
    // code block
    break;
  case y:
    // code block
    break;
  default:
    // code block
} 
```
#### Example in practice:

```javascript
var x = 2;

switch(x){
    case 0:
      console.log("Saturday");
      break;
    case 1:
      console.log("Sunday");
      break;
    default:
      console.log("You have to work.");
      break;
}
```

This would return "You have to work." since the expression isn't equal to 0 or 1. 

In comparison this is what the code looks like as an if/else statement: 
```javascript
var x = 2;

if (x==0){
   console.log("Saturday");
}
else if(x==1){
    console.log("Sunday");}
else{
   console.log("You have to work.");
}
```
#### What should be the default?

I used to think it didn't matter but today I was working on the ["Who likes it"](https://www.codewars.com/kata/5266876b8f4bf2da9b000362/train/javascript) kata on CodeWars and it clicked. The default is if it's equal to anything not previously covered. 

For example, I had the default as if no one likes the status it will return "no one likes this." (which, harsh but okay.) However, it was failing on the attempt tests because where I had case 4 as listing any other number after 3 people liking it, that was only catching exactly 4 people. The switch statements only work for that number. They don't work for ranges as if/else statements can.

The solution to this was to make the return of "no one  likes this" as a case 0.  

#### Let me know if you have any questions below!
AWS CLI helper scripts repository
Published: 2020-08-10 17:56:08

Technically this is not a post but pointer to AWS CLI helper scripts repository.
We are trying to present scripts as simple as possible for ease of understanding

Feel free to bookmark or subscribe to GitHub repository updates. We publish new scripts weekly. Hope it will help with your AWS daily task management.

[GitHub repository](https://github.com/virtiogroove/aws-helper-scripts)

New script today:
[Working with Trusted Adviser checks from AWS CLI](https://github.com/virtiogroove/aws-helper-scripts/blob/master/trustedadviser.sh)
Android Jetpack: What is it? Why Android developer should have use it.
Tags: android, jetpack, androiddeveloper, androidappdevelopment
Published: 2020-08-10 17:48:42

What's new in Jetpack:
Android Jetpack comes with five new components:

    WorkManager alpha release
    Navigation alpha release
    Paging stable release
    Slices alpha release
    Android KTX (Kotlin Extensions) alpha release


According to Android officials 

"Jetpack is a suite of libraries to help developers follow best practices, reduce boilerplate code and write code that works consistently across Android versions and devices so that developers can focus on the code they care about. "

Let's Understand what actually it is.

Jetpack: Architecture 

The Architecture zone of Jetpack incorporates eight unique libraries and instruments that help you, modeler, your application and deal with the information utilized by and showed in the application. A large portion of these are existing libraries. In any case, there are three new libraries: 

Navigation, 
Paging, and 
WorkManager. 

Android Jetpack components are an assortment of libraries that are exclusively adaptable and worked to cooperate while exploiting Kotlin language includes which makes us more beneficial. 

These software segments have been orchestrated in 4 classes which are as per the following: 

Foundation Components 
Architecture Components 
Behavior Components 
UI Components 


Deep dive in Android jetpack , follow the below beautiful post on Android Jetpack.

https://www.javaoneworld.com/2020/08/what-is-android-jetpack.html?m=1
GitHub Codespaces LiveShare Options
Tags: github
Published: 2020-08-10 17:46:58

Tried out some of the options for using VSCode LiveShare in GitHub Codespaces.  You can...

1) Share from Codespaces (code window) via a link
2) Share as READ-ONLY -or- READ/WRITE
3) Share to remote VSCode browser -or- VSCode local desktop

Share FROM my Codespaces instance ->
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/jt7bn4wz9jcgk6yuqis8.png)

Share TO his local VSCode instance <-
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/z1d1i1n6ca5c4eo4ivox.png)

Thanks to @jeremybytes for testing this with me too.
Explicit Registration in ASP.NET Core DI
Tags: dotnet, aspnetcore
Published: 2020-08-10 17:21:22

---
title: Explicit Registration in ASP.NET Core DI
published: true
description: How to explicity register a service in ASP.NET Core's built in DI Container
tags: dotnet, aspnetcore
//cover_image: https://direct_url_to_image.jpg
---

Sometimes you'll want a little more control over how your objects are composed than the IServiceCollection API gives you. You can always fall back to explicit registration.

The AddTransient/Scoped/Singleton methods all have an overload that takes a Func<IServiceProvider, T> as a factory method to use when an instance is needed.

When is this useful? let's say you have the following objects

```csharp
public interface IPing
{
  void Ping(string msg);
}

public class ConsolePing : IPing
{
  public void Ping(string msg) =>
    Console.WriteLine(msg);
}

public class LogPing : IPing
{
  public void Ping(string msg) =>
    Log.Info(msg);
}
```

So you have to different implementations of IPing, then for different services you wanted to inject different implementations, but still only take a dependency on the interface for test mocking.

```csharp
public class ServiceA
{
  private readonly IPing _pinger;
  public ServiceA(IPing pinger) => _pinger = pinger;
}

public class ServiceB
{
  private readonly IPing _pinger;
  public ServiceB(IPing pinger) => _pinger = pinger;
}
```

How do you register ServiceA and ServiceB so that A gets the ConsolePinger, and B gets the LogPinger? Use the overload registration that takes in a factory method.

The factory method needs to return an instance of the service you are registering, but it takes as a parameter a service provider that can be used to obtain any dependencies.

```csharp
public void ConfigureService(IServiceCollection services)
{
  services.AddTransient<ConsolePing>();
  services.AddTransient<LogPing>();
  services.AddTransient<ServiceA>(provider =>
  {
    var consolePinger = provider.GetRequiredService<ConsolePing>();
    return new ServiceA(consolePinger);
  });

  // if you can also omit the generic parameter
  services.AddTransient(provider =>
  {
    var logPinger = provider.GetRequiredService<LogPing>();
    return new ServiceB(logPinger);
  });
}
```
Setup a notes repository with basic note functionality and auto-syncing to github
Tags: vscode, github, beginners
Published: 2020-08-10 17:14:19

# VS Code & GitHub for Notes

Setup a notes repository with basic note functionality and auto-syncing to github.

## Background

An essential tool for all projects is a good note-taking app. Normally, I use Evernote as it has excellent functionality, syncs automatically, and has support for web, mobile, windows and mac. I have used it for years, and basically keep everything there, from tax preparation planning, to cookie recipes, to important scanned documents and saved emails.  

However, Evernote does not support markdown or, more importantly, code snippets. This seems like a massive oversight, but I understand it's based off of their underlying code.  

To address the issue, rather than make a major change to my workflow and switch over to an entirely new platform for notes, I have adapted my other workhorse, VSCode, for coding specific note taking.  The key functionality I need for coding notes are screenshot pasting and code snippets, in addition to normal text formatting and auto-syncing.  

## Setup:
1. Install VSCode Extensions:

    1. [Notes](https://marketplace.visualstudio.com/items?itemName=canadaduane.notes)
    2. [RunOnSave](https://marketplace.visualstudio.com/items?itemName=emeraldwalk.RunOnSave)
    3. [Paste Image](https://marketplace.visualstudio.com/items?itemName=mushan.vscode-paste-image)
    4. [Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker)

2. Create a script file at path: ".auto/sync.sh"

    ```
    echo "Synching Notes"
    git pull
    git add .
    git commit -m "Sync Notes - $(date)"
    git push
    ```

3. Modify permissions on your script file:

    ```chmod u+x ./.auto/script.sh```

4. Setup ".note" file auto-sync on save using "sync.sh".

    * RunOnSave Settings:
        * Path: ".vscode/settings.json"
    ```
    "emeraldwalk.runonsave": {
        "commands": [
            {
                "match": ".notes",
                "isAsync": true,
                "cmd": "./.auto/sync.sh"
            }
        ]
    }
    ```

5. Add notes in your preferred note directory structure.  

## Sources
* https://dev.to/theagilemonkeys/using-vs-code-for-notes-taking-3eof
* https://sciwiki.fredhutch.org/compdemos/vscode_markdown_howto/
Building a multi-step form in Rails with Wicked
Tags: rails
Published: 2020-08-10 17:10:31

I wanted to make a wizard to help students visualize the relationships between their database tables, so I had a chance to play with [the Wicked gem](https://github.com/zombocom/wicked#step-by-step-wizard-controllers). Here is the work-in-progress:

https://association-accessors.firstdraft.com/

The Wicked gem has a good README but the example within centers around a signup form. Since my wizard is not for a user model (and thus doesn’t have `current_user`), and since I have validations that I wanted to enforce at some steps but not others, I found this blog post very helpful:

https://www.joshmcarthur.com/2014/12/23/rails-multistep-forms.html

That post got me 99% of the way, but a few additional notes:

 - My wizard has conditional logic; it's not a linear path. So my update action has some `jump_to`s:

    ```ruby
    if step == 'nature' && @association.indirect?
      jump_to(:join_table)
      render_wizard
    elsif step == 'foreign_key' && @association.valid?
      jump_to(:name)
      render_wizard
    else
      render_wizard @association
    end
    ```

    It will be interesting to think about how to generalize this for more complicated wizards. Do we capture the logic in a full-on state machine, and use that to decide where to `jump_to`?
 - I re-rendered previous form fields and disabled them to remind the user what they'd already entered, so breaking each form-group into its own partial was very helpful.
5 maneras de iterar un objeto en JavaScript
Tags: javascript, object, spanish, webdev
Published: 2020-08-10 17:04:39

Los objetos son estructuras de datos bastante importantes en JavaScript, internamente el lenguaje administra todo mediante objetos. Recorrerlos o iterarlos es bastante sencillo. 

## **1. Usando la propiedad `Object.keys()`**

```javascript
let perro = {
  nombre: "Scott",
  color: "Negro",
  macho: true,
  edad: 5
};

let claves = Object.keys(perro); // claves = ["nombre", "color", "macho", "edad"]
for(let i=0; i< claves.length; i++){
  let clave = claves[i];
  console.log(perro[clave]);
}
/*
"Scott"
"Negro"
true
5
*/
```

>* `Object.keys()` obtiene en un arreglo todas las claves del objeto en cuestión.*

## **2. Usando la propiedad `Object.values()`**
```javascript
let perro = {
  nombre: "Scott",
  color: "Negro",
  macho: true,
  edad: 5
};

let valores = Object.values(perro); // valores = ["Scott", "Negro", true, 5];
for(let i=0; i< valores.length; i++){
  console.log(valores[i]);
}
/*
"Scott"
"Negro"
true
5
*/
```
> * `Object.values()` obtiene los valores del objecto en cuestión.* 

## **3. Usando un bucle `for...in`**
```javascript
let perro = {
  nombre: "Scott",
  color: "Negro",
  macho: true,
  edad: 5
};

for (let clave in perro){
  console.log(perro[clave]);
}
/*
"Scott"
"Negro"
true
5
*/
```

## **4. Usando la propiedad `Object.entries()` con un `forEach()`**
```javascript
let perro = {
  nombre: "Scott",
  color: "Negro",
  macho: true,
  edad: 5
};

Object.entries(perro).forEach(([key, value]) => {
  console.log(value)
});

/*salida:
"Scott"
"Negro"
true
5
*/
```

## **5. Usando la propiedad `Object.entries()` y un bucle `for...of`**

```javascript
let perro = {
  nombre: "Scott",
  color: "Negro",
  macho: true,
  edad: 5
};

for(const [key, value] of Object.entries(perro)){
  console.log(value)
}

/*salida:
"Scott"
"Negro"
true
5
*/
```

---

## **Conclusiones** ✔
* Recorrer objetos es una tarea bastante básica y sencilla de realizar.
* Recomiendo usar los métodos provistos de la API del lenguaje (`entries()`, `forEach()`, `keys()`, `values()`, etc) para recorrer objetos. No reinventes la rueda. 
* No te limites a usar las meneras de recorrer un objeto descritas en este post, dependiendo a la situación, puede que te sea más útil usar otros métodos. En desarrollo existen varias maneras de llegar a los mismos resultados. 

![img](https://media.giphy.com/media/DAtJCG1t3im1G/giphy.gif)
VueJS Tip: Dynamically generate slots for table
Published: 2020-08-10 17:02:39


Want to use slots in your table component, but don't know which columns you'll be using?

No problem.

Dynamically generate your slot names using the column name.


![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/hdo2ky9a6a1nirnxwhog.jpg)