teleren/devto huggingface dataset:
Construindo meu novo site com UIKit, Jus e CuboHub
Tags: html, site, prbr, css
Published: 2019-04-07 15:44:12

# Construindo meu novo site com UIKit, Jus e CuboHub
## Um poucos sobre as três ferramentas.
Jus é uma incrível framework que permite em pouco tempo construir um site funcionar de modo semelhante ao Jekyll, só que com um sistema mais fácil de usar e eu gosto do jeito que ele trabalha com os modelos de paginas.

Já o UIKit para min é “o novo Bootstrap”. Você tem os componentes com um padrão bem simples e limpo.

Crie o CuboHub para atualizar os sites dos meus projetos de forma automática.

## O começo!
Bom meu antigo website usava um tema que baixei na internet e fiz algumas modificações nele. Depois de um tempo a quantidade de projetos aumentaram e eu comecei a ter problemas de compatibilidade em alguns dispositivos, também tive dificuldades para manter as páginas sempre atualizadas.

Dei o primeiro passo, comecei a criar um gerador para isso, chamado de CuboHub disponível no Github: https://github.com/CuboHub. A página é atualizada toda fez que tem uma nova modificação no repositório. Em seguida eu comecei a planeja meu novo website encontrei as ferramentas certas para o trabalho UIKit e Jus, com o layout em minha cabeça eu fui capaz de executar esse projeto em dois dias. O resultados você pode ver aqui tiagodanin.github.io.

PS: Jus usar o lobars, uma ferramenta incrível!

## Vantagens
### Jus
- Diversos formatados de arquivos suportados (é realmente incrível a quantidade).
- Fácil de usar.
- URLs limpas.
- Suportado em GitHub Pages.
- Muitas opções/funções para fazer modelo de página.

### UIKit
- CSS limpo.
- Responsive web design.
- Suporte para plataformas mobiles.
- RTL suporte.
- Usar prefixo “uk-” para tudo. :) Sem conflito com seu css.

### CuboHub
- Eu sou o desenvolvedor :v.
- Acompanhar seus commits.
- Fácil de configurar.
GitHub vs Outros
Tags: github, ptbr, git
Published: 2019-04-07 15:36:15

Um grande números de desenvolvedores estão migrando para outros serviços, devido recente aquisição do GitHub pela Microsoft. No entanto não houve mudanças e o GitHub continuar sendo o melhor (Minha opinião), logo fiz uma lista abaixo de coisas que muitos serviços de hospedagem de projetos em Git não tem:
- Email confidencial.
- Usar sua conta para fazer login em outros site (Exemplos GitLab, Crowdin, Rocket.Chat e etc).
- Design organizado e bonito.
- Code Owners (Melhor coisa para projeto grande).
- IPv6 ❤.
- Suporte ao GIT LFS
- Notificações (Novos comentários, pull requests, versões e etc).
- Uptime alto dos servidores.
- API limpa e fácil de usar (Ainda há dois projetos que tornam isso mais incrível. Octokit e Probot).
- Integração com Deploy/CLI diretamente do Github com seu provedores de hospedagem: Amazon, Azure, Heroku, TravisCI, Google Cloud e etc.
- Aquivos de suporte (Guia de contribuição, Documentação, Templante para issue e pull requests).
- Reações nos comentários.
- SEO Otimizado (Seu projeto aberto é facilmente indexado e achado nos motores de busca e rede sócias).
- Pesquisar, também há suporte para regras de pesquisar de nome de aquivos/conteúdos e também consegue fazer pesquisar de códigos, usuários e tags.
- Sistema de revisão de diff consegue acha funções modificadas.
- Muitos serviços (Ex. Hospedagem) oferecem suporte a clona um repositório do Github com um simples clique.
- Marketplace (Tudo qualquer tipo de integração com seu projeto você acha na loja, e boa parte delas são grátis para projeto de código aberto).
- Drag e drop de tarefas.
- Explore (Uma página que mostrar os principais projetos em destaque e desenvolvedores).
- GitHub Classroom (Ajuda professore e alunos no controle de repositórios escolares).
- É 100% grátis para estudantes.
- Também é conhecido com "Facebook dos desenvolvedores" (Você pode acompanha projeto que gosta, pessoas e fornecer seu feedback).
- Usuários também usam (Um exemplo disso é o repositório do Telegram Desktop, uma parte dos issues são feitos por pessoas sem relação com TI).
- Quantidade de clientes e desenvolvedores ❤ usando GitHub.
- Estáticas de projeto.
- Status :)

Mesmo assim você tá querendo migrar? Eu recomendo usar o Gogs ou Gitea.
Resolvendo erro do wine não fazer conexões SSL
Tags: archlinux, linux, ptbr, wine
Published: 2019-04-07 15:25:26

Recentemente eu sair do Arch puro para o Manjaro… E fui fazer a instalação de programas que eu uso, como o wine.

Depois de execultar um `sudo pacman -S wine` no terminal, e abrir o wine. Encontrei um problema, ele não fazia conexões SSL nos aplicativos. Hoje eu verificando o log com calma achei isso:

```
004f:err:winediag:schan_imp_init Failed to load libgnutls, secure connections will not be available.
004f:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
```

A solução para o problema é bem simples, basta fazer a instalação dos seguintes pacotes: ‘lib32-gnutls gnutls`.

Agora basta fazer reboot no wine e vai tá funcionado normalmente.
Três comandos que você precisar ter em seu terminal
Tags: terminal, bash, ptbr, linux
Published: 2019-04-07 15:19:38

# [With](https://github.com/mchav/with)
![](https://thepracticaldev.s3.amazonaws.com/i/ahg4d096eiibr8kgvyjr.png)
With é bastante útil, principalmente para que usar git… Como podem ver pela imagem sua função e poupa a digitação de comandos repetidos.

# [Funções ZZ](http://funcoeszz.net/)
![](https://thepracticaldev.s3.amazonaws.com/i/ifvp6wmm2t4e6csfkwku.png)
Esse é incrível e ainda é feito por Brasileiros. Atualmente ele conta com mais de 150 comandos, há uma lista no site com todos eles. Um verdadeiro canivete em seu terminal.

# [Cowsay](https://github.com/piuccio/cowsay)
![](https://thepracticaldev.s3.amazonaws.com/i/x1m35zs387nt67yf2oa8.png)
Esse é o comando mais legal que eu conheço. Nele você diz o que a vaca vai ter que falar.
Gotchas with NSX-T 2.4
Tags: nsxt, vmware
Published: 2021-12-04 19:20:12

---
title: Gotchas with NSX-T 2.4
published: true
date: 2019-03-03 22:09:00 UTC
tags: NSXT,VMWare
canonical_url: https://blog.engyak.co/2019/03/gotchas-with-nsx-t-24.html
---

NSX-T 2.4 is a major software upgrade with a multitude of new features, listed here: [https://docs.vmware.com/en/VMware-NSX-T-Data-Center/2.4.0/rn/VMware-NSX-T-Data-Center-240-Release-Notes.html](https://docs.vmware.com/en/VMware-NSX-T-Data-Center/2.4.0/rn/VMware-NSX-T-Data-Center-240-Release-Notes.html)  
  
The documentation for this release is not very mature, so I've compiled some gotchas I found while installing NSX-T 2.4 below:

- Ensure that when you configure Host Transport nodes (such as ESXi) that **all transport zones you need** are provisioned on the host! The node summary should have a minimum of **two**  Transport zones, one for underlay and one for overlay:
[![](https://3.bp.blogspot.com/-AlhFWqszi1A/XHxOjjvUSUI/AAAAAAAAAh0/ijfvtwv8ocMmuT40e_yVLpKxw7fpglk3wCLcBGAs/s1600/transport%2Bzones.PNG)](https://3.bp.blogspot.com/-AlhFWqszi1A/XHxOjjvUSUI/AAAAAAAAAh0/ijfvtwv8ocMmuT40e_yVLpKxw7fpglk3wCLcBGAs/s1600/transport%2Bzones.PNG)
- **Don't forget your uplink VLAN!**  The uplink VLAN must be configured under "Advanced Networking & Security" -> Networking -> Switching, and should participate in your underlay transport zone:
[![](https://2.bp.blogspot.com/-4Y9NoiLxhDU/XHxQPlQpnEI/AAAAAAAAAiA/a3IM2h9eRakB3BCLHyL0CMBfvbSJ0ihsQCLcBGAs/s1600/uplink-vlan.PNG)](https://2.bp.blogspot.com/-4Y9NoiLxhDU/XHxQPlQpnEI/AAAAAAAAAiA/a3IM2h9eRakB3BCLHyL0CMBfvbSJ0ihsQCLcBGAs/s1600/uplink-vlan.PNG)
- **NSX Controllers are no more.** This functionality is merged into the NSX manager - which now has clustering support. You'll need to configure a vIP for the manager as well, for these reasons.
- **NSX Managers need more RAM.** VMWare Recommends 24 GBytes of Memory per manager if you have less than 64 hosts - I'm running stable with 16 and 1 host, so consider 24GB the minimum.
Opinions on img loading attributes?
Tags: html, img
Published: 2019-04-07 15:18:10

---
title: Opinions on img loading attributes?
published: true
description: 
tags: HTML, <img>
---

What are your opinions on what Addy Osmani said on twitter about img loading attributes?

Link to post: https://twitter.com/addyosmani/status/1114777583302799360?s=20
JQuery no Electron
Tags: javascript, electron, jquery, ptbr
Published: 2019-04-07 14:58:38

---
title: JQuery no Electron
published: true
description: Usnado JQuery em uma aplicação no Electron
tags: JavaScript, Electron, JQuery, PtBr
cover_image: https://cdn-images-1.medium.com/max/1200/1*aBsgPiEeOE5lLoippRm7BA.png
---

Muitos tentam usar o JQuery no Electron e acabam obtendo um erro de que não foi encontrado a variável `$`.

Solução: Importe o jQuery usando o `window.$`

Em index.html adicione 
```html
<script>
    window.$ = require("./jquery-3.min.js")
</script>
```

Feito :)
Free HTML Resume Template
Tags: career, html, css
Published: 2019-04-07 14:54:08

![](https://thepracticaldev.s3.amazonaws.com/i/0slqh9sev3n5jbbjbowg.png)
[Code & Demo](https://codepen.io/knaman2609/pen/Zbyjvv)

![](https://thepracticaldev.s3.amazonaws.com/i/yrq8f24ceqonj5zl5495.png)
[Code & Demo](https://templateflip.com/templates/creative-cv/)

![](https://thepracticaldev.s3.amazonaws.com/i/0yqbmg2jhlm676hkzptd.png)
[Code & Demo](https://codepen.io/astronaomical/pen/KexYgb)


![](https://thepracticaldev.s3.amazonaws.com/i/vsbm7neqks3890y6lguh.png)
[Code & Demo](https://codepen.io/mariosmaselli/pen/CDcmb)

![](https://thepracticaldev.s3.amazonaws.com/i/k0mtgow7126x672p1yq6.png)
[Code & Demo](https://github.com/afnizarnur/draco)

![](https://thepracticaldev.s3.amazonaws.com/i/gjbfinf8v1gic5j9gj6b.png)
[Code & Demo](https://codepen.io/mavrK/pen/PzGvdJ)

![](https://assets.materialup.com/uploads/3227f83a-bdd1-449b-9a25-0af6f14909da/attachment.png)
[Download](https://mega.nz/#!qvJiXCoB!BwYxuc6ednvy5KP7MSF-3dLbMnFEJAd9miouApIrTGc)
Generics in C# (Part 3 - Generic Classes)
Tags: generics
Published: 2019-04-07 13:29:50

---
title: Generics in C# (Part 3 - Generic Classes)
published: true
description: Creating Generic Classes in C#
tags: C#, generics
---

## Introduction
This is the third part of my series on C# Generics ([Part One](https://dev.to/seantwie03/generics-in-c-part-1-generics-in-collections-2dm1), [Part Two](https://dev.to/seantwie03/generics-in-c-part-2-creating-generic-methods-2pho)).  In this article I will explain how to create Generic classes.  To demonstrate this I will create a static class prints all items in a List using the InvariantCulture format.

One place where cultures differ is on DateTime.  DotNet has an interface called IFormattable that implements a ToString() method that accepts a formatProvider.  Using this interface and a **Type constraint** I will demonstrate how to print out IFormattables using Invariant culture in the static class InvariantCulturePrinter.

## InvariantCulturePrinter

First, let's look at the static class InvariantCulturePrinter.

![InvariantCulturePrinter](https://thepracticaldev.s3.amazonaws.com/i/z5vqqaot4z62mpaf6kqg.jpg)

This is a Generic class which works in much the same way as the generic method in [Part Two](https://dev.to/seantwie03/generics-in-c-part-2-creating-generic-methods-2pho).  The T's are replaced by the argument that is passed into the Type parameter.  The main difference is the "where T : IFormattable".  This is a Type constraint.

The PrintList() method uses a ToString() method that has two parameters.  The first parameter is the stringFormat and the second parameter is the formatProvider.  If this is a generic method that accepts any generic List<T> as an argument, how can we be sure the argument will contain a type that supports this ToString(stringFormat, formatProvider) implementation?

That is where the type constraint comes in.  IFormattable specifies the ToString(stringFormat, formatProvider) method.  So specifying IFormattable as the Type constrain will ensure this ToString implementation is always available.
Generics in C# (Part 2 - Creating Generic Methods)
Tags: generics
Published: 2019-04-07 13:21:14

---
title: Generics in C# (Part 2 - Creating Generic Methods)
published: true
description: Creating Generic Methods in C#
tags: c#, generics
---

## Introduction
[Part One](https://dev.to/seantwie03/generics-in-c-part-1-generics-in-collections-2dm1) of this series is a general overview of Generics that explored why they are used in Lists.  This article will explain how to create your own Generic methods.

## Concatenate Arrays of Any Type
I will demonstrate Generic methods by creating an [extension method](https://www.tutorialsteacher.com/csharp/csharp-extension-method) for System.Array.  This extension method will combine two arrays, and since it is Generic it will work on any type of array; int[], string[], etc.

First let's look at how the method is called from Main().

![Main](https://thepracticaldev.s3.amazonaws.com/i/0y1jou6bfssev2poz68u.jpg)

Since this is an extension method on System.Array, I create two arrays, then call Concatenate on the first array; passing the second array as an argument.  I then repeat the same steps using a string array to prove the method will work on multiple types.  In the second section I did not explicitly specify the Type parameter \<string>, but the compiler can work it out, since the result is being assigned to a string[].

Now let's look at the Concatenate extension method.

![ArrayExtension](https://thepracticaldev.s3.amazonaws.com/i/ru3sr7ockfbxyvekkl46.jpg)

First, I would like to point out the **Type parameter** after the method name. \<T> signifies this is a generic method.  You'll notice the return type and method parameters are also T.  All these T's are replaced with whatever argument is passed into the Type parameter.

In the first code block in Main() I explicitly specify the type parameter, passing in \<int>, so the compiler knows to replace all occurrences of T with int.  In the second section of Main() I am assigning the result of Concatenate to a string[] so the compiler knows to replace all occurrences of T with string.

Continue to [Part Three](https://dev.to/seantwie03/generics-in-c-part-3-generic-classes-1e96), where I will cover how to create Generic classes.
Generics in C# (Part 1 - Generics in Collections)
Tags: generics
Published: 2019-04-07 13:17:12

---
title: Generics in C# (Part 1 - Generics in Collections)
published: true
description: Why Generics were needed and how they help with collections.
tags: C#, generics
---

## Introduction
Generic types were introduced to C# 2 in 2005.  Since 2005, Generics have become a pivotal part of C#, empowering things like Lists and Async/Await.  If you started learning or using C# after version 2, you may be using Generics on a daily basis without really knowing what they are.  This series ([Part Two](https://dev.to/seantwie03/generics-in-c-part-2-creating-generic-methods-2pho), [Part Three](https://dev.to/seantwie03/generics-in-c-part-3-generic-classes-1e96)) will try to bring some clarity to Generics in C#.

One common use of Generics is in List\<T>. Where \<T> specifies a **Type Parameter**. 

![ListOfT](https://thepracticaldev.s3.amazonaws.com/i/1e9hogg1esczsbsj41lr.jpg)


## Before Generics - C# 1
Before diving into Generics, it would be helpful to think about what kind of problem they solve.  The best way to do this is to look back at C# 1.  Before Generics, C# had Arrays and ArrayLists.  

To declare an array, you must specify the type of the array and the number of elements it will contain.  Declaring the type is very beneficial, having strong types is one of the benefits of C#, but declaring the size up front can be problematic.  This can lead to a lot of repetitive code to manage the size of the array as you create new bigger arrays and copy the old values into it, and don't forget at the end of your method to shrink the array down to the final size.

ArrayLists are resizable, so they solve that problem, but they accept anything of type Object.  Which means to work with the values inside of an ArrayList requires casting or boxing.

![ArrayListOfEveryType](https://thepracticaldev.s3.amazonaws.com/i/fc1fh3vfw6ng8fh9wa6p.jpg)


## Generics Solve the List Problem

Lists in the System.Collections.Generic namespace give us the best of both worlds.  Lists are strongly typed and resizable.  To declare a List, an argument must be passed into the Type parameter (Type parameters are surrounded by < > symbols).  This argument determines the type of the List.  Once declared, only objects of that type are allowed to be added to the List.

![ListOfInt](https://thepracticaldev.s3.amazonaws.com/i/kff4ih0dhs14xrm60kyv.jpg)

Once declared as a List\<int> we cannot Add() any other type to the list.  This strong typing is where the real power of Generics shines through.

Lists also dynamically resize.  Simply calling the Add() or AddRange() methods will dynamically resize the list as needed to fit the number of elements.


Continue to [Part Two](https://dev.to/seantwie03/generics-in-c-part-2-creating-generic-methods-2pho) to learn how to write your own Generic methods.
Learn BigData from Google Cloud Platform.
Tags: machinelearning, bigdata, bigquery, gcp
Published: 2019-04-07 13:00:18

---
title: Learn BigData from Google Cloud Platform.
published: true
description: PART - 1
tags: ML, BigData, bigquery, GCP
---


Yes, I added ML ( Machine learning ) to the post. I know it will be confusing for some people why I tagged ML to the post, well the Machine learning basically need some data to learn. Google's Big query has it. Google big query has an option to create a machine learning model, But I will not be taking you to Machine learning in this part.

Let's get to business, people who want to learn big query (big data) can use your google accounts they provide free sandbox option for you.

Step 1:
https://console.cloud.google.com/projectcreate

( You can choose any environment, we are not going to deploy anything to the cloud for now. if you are interested I can write about that too.)

You can skip this if you already have a project in GCP.

Step 2:
go to big query (https://console.cloud.google.com/bigquery) 

![Dashboard](https://thepracticaldev.s3.amazonaws.com/i/6s61j9823kxqr8hisvhl.png)

Make sure that you have selected the correct project name.


Step 3:
We need some sample data, let's take the Noaa Tsuanmi historical runups, it has tsunami runups from BC2000. the total number of records 27057 ( date on Apr 7, 2019 ).

To use that you can click on the + ADD DATA. ![ADD DATA](https://thepracticaldev.s3.amazonaws.com/i/e9jwkcbj5vx70zequfrz.png)

Click Explore public datasets. 
 
Step 4:

In search type tsunami ( you can choose any public datasets, but I'm showing the tsunami for now. ) 

Step 5:
Click view dataset, it will automatically add to your dataset.

Now make sure that you can see the public datasets
![public datasets](https://thepracticaldev.s3.amazonaws.com/i/xyi5gvm2qxii119ahbxa.png)


Step 6:
Now let's do some queries.


Here I'm going to query to get all runups from 2000BC and I want to see the results.

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

you guys might be noticed that I'm using SQL to query in big query, answer for that yes.

I'll take the count by country now.
```
SELECT  country, count(*) counts FROM  `bigquery-public-data.noaa_tsunami.historical_runups` AS runnups
GROUP BY country
ORDER BY counts DESC

```
![resutls](https://thepracticaldev.s3.amazonaws.com/i/ri9f62j6nf890ef1qpg6.png)

So of you noticed that i used AS in query `SELECT  country, count(*) counts FROM  `bigquery-public-data.noaa_tsunami.historical_runups` AS runnups ` will explain that in the next part. 


Now you can explore the bigquery by yourself.

NOTE: 
*) I was not familiar with SQL queries till last month. I learned it for learning big query and followed machine learning. 
*) Big query has a lot of features that can't be done in SQL.
*) Please explore something new in big query use #bigquery while adding the article so we all can catch up easily.

Thanks 
Happy Learning <3
CodexSpot relaunch – A Tale of Our Reborn Passion, Sprinkled with WordPress Love
Tags: wordpress, wordpressnews, wordpressresources, wordpresstools
Published: 2019-04-07 11:38:14

---
title: CodexSpot relaunch – A Tale of Our Reborn Passion, Sprinkled with WordPress Love
published: true
description: 
tags: WordPress, WordPress News, WordPress Resources, WordPress Tools
cover_image: https://thepracticaldev.s3.amazonaws.com/i/zimrkkex319vn345yy7c.jpg
---

Hey! Have you noticed anything new? I know right, but believe us it’s not just the revamped website with a clean and modern design that has caught your eye.

It’s not just a redesign. CodexSpot has <a href="https://www.codexspot.com/about-us/">reborn</a>, like a Phoenix from the ashes. This relaunch is our firm resolve to provide you with <a href="https://wordpress.org/">WordPress</a> focused quality tutorials, DIY guides, tools/generators and keep you up-to-date with web industry news and trend reports.

This time CodexSpot has joined by two other technology <a href="https://www.codexspot.com/about-us/">geeks</a>, who share the same love for this platform. That is to say, these geeks are working hard to provide only the quality resources with zero compromises.

So, stay tuned for more good resources coming up on CodexSpot. As it’s just the beginning. CodexSpot marches on…
TIL — Git supports a global exclude file
Tags: gitflow, git, elixir, elixirlang
Published: 2019-04-07 11:13:04

---
title: TIL — Git supports a global exclude file
published: true
tags: gitflow,git,elixir,elixirlang
canonical_url: https://medium.com/@chrisgregori/til-git-supports-a-global-exclude-file-88ba43fa8bec
---

### TIL — Git supports a global exclude file

#### A tiny tip that might help a lot of you

I don’t really know why I didn’t think this was a thing until today but I was having some issues with elixir\_ls (a VSCode plugin for Elixir development) plaguing my git repository up and my projects .gitignore file was seemingly ignoring the generated files.

There also seem to be some Github issues talking about the same thing so I wasn’t alone in my folly.

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

### Solution

Your git installation can have a global .gitignore file! I’ve been programming for 5 years and had no idea — I’m not really sure why I didn’t consider it in the past.

#### **To add a global ****.gitignore file:**

git config --global core.excludesfile ~/.gitignore

#### To edit a global .gitignore file:

sudo vim ~/.gitignore (or an editor of your choice)

Here are the contents of mine — I took the liberty of adding some other common files I want to ignore in there too:

```
.DS\_Store
node\_modules/
.elixir\_ls/
```

### Optional extra

Some of you might do this then find that your .gitignore hasn’t taken effect — the following commands will fix this:

```
git add [uncommitted changes you want to keep] && git commit
git rm -r --cached .
git add .
git commit -m "fixed untracked files"
```

Hope this helped! It cleared up my VScode woes.

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

_Enjoyed my ramblings? Follow me on_ [_twitter_](https://twitter.com/_ChrisGreg) _to hear more of my development tales or keep up with my side projects on my_ [_personal site_](http://chrisgregori.co.uk/)_. 💻_
How many and which developers are needed to develop a mobile app similar to Instagram complexity?
Tags: discuss
Published: 2019-04-07 09:49:35

---
title: How many and which developers are needed to develop a mobile app similar to Instagram complexity?
published: true
tags: discuss
---

How many and which developers are needed to develop iOS and android mobile app with complexity similar to Instagram? 2 iOS developers, 2 android developers, back end developer, content ranking algorithm specialist, non-technical creative UI/UX designer?

How long does it take for an mobile app of this kind of complexity to be developed?