teleren/devto huggingface dataset:
Check if value is present in all CSV-files 
Tags: rust
Published: 2020-04-06 20:43:43

Hi. I often import CSV-files at work. Sometimes I need to know whether a value is present in a column in all files. Since I don't do that so often I usually just use the cut- and sort-command line utilities into temporary files. But it's boring. So I wrote a small utility called `compare` in Rust that can read one or more text-files, specify a column and delimiter and either see if a value is present in all files, or only in one.

Example using semicolon (;) as delimiter and column two (2) and in all set (i).

$ cat a.csv
1;a;one
2;b;two
3;c;three
4;d;four

$ cat b.csv
3;c;three
4;d;four
5;e;five
6;f;six

$ compare -f a.csv -f b.csv -d ';' -c 2 -o i
four
three

Can also be used to see what values that are present in only one set (s).

$ compare -f a.csv -f b.csv -d ';' -c 2 -o s

one
two
five
six

Source can be downloaded at https://github.com/kometen/compare.

Regards
Claus
[GreenTunnel] is an anti-censorship utility designed to bypass the DPI systems

Tags: opensource, node, security, github
Published: 2020-04-06 20:30:55

GreenTunnel bypasses DPI (Deep Packet Inspection) systems without changing IP or server endpoints. (Linux, macOS, and Windows + docker)

The entire project is open source and you can check out the source code on my [sadeghhayeri/greentunnel](https://github.com/SadeghHayeri/GreenTunnel) repo.

#### How does it work?

There are gaps in providers in DPI.  They happen from what the DPI rules write for ordinary user programs, omitting all possible cases that are permissible by standards.  This is done for simplicity and speed.
Some DPIs cannot recognize the HTTP request if it is divided into TCP segments.  For example, a request of the form

`GET / HTTP/1.0
Host: www.youtube.com
...`

we send it in 2 parts: first comes `GET / HTTP/1.0 \n Host: www.you` and second sends as `tube.com \n ...`. In this example, ISP cannot find blocked word **youtube** in packets and you can bypass it!

Or for HTTPS, Server Name Indication (SNI) is an extension to TLS (Transport Layer Security) that indicates the actual destination hostname a client is attempting to access over HTTPS. For this Web Filter feature, SNI hostname information is used for blocking access to specific sites over HTTPS. For example, if the administrator chooses to block the hostname **youtube** using this feature, all Website access attempts over HTTPS that contain **youtube** like **www.youtube.com** in the SNI would be blocked. However, access to the same hostname over HTTP would not be blocked by this feature. GreenTunnel tries to split first **CLIENT-HELLO** packet into small chunks and ISPs can't parse packet and found SNI field so bypass traffic!


We'd love to hear what you think about GreenTunnel, ideas for improvement, and features you want to see! Please, don't hesitate to open an issue.
Implementing Empathy
Tags: blockchain, crypto, empathy
Published: 2020-04-06 20:17:46

In times like these. One wonders about the inequality in social welfare in different parts of the world, even dripping down to different parts of the city. Over the centuries, humanity has tried to improve human existence on this wonderful planet.

Recent events have made it very important to enable easy access to healthcare for everyone. Making Basic income available to everyone. Enable every person to purchase essential goods and services. And do all this as a collective representation of society.

The time of the blockchain is now! The blockchain community has already leveraged full-time availability of the network, convenient payment system, transparent rules and decisions, trustful and anti-fraud governance model to build a network for providing basic income. This will also enable health insurance for one in society. More power to the blockchain community.

Please wash your hands and maintain physical distance. We will beat this virus. Let us also take a moment to express our gratitude to everyone still working to make our lives civil. Godspeed.
Introducing Isotope - statically-dynamic UI library!
Tags: javascript, typescript, webdev
Published: 2020-04-06 20:05:18


In the last few years, JavaScript exploded in popularity, creating a large niche of thousands of open-source libraries, frameworks and tools. Arguably, the most popular category of which are UI libraries and frameworks, which, together with JS's growth have become increasingly larger and more complicated.

And with this in mind, I wanted to introduce you to [**Isotope**](https://areknawo.com/isotope) - a simple, lightweight and ultra-fast UI library that aims to fix the overly-complicated landscape of UI libraries and frameworks. It features a different approach to building UI than most of today's tools. It focuses heavily on providing great development experience, without trading  **performance**, or requiring any additional tooling - it's  **pure JS**!

So, if you're interested, go [check out the project](https://areknawo.com/isotope) and let me know your thoughts!
Render badges with PowerShell MarkdownPS and shields.io
Tags: powershell, markdownps, devops, automation
Published: 2020-04-06 20:03:02

Originally poste [here](https://sarafian.github.io/tempblog/tips/2016/05/06/markdownps-badge.html)

In my previous post [Generate markdown from PowerShell with MarkdownPS](/sarafian/generate-markdown-from-powershell-with-markdownps-36i2) I explained the basic cmdlets of the PowerShell module [MarkdownPS](https://www.powershellgallery.com/packages/MarkdownPS/).

[Shields.io](http://shields.io/) provides many interesting badges out of the box, but there is also an API that can be used to render any badge.
```
https://img.shields.io/badge/<SUBJECT>-<STATUS>-<COLOR>.svg
```
The above just renders  ![](https://img.shields.io/badge/%3CSUBJECT%3E-%3CSTATUS%3E-%3CCOLOR%3E.svg)

On version 1.4 of the [MarkdownPS](https://www.powershellgallery.com/packages/MarkdownPS/) a new parameter set was added to the `New-MDImage` cmdlet to drive this api.
```powershell
New-MDImage -Subject "<SUBJECT>" -Status "<STATUS>" -Color red
```
Renders

~~~
![](https://img.shields.io/badge/%3CSUBJECT%3E-%3CSTATUS%3E-red.svg)
~~~

The produced url in the image is url encoded. The parameter `-Color` accepts only values that the shields.io API allows.

| Color                                                               | Badge                                                               |
| ------------------------------------------------------------------- | -------------------------------------------------------------------:|
| brightgreen                                                         | ![](https://img.shields.io/badge/Color-brightgreen-brightgreen.svg) |
| green                                                               | ![](https://img.shields.io/badge/Color-green-green.svg)             |
| yellowgreen                                                         | ![](https://img.shields.io/badge/Color-yellowgreen-yellowgreen.svg) |
| brightgreen                                                         | ![](https://img.shields.io/badge/Color-brightgreen-brightgreen.svg) |
| yellow                                                              | ![](https://img.shields.io/badge/Color-yellow-yellow.svg)           |
| orange                                                              | ![](https://img.shields.io/badge/Color-orange-orange.svg)           |
| red                                                                 | ![](https://img.shields.io/badge/Color-red-red.svg)                 |
| lightgrey                                                           | ![](https://img.shields.io/badge/Color-lightgrey-lightgrey.svg)     |
| blue                                                                | ![](https://img.shields.io/badge/Color-blue-blue.svg)               |

To make a badge clickable then use the `-Link` parameter like this
```powershell
New-MDImage -Subject "example.com" -Status "OK" -Color green -Link "https://example.com"
```
> [![](https://img.shields.io/badge/example.com-OK-green.svg)](https://example.com)
CSS Grid Crash Course
Tags: codepen, cssgrid, tutorial
Published: 2020-04-06 20:03:02

Making a tutorial or a post explaining something that I learned is something I wanted to do but had not idea how to do it. So here's the start.

<p>Made by following along with this tutorial: 
<a href="https://www.youtube.com/watch?v=jV8B24rSN5o" target="_blank">https://www.youtube.com/watch?v=jV8B24rSN5o</a></p>

{% codepen https://codepen.io/j14chambers/pen/NWqQrGZ %}
The Best Redux Example Available 🚀
Tags: react, redux, markusclause
Published: 2020-04-06 19:52:45

---
title: The Best Redux Example Available 🚀
published: True
description: @markusclaus Redux Tutorial
tags: react, redux,@markusclause
cover_image: https://miro.medium.com/max/919/1*EdiFUfbTNmk_IxFDNqokqg.png 
---

This is the link for @markusclause best redux tutorial
https://dev.to/markusclaus/fetching-data-from-an-api-using-reactredux-55ao
What git strategies does your company use?
Tags: discuss, git
Published: 2020-04-06 19:42:53

There's general best practices of working with git on a team (such as the popular gitflow), but things are always more complicated in practice! Let's talk about how our git workflow is designed in our workplace or team, including but not limited to:

* Branching strategies used
* How mistakes in git are addressed
* How commit messages are formatted
* Any advanced concepts employed (configs, hooks, submodules, trees)
* Anything else!

Feel free to add how your experience has been with your company's workflow. What have you learned? Anything you would change?
Remote or Else
Tags: remote, graphql, vue, remotework
Published: 2020-04-06 19:29:59

I've been working remotely for about a decade and decided that I could do my part best by curating/writing about the best practices for working remotely at [Remote or Else](https://remoteorelse.com).

If you're interested in doing a guest post or just think that there's a post on some aspect of living socially apart worth sharing, please drop me a line at [bob@remoteorelse.com](mailto:bob@remoteorelse.com). 

## What I built

A Gridsome blog site with 3 dedicated channels for posts, news and templates. 

## Demo Link
[https://remoteorelse.com](https://remoteorelse.com)

## Link to Code
Started with this Gridsome Starter: [https://gridsome.org/starters/gridsome-casper-v3-starter/](https://gridsome.org/starters/gridsome-casper-v3-starter/)

## How I built it (what's the stack? did I run into issues or discover something new along the way?)
- Gridsome deserves more developer attention!
- Graphql is not easy to grasp: I would love to see someone build a site of example queries.
YAML vs. XML vs. JSON for Configuration
Tags: discuss
Published: 2020-04-06 19:01:42

---
title: YAML vs. XML vs. JSON for Configuration
published: true
description: What's your preferred way to work with configuration?
tags: discuss
---

You need to modify config. Server or platform type config.

What's your favorite or preferred way to get this done? YAML, XML, JSON, something else? All of the above? Some mix?

Does your answer change if the config is lengthy and/or nested?
HighCharts with Angular - Part 2 - Stock Portfolio with Dashboard
Tags: webdev, angular, tutorial
Published: 2020-04-06 18:58:29

In continuation of previous post, now I try to implement the final chapter of the book, https://www.apress.com/gp/book/9781484257432.

The app is live: https://stock-portfolio.zoltanhalasz.net/
Zip repo of client side: (requires Angular 9 on your machine. Download it, unzip and run npm install in the folder).

https://drive.google.com/file/d/1WHkIrjKyc55lFqbeVGzkwBS18H5VUXNw/view

The back-end, which uses an In-Memory database, and Asp.Net Core Web Api, is based on Chapter 7 of the book mentioned in the previous post, will use a Yahoo Finance Wrapper, and provide data to the Angular app, as shown in the Web API controller (see book starting with, pages 259).

The Asp.Net Core back-end is live under:

https://stockapi.zoltanhalasz.net/api/getstock

Zip Repo of server side:
https://drive.google.com/file/d/1BRYFhhzVcxIS4KXb31VwnJSFossXjgbO/view
I changed the back-end and front-end a little bit, correcting Typos, Formatting (indentation) and slightly, the main Stock class of the project was changed also.

The result will be shown in the browser:

![Stock Chart](https://dev-to-uploads.s3.amazonaws.com/i/wkw6n3q9g37bckehejkh.png)
HighCharts with Angular - Part 1 - Introduction
Tags: webdev, angular, tutorial
Published: 2020-04-06 18:51:04

To continue the idea from the previous posts, my goal is to gather a number of libraries that can make my business applications look more professional, adding new functionalities and features.

One of these libraries is HighCharts, that can be integrated easily into Asp.Net and Angular (and Javascript) projects.

![highcharts](https://dev-to-uploads.s3.amazonaws.com/i/f73sny4vfir3srv4qaqk.jpg)

I would add here this great book which started my interest and whose projects I looked at and tried to implement some of its content.

![book image](https://dev-to-uploads.s3.amazonaws.com/i/jnwtefcouatiasbh969k.png)

For any Angular project, we can add the HighChart libraries using the below npm commands:
*1. npm install highcharts –save*
This command will add Highcharts dependencies into your project.

*2. npm install highcharts-angular –save*
The Highcharts angular wrapper is open source. It provides vibrant
and dynamic feature visualization for Highcharts within an Angular
application.

The example attached will be an updated (corrected, as there are some typos and formatting issues in the above mentioned book) version of the Chapter 5 example: Angular-Highcharts UI Application (page 125). There is also a form which collects the data (marks by students) that will be used for display in the chart. I added into my Angular App the following examples also: page 140 - 159: DrillDown Event, LegendItem Event, CheckBoxClick Event. 

**My application is online:**
https://highcharts-angular1.zoltanhalasz.net/

**Code can be downloaded :**
(you have to add npm install after unzipping it. It requires Angular 9.)
https://drive.google.com/file/d/1ZWuQ64ffE-gLUtKf-NLfGU_hJ8hO1ILD/view

![example](https://dev-to-uploads.s3.amazonaws.com/i/x0b8viwvdvp170unlpga.png)

The following routes are active:
*A. adding a new student with marks:*
https://highcharts-angular1.zoltanhalasz.net/addmarks
*B. after adding them, their marks will be present under the main link*
https://highcharts-angular1.zoltanhalasz.net/
*C. events with checkbox*
https://highcharts-angular1.zoltanhalasz.net/checkbox
*D. events with legenditem click*
https://highcharts-angular1.zoltanhalasz.net/legenditem
*E. events with drilldown*
https://highcharts-angular1.zoltanhalasz.net/drilldown

It also uses a back-end service live under the link: https://studentapi.zoltanhalasz.net/
this application also implements the .Net Wrapper of the Highchart, shown in example at the end of Chapter 5.

It is based on the book, starting with page 160, also adding an in-memory database to serve the data needed by the api controller. This will provide the back-end for the angular project above, and is called in the service typescript file of the angular project.

The code of the back-end is in this zip repo.
https://drive.google.com/file/d/1EUJxRAV5RDGdvnFoT5VWY0ZLOZdM6dY-/view
Shushi - Minimalist Secrets Management in Python
Tags: python, showdev
Published: 2020-04-06 18:48:06

---
title: Shushi - Minimalist Secrets Management in Python
published: true
description:  
tags: python, showdev
---
A lot of the work I produce as a 9-5 developer lives in private repositories. Given the unprecedented times we are all currently experiencing I wanted to take the opportunity to port some of my work into open source repositories.

---
# Problem
When I'd create applications in python I'd create a `config.json` to store credentials and other sensitive assets needed by the application.

This posed 2 problems for me;
1. Credentials are spread across multiple `config.json` files
2. Generally, the `config.json` files are in plan-text

# Solution
As a result I built [shushi](https://github.com/alexmacniven/shushi), *minimalist secrets management in Python.*

How does shushi address the above?
1. Credentials are stored in a single `vault` file
2. The `vault` file is encrypted using [cryptography](https://cryptography.io/en/latest/)

## Shushi comes complete with...

A CLI developed using [click](https://click.palletsprojects.com/);
```
> shushi -p [password] get twitter
name = twitter
user = alexmacniven
password = secret_password
```
Access to the back-end functionality;
```python
>>> import shushi
>>> shushi.get([password], "twitter")
VaultRecord(name="twitter", user="alexmacniven", password="secret_password")
```

Unit tests written with [pytest](https://docs.pytest.org/en/latest/) in mind;
```
> pytest
============================= test session starts =============================
platform win32 -- Python 3.8.2, pytest-5.4.1, py-1.8.1, pluggy-0.13.1
rootdir: ~\Code\shushi
plugins: mock-2.0.0
collected 25 items

tests\test_api.py ..                                                     [  8%]
tests\test_core.py ..............                                        [ 64%]
tests\test_crpyto.py ........                                            [ 96%]
tests\test_record.py .                                                   [100%]

============================= 25 passed in 1.24s ==============================
```

Contributions are welcomed using [Github issues](https://github.com/alexmacniven/shushi/issues).

*Psst this is my first dev.to post* 🥳
13 online meetup recordings you should watch from March 2020
Tags: meetup, video, onlinemeetup, ibmcloud
Published: 2020-04-13 13:19:25

---
title: 13 online meetup recordings you should watch from March 2020
published: true
date: 2020-04-06 18:04:03 UTC
tags: Meetup, Video, online meetup, IBM Cloud
canonical_url: https://maxkatz.org/2020/04/06/13-online-meetup-recordings-you-should-watch-from-march-2020/
---

[IBM Developer team](http://crowdcast.io/ibmdeveloper) hosts weekly online meetups on various topics. [Online events are one of the best ways to scale](https://dev.to/ibmdeveloper/using-online-meetups-to-scale-your-developer-relations-program-17li) your Developer Relations program and reach developers anywhere, anytime and for a long time after the event.

The following are online meetups we hosted in March 2020. Register for any future events on [Crowdcast](http://crowdcast.io/ibmdevelopersf).

**Deploy Deep Learning models as Microservices using Open Source tools**
March 4, 2020
[Watch the recording](https://www.crowdcast.io/e/deploy-deep-learning)

**Interactive Lab: Building Blockchain Apps with JavaScript**
March 11, 2020
[Watch the recording](https://www.crowdcast.io/e/interactive-lab-building)

**Removing Unfair Bias in Machine Learning**  
March 16, 2020
[Watch the recording](https://www.crowdcast.io/e/removing-unfair-bias-in-2)

**A Developer’s Intro to the Architecture of Containers & Orchestration**
March 16, 2020
[Watch the recording](https://www.crowdcast.io/e/a-developers-intro-to)

**Serverless Workshop with Python and JavaScript**
February 18, 2020
[Watch the recording](https://www.crowdcast.io/e/serverless-workshop-with)

**Deploy Microservices on the NEW Red Hat OpenShift 4.3**
March 19, 2020
[Watch the recording](https://www.crowdcast.io/e/deploy-microservices-on)

**Deep Learning Master Class IV – Intro to RNNs, LSTMs, and GRUs**
March 20, 2020
[Watch the recording](https://www.crowdcast.io/e/deep-learning-master-3)

**How to build your business on IBM Cloud**
March 23, 2020
[Watch the recording](https://www.crowdcast.io/e/how-to-build-your-6)

**Women in Data Science NYC @ IBM**
March 23, 2020
[Watch the recording](https://www.crowdcast.io/e/women-in-data-science)

**Intro to IBM API Connect Test and Monitor**
March 25, 2020
[Watch the recording](https://www.crowdcast.io/e/intro-to-ibm-api-connect)

**Around the World in 80 Ways – Deploy a Microservice on Red Hat OpenShift**
March 25, 2020
[Watch the recording](https://www.crowdcast.io/e/online-workshop-around)

**Create a real-time object detection app using Machine Learning**
March 25, 2020
[Watch the recording](https://www.crowdcast.io/e/create-a-real-time/)

**Journey to Kubernetes Security**
March 31, 2020
[Watch the recording](https://www.crowdcast.io/e/journey-to-kubernetes)

🎟 Register for our [upcoming events](http://crowdcast.io/ibmdeveloper).
Self-Referencing Security Groups on AWS
Published: 2020-04-06 17:57:20

A snapshot of self referencing Security group on AWS

```
---
Description: Create a VPC with a SG which references itself
AWSTemplateFormatVersion: '2010-09-09'
Resources:
  vpctester:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 172.16.0.0/23
      EnableDnsSupport: false
      EnableDnsHostnames: false
      InstanceTenancy: default
      Tags:
      - Key: Name
        Value: vpctester
  sgtester:
    Type: AWS::EC2::SecurityGroup
    DependsOn: vpctester
    Properties:
      GroupDescription: vpc tester sg
      VpcId:
        Ref: vpctester
  sgtesteringress:
    Type: AWS::EC2::SecurityGroupIngress
    DependsOn: sgtester
    Properties:
      GroupId:
        Ref: sgtester
      IpProtocol: tcp
      FromPort: '0'
      ToPort: '65535'
      SourceSecurityGroupId:
        Ref: sgtester
```
Created a Blackjack Card Dealer
Tags: kotlin, beginners
Published: 2020-04-06 17:52:49

# Create a Blackjack Card Dealer

I want to try Kotlin.
This is the first time to use it.

- [Source](https://github.com/siwai/blackjack-kot)


If there are any problems or points to be improved, please point them out.

# Reference 
- [プログラミング入門者からの卒業試験は『ブラックジャック』を開発すべし](https://qiita.com/hirossyi73/items/cf8648c31898216312e5)
- [Kotlinでブラックジャック作ってみた](https://qiita.com/matyahiko2831/items/901554ba7c5680c06bc9#%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%AF%E3%83%A9%E3%82%B9)
Getting Started with Sitecore JSS
Tags: sitecore, sitecorejss, headlesscms, beginners
Published: 2020-04-06 17:19:50

Headless CMS has been trending for quite some time now, there is a lot of Headless CMS's out there, but most of them are API-first CMS's.

Sitecore Experience Platform is a DXP, and it comes with an SDK to build a Headless CMS.

I have put together some of the resources that I have created to get started with Headless Sitecore, and how you can utilize Sitecore JSS.

Here is are the Getting Started video, you can skip the boring intro and jump straight to the coding, and then I also demonstrate the personalization capabilities of Sitecore:

During the demo, I build a react application that works with Sitecore.

{% youtube 9vNP4IHIf0U %}

This blog series consists of 5 how-to steps:
(https://mysitecore.blog/how-to-build-a-sitecore-jss-web-app/)

- Installing JSS
- Connecting it Sitecore
- Building an App
- Deploying it to Sitecore
- Deploying it to Netlify

And if you want some quick SitecoreJSS started kits here are few from my github:

https://github.com/tmamedbekov/jss-personalization
https://github.com/tmamedbekov/sitecore-jss-blog

Sitecore JSS also supports React Native, so you can build some cool apps that can be personalized.

The possibilities are endless, start with SPA, then PWA and even a mobile app.

Let me know your thoughts about Sitecore JSS.