teleren/devto huggingface dataset:
GitHub is now free for teams 🤔 
Tags: github, opinion, microsoft, opensource
Published: 2020-04-14 21:59:46

Today GitHub [announced](https://github.blog/2020-04-14-github-is-now-free-for-teams/) that you don't need a payed plan anymore to have private repositories for teams. 
That is a big announcement and the first thought goes to the competing service, [GitLab](https://gitlab.com), that has been offering the same since the very beginning.

But this is somewhat also an interesting announcement that might have implications for the open source movement in general. Of course **this is just a pure speculation**, but anyway let's roll with it. 

I think GitHub has been one of the organization that made the "Free for open source" business model popular. The "Free for open source" model works like this: you can use our service free of charge and we get back advertisement and feed our [WOM](https://en.wikipedia.org/wiki/Word-of-mouth_marketing) marketing. Now developers (and companies) tend to be jealous/shy/protective toward their code, but they are also a pragmatical bunch: subscribing to a payed plan for my weekend-long side project or my hello world flutter might not be something worth doing. 
But one thing about open source is that, like most thing, is a quantitative issue more then a qualitative one: once you get used to have your stuff open source, it becomes quite liberating (and, who knows, could even help you land a job). We can say that GitHub with its model has, at the very least, encouraged and promoted the open source software experience. 

Microsoft on the other hand has [historically](https://www.theregister.co.uk/2001/06/02/ballmer_linux_is_a_cancer/) been the fiercest enemy of the [Open Source Movement](https://en.wikipedia.org/wiki/Open-source-software_movement). Microsoft, since 2018, [owns](https://news.microsoft.com/2018/06/04/microsoft-to-acquire-github-for-7-5-billion/) GitHub, and, with this last move, if you are one of those suspicious people, you might think that they kind of want you not to think too much about all this OSS business: get your free proprietary repository and off you go. 

Also [this](http://pedrocr.pt/text/microsofts-love-of-linux).

*A pensar male si fa peccato, ma spesso ci si azzecca.* - [Giulio Andreotti](https://en.wikipedia.org/wiki/Giulio_Andreotti)
Day 116 : Time
Tags: hiphop, code, coding, lifelongdev
Published: 2020-04-14 21:57:45

_liner notes_:
- Professional : Actually way more productive than I thought I would be today. Had a bunch of back to back meetings and presentations. After those, I had another demo of what I've been building for the Dashboard team. It worked pretty well aside some errors. Took some time to figure out the errors, I think, and applied some of the feedback I got. Some of the things I didn't do before because I wasn't sure if they would use the concept. It was just a quick proof of concept. Looks like we're going to go with it, so I added more to it. Came out pretty good. Even cleaned up some of the code! (Still a mess though. haha).

- Personal : Last night, I got a basic Svelte app for my side project working. Also went through the tracks submitted for my side project and got over 50 into the system. More should be coming in. I also watched the latest "Dispatches from Elsewhere" episode. I was afraid that it would be ending, but there was a twist and it looks like there's a lot more story left!

![Sand dunes of Death Valley, California with mountains in the distance ](https://dev-to-uploads.s3.amazonaws.com/i/ggcughqprunr2al6ct2k.png)

Looking to start building out some of the different components for my side project. Shouldn't be too bad since I already made it and just need to convert it to Svelte. May watch some anime to end the night.

Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube Z2wkg38UgNc %}
Grub Customizer Kullanımı
Tags: pardus, linux, debian, grub
Published: 2020-04-10 13:41:12

**Grub açılış menü ayarları**

Bilgisayarınızda birden fazla işletim sistemi varsa ve ön tanımlı (ilk sırada) olarak hangi işletim sisteminin açılacağını belirlemek istiyorsanız _**grub-customizer**_ uygulamasıyla kolay şekilde yapabilirsiniz. Bu uygulama ile açılış ekranındaki sıra, bekleme süresi, açılış ekranındaki arka plan resmi gibi ayarlar yapabilirsiniz.
**1)** Uygulama yüklenir
`sudo apt install grub-customizer`

**2)** Başlat menüsünden yüklenmiş olan **grub customizer** uygulaması açılır. Açılışta yetkili kullanıcı parolası girmeniz gerekmektedir.

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

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

Gördüğünüz gibi 4 adet işletim sistemi bulunmakta,
Pardus 19.2
Ubuntu 19.10
Pardus 17.5
Windows 10

Burda ön tanımlı olarak Pardus 19.2 ayarlanmış.

**3)** Ubuntu 19.10 işetim sistemini ön tanımlı yapmak için üzerine gelerek sağ tıklayıp yukarı taşı diyebiliriz.

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


![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/4zuz53krwmc45bwhndr4.png)

Gördüğünüz gibi ilk sırada Ubuntu 19.10 gözüküyor. 
**Not:** Her yukarı taşı dediğimizde bir sıra yukarı çıkıyor. Burda iki kez yukarı taşı yapılmıştır.

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

İşlem bittikten sonra mutlaka **Kaydet** diyoruz.



**4)** Açılış Menüsünün bekleme süresini ayarlamak için;

**Genel Ayarlar**
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/cq0c57rzyy2ehkhnsv8r.png)


Süreyi burdan belirleyebliriz
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/q10fsw0tbvx9whzlw0zy.png)


**5)** Açılış Ekranında arka plan resmi koymak için;

**Görünüm Ayarları**

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


**arka plan resmi**
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/9f3f0iw6qim5tuly7lqy.png)

Arka plan resmi düzenlenmiştir. Ön izleme aşağıdaki gibi görülmektedir.
Bu işlemlerden sonra **Kaydet** butonuna tıklamayı unutmayınız.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/pvu00uizu7eo0g0m0pbp.png)
Transforming Teaching with Teachingo - Update #1
Tags: twiliohackathon, javascript, node, react
Published: 2020-04-14 20:56:14

_This is an update on our #TwilioHackathon project progress - you can see the original post here: {% link https://dev.to/chloemcateer3/transforming-teaching-with-teachingo-4lc5 %}_

---

## Everything starts with a whiteboard ✍️

Before we began, we wanted to mock out what we expected our UI to look like and how the users might interact with our solution.

![Whiteboard mockup of how Teachingo UI looks](https://i.imgur.com/0ojybNE.jpg)

Cool. So we understood what we needed from our web application perspective.

## Technology Stack Choices

First things first. We had our idea, we kinda know how we want it to look, now we have to actually build it!

I did some initial investigation to find out what Twilio had to offer in terms of examples for web applications interacting with their Video API.

I came across their [twilio-video-app-react](https://github.com/twilio/twilio-video-app-react) example which handles **a lot** out of the box! Awesome!

Since this is a hackathon, we didn't want to reinvent the wheel - so we decided to base our client side application on this repository to allow us to focus on the targeted features for our specific use case.

Built using React and TypeScript, it was music to my ears.

![GIF of Brooklyn 99 "Noice!"](https://media.giphy.com/media/KxiRwO7tqXCTDVKobo/giphy.gif)

---

Next, we had to decide what to power our client with. We were playing with the idea of building a purely serverless architecture but thought against it since it might introduce unncessary overhead, especially for a hackathon.

Keep it simple - Node.js ft. [Express](https://expressjs.com/) to power our backend API.

This will handle all database interactions, user authentication and more!

---

Stay tuned for more progress updates from [Chloe](https://dev.to/chloemcateer3) and myself!
A Simple JWT Go Package
Tags: go, JWT, opensource, ama
Published: 2020-04-14 20:52:50

I just recently finished my second open source project. It is a simple Go package for creating, signing, and verifying JSON Web Tokens. Please check it out on [Github](https://github.com/jrpalma/jwt)

Let me know what you think. I would appreciate it if you can share improvements, feature requests, or bug reports. Ask Me Anything!

Thanks!
Manage GitHub Actions secrets with a CLI
Tags: github, secrets, cli
Published: 2020-04-14 20:52:33


**TL;DR** For those of you who are using Github Actions, I've created a githubsecrets cli

{% github https://github.com/unfor19/githubsecrets no-readme %}

![Demo](https://githubsecrets.s3-eu-west-1.amazonaws.com/githubsecrets-demo.gif)

## The Why
- Using CLI is faster than using GUI, especially if it's a repetitive task
- Quickly rotating keys/secrets in CI/CD processes
- I didn't have access to the Settings tab of my customer's GitHub repository, and I had to add a secret - so I used the API, and it was exhausting, so I wrote this CLI

## Quickstart

### Install with pip
```bash
$ pip install githubsecrets
...
$ ghs init
...
$ ghs --help # to view available commands
```

### Use in Docker

Or use with Docker (you must supply all arguments, prompts are not available in Docker mode)

macOS and Linux
```bash
$ docker run -v $HOME:/root unfor19/githubsecrets --help
Usage: ghs [OPTIONS] COMMAND [ARGS]...
...
```

Windows
```bash
$ docker run --rm -v c:/Temp:/root unfor19/githubsecrets --help
Usage: ghs [OPTIONS] COMMAND [ARGS]...
...
```

## Final words
I hope that this CLI tool helped you, and if it did, then 👏/💟/🐴 and share!

Design by [facebook.com/KerenOrDesign](https://facebook.com/KerenOrDesign)
'submit' button w/link from selected search
Published: 2020-04-14 20:30:07

Hello, does someone know how to make the 'submit' button link to a page e.g. ( http://google.com ) from one of the "countries" (in an array) that is selected in the (autocomplete search field ...)

Make sense?
https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_autocomplete
A Letter to young Developers
Tags: developers, programmers, softwares
Published: 2020-04-14 19:58:49

Hey fellow developers, programmers and tech guys in the building. How has be your day and families? I thank GOD for making you see this very day most especially 2020 even though there is the life-threatening pandemic "Codvi-19".

It is a great pleasure writing you this text this day;my aim of delivering this text to you, is a about an advice titled :

    How to become a awesome and fabulous programmer

Which deals on the simple errors and corrections you need to adopt in this 2020.

I will be sharing with you the advice quoted above just with the text below in unordered manner.

1. Use a very cute and code completion text editor e.g Visual Studio code,latest version of Sublime Text ,Github Atom or any other text editor you know how to use best.

2. Read other people’s code be it pdf or the programs extensions respectively.

3. Edit the code and try them out by substituting them with your own values, variables or any other related features you can change.

4. Never make any attempt of claiming the code

5. Share your codes with other developers far better than you.

6. Always ask questions when you’re freaking out ;don’t assume you know it because a preacher once said

    assumption is not reality.

7. Check out your environment or social media groups and pages mainly concerned on programming, developing, technology and coding stuffs and seek for mentorship.

8. Don’t /never be proud when you’re good in some aspects because

    pride goes before a fall.

9. Create a project with what you have learnt so far.

10. If you think you’re now really,then contribute to open source.

11. Less i forget read your interested programming language documentations, also CODE && CODE && CODE.

Even if you’re a senior developer i hope you will also find piece this helpful

With this text I really hope you become a great, awesome, fabulous tech dude and word class developer in this 2020.

Much love
From: Sedenu Aloaye Charles
Founder: charlestechy.com.ng
Why's managing background tasks in react native so difficult?
Tags: discuss, reactnative, react, javascript
Published: 2020-04-14 19:56:48

Hello React Native developers! So, According to the official react native docs, the only way to implement background tasks is by using HeadlessJS which only works on android. What's confusing is that popular apps like Instagram, Facebook are built with react native and they definitely handle background tasks on both android and iOS devices pretty well. Since this issue seems resolved, is there a reason why their solution hasn't been released as a package for other react native developers to use and integrate seamlessly into their react native applications. After-all, react native is a product of Facebook and I haven't been able to find a perfectly working solution that works really well on both platforms.
Day 5 - 100 days of Coding - Python - Add text into Image
Tags: 100daysofcode, python, learning, vscode
Published: 2020-04-14 19:53:23

---
title: Day 5 - 100 days of Coding - Python - Add text into Image
published: true
description: Add the Number of the day I am working on into the image using Open CV
tags: #100daysofcode, #python, #Learning, #vscode
cover_image: https://github.com/ganeshraja10/static_files/raw/master/5.jpeg
series: 100 Days of Code
---
So it's day 5 of 100 days of coding. Today I wanted to try something different. I want to add the day into my cover pic daily. Doing it manually would be boring. So I thought of automating it. So today we are gonna add the Number of the day I am working on into the image using Open CV

## Today's Objectives
####   1) Create a python script that will automatically add the given day's text into image

```python
import cv2
import os

x_and_y = (470, 340)
font_color = (255, 255, 255)
font_scale = 2
font = cv2.FONT_HERSHEY_SIMPLEX
output_folder = './'

date = input("Enter the date to be added ") # Get Date to be added from user
im = cv2.imread('data/100_days_image_template.jpeg', 1)

cv2.putText(im, 'Day {}'.format(date), x_and_y,
            font, font_scale, font_color, 2)
cv2.imwrite(output_folder+date+".jpeg", im)

```
You can check the sample image in header

You can check the full code in my repo [automated_python_Scripts](https://github.com/ganeshraja10/automated-python-scripts)
My own Covid-19 Counter!
Tags: react, webdev, beginners
Published: 2020-04-14 19:40:21

I'm a beginner coder and I just finished and deployed my Covid-19 Counter with Surge.sh and you can view it here: http://brendancovid.surge.sh/ 
I also decided to add source code on gitHub just because? Thanks for checking it out if you do!
This was coded with no tutortial all through trial and error and I'm proud of what I was able to do.
E4 - Extra Steps
Published: 2020-04-14 19:23:19

Now that you know how to use some debugging features, try it out a few more times to build up your confidence. Here are some suggestions on what to try out:

1. Put a breakpoint on the form processing script from example 2 and step through the execution flow. Check it is doing what you expected.

2. Add a watch on an expression combining several variables, so that you can see observe changes to the whole expression. (Eg, `$x + $y - 10`)

3. Try opening the webpage on a computer in your network other than your development computer (localhost). You may need to check your computer's IP address.

Parent topic: [Example 4](https://dev.to/herobank110/example-4-debugging-php-in-visual-studio-code-407p)
Frontend - Testes E2E
Tags: e2e, protractor, javascript, jasmine
Published: 2020-04-14 19:20:39

Atualmente, são vários os motivos para implementar testes end-to-end em uma aplicação.

Basicamente, o principal motivo de um teste automatizado é a prevenção de futuros problemas e bugs, que em muitos casos são invisíveis para o desenvolvedor, principalmente em grandes projetos.
Outro cenário bem comum que os testes e2e se aplicam, são as execuções em massa como: cadastro, login, consulta, etc.

Um teste **e2e** permitirá testar todos os cenários, sendo eles válidos ou inválidos, em muito menos tempo que uma pessoa pode fazer.
Dos frameworks disponibilizados atualmente, um dos mais famosos para **JavaScript** é o **Protractor** que, juntamente ao **Jasmine**, entregará as ferramentas necessárias para cobrir com testes toda a sua aplicação.

<img src="https://d2eip9sf3oo6c2.cloudfront.net/tags/images/000/000/016/full/protractor.png" width="100">

O [site oficial](https://www.protractortest.org/) do **Protractor** fornece uma ótima documentação que te ajudará a iniciar nesse mundo dos testes.
Se você tem uma dúvida ou até mesmo uma observação, sinta-se à vontade para comentar esse post.

E não se esqueça de aplicar [**DocSoul**](https://dev.to/felipe0liveira/sua-alma-na-documentacao-docsoul-25f6)!
Sua alma na documentação - DocSoul
Tags: documentacao, javascript, docsoul, docummentation
Published: 2020-04-14 19:19:39

Em minha concepção, é necessário entender que ter _“boas práticas”_ não é como aprender uma nova linguagem e sim aplicar uma vertente de lógica visando um entendimento e manutenção futura de um código.

O mais comum é quando um desenvolvedor precisa alterar uma aplicação que não foi codificada com _“boas práticas”_, sendo necessário muitas vezes, refatorar e perder tempo com coisas que deveriam ser muito mais simples.

Outra situação, é quando um desenvolvedor tem um projeto em desenvolvimento e decide parar a codificação para continuar futuramente.

Se este desenvolvedor fez seu código utilizando boas práticas e até mesmo fazendo **DocSoul**, terá um ganho de tempo, simplificando e agilizando seu trabalho.

### Nomenclatura de variáveis
_É muito importante que você deixe que uma variável seja auto explicativa, ou seja, quando um Dev se deparar com ela, ele saberá exatamente o propósito da mesma._

Por exemplo, ao invés de utilizar:
```js
let d
let elapsed
const ages = arr.map((i) => i.age)
```

Utilize:
```js
let daysSinceModification
const agesOfUsers = users.map((user) => user.age)
```

Jamais pense em usar:
```js
let nameString
let theUsers
```

Quando somente o necessário é o melhor:
```js
let name
let users
```

### Funções
_Uma função tem o propósito de nomenclatura muito semelhante ao de uma variável, portanto, deixe sua função nomeada de forma com que o desenvolvedor, ao acessar, saiba exatamente sua finalidade._

Por exemplo, imagine que temos uma função que convida um usuário, utilizando seu e-mail. Nesse caso, poderíamos fazer desta forma (uma das formas mais comuns):

```js
function conv (usuario) { }
```

Basicamente, a abreviação ‘conv’ no nome da função acima significa ‘convidar’ e o parâmetro é chamado de ‘usuário’ pois identificará este por meio de seu email.
Porém, o ideal seria fazer:
```js
function convidarUsuario (email) { }
```

Desta maneira, a função tem um nome claro independente de onde for chamada!

> Ter boas práticas é somente o primeiro passo para ter organização, qualidade e eficiência em seus projetos. O ideal é conciliar com **DocSoul**, que vai além das boas práticas, é uma cultura a ser desenvolvida e incentivada, tanto por desenvolvedores quanto pela empresa, deixando sua marca no documento, para que quando um desenvolvedor visualize seu código, além de entender a lógica e suas tomadas de decisões, reconheça e entenda que além da linha de raciocínio desenvolvida para aquele código, tem sua marca registrada.

Valeu pessoal!
Example 4 - Debugging PHP in Visual Studio Code
Tags: tutorial, vscode, php
Published: 2020-04-14 19:05:45

In this example you will learn how to use the debugging features in Visual Studio Code to diagnose and fix errors in your PHP code. This example assumes you have completed the stage [Setting up PHP debugging in Visual Studio Code](https://dev.to/herobank110/additional-setup-43ko#php-debug).

Note: As this example is more of an experience than an exercise, there are no artifacts I can provide as a sample solution to the extra steps.

Jump to section:
* [Using PHP Debugging Tools in Visual Studio Code](https://dev.to/herobank110/e4-using-php-debugging-tools-in-visual-studio-code-53p9)
* [Extra Steps](https://dev.to/herobank110/e4-extra-steps-ap0)
E2 - Processing the Form
Tags: php, tutorial
Published: 2020-04-14 18:42:02

In this stage we will process the incoming form submissions to insert rows into the database. The previous two stages must be completed first ([Create Database from MySQL Console](https://dev.to/herobank110/create-database-from-mysql-console-4h49) and [Creating the Web Form](https://dev.to/herobank110/e2-creating-the-web-form-1bdd)).

1.&nbsp;Create a new file in the same folder as your `index.php` file called `process_my_form.php`. This script will be run when someone submits the form from the previous stage. Open the new file for editing in Visual Studio Code.

2.&nbsp;Add `html` and `body` tags and a PHP tag inside the body.

3.&nbsp;Copy the input values received from the form into their own variables. They are all saved in the `$_GET` superglobal associative array, where the keys are the values of the name attributes of the `<input>` elements in the HTML form.
```php
$firstName = $_GET["first_name"];
$lastName = $_GET["last_name"];
```

4.&nbsp;Create a variable to track the validation. You can use an array to store the validation of each field, but start with just a yes or no boolean variable. Initially it will be true, and validation checks will try to make it false.
```php
$isValid = true;
```

5.&nbsp;Add a length check for the first name. Make sure it is less than 20 characters long.
```php
if (strlen($firstName) >= 20) {
    $isValid = false;
}
```

6.&nbsp;Add a presence check for the last name.
```php
if (empty($lastName)) {
    $isValid = false;
}
```

7.&nbsp;If the validation succeeded, add a record to the database with an `INSERT` query.
```php
if ($isValid) {
    $databaseLink = new mysqli("localhost", "root", "", "NeatTreats");
    $databaseLink->query(
        "INSERT INTO Customer(FirstName, LastName)" .
        "VALUES ($firstName, $lastName);"
    );
    $databaseLink->close();
}
```

8.&nbsp;Otherwise, if the validation failed, output an error and a link back to the form.
```php
} else {
    echo "<p>Could not add record due to invalid input</p>";
    echo "<a href='index.php'>Go Back</a>";
}
```

The final code should look like this:
```php
<html><body><?php


$firstName = $_GET["first_name"];
$lastName = $_GET["last_name"];
$isValid = true;


if (strlen($firstName) >= 20) $isValid = false;
if (empty($lastName))  $isValid = false;


if ($isValid) {
    $databaseLink = new mysqli("localhost", "root", "", "NeatTreats");
    $databaseLink->query(
        "INSERT INTO Customer(FirstName, LastName)" .
        "VALUES ($firstName, $lastName);"
    );
    $databaseLink->close();
    echo "<p>You were added to our database!</p>";
} else {
    echo "<p>Could not add record due to invalid input</p>";
    echo "<a href='index.php'>Try again</a>";
}
?></body></html>
```

Parent topic: [Example 2](https://dev.to/herobank110/example-2-saving-data-from-a-form-4g33)