teleren/devto huggingface dataset:
Adding SSH key to GitHub
Tags: github, ssh
Published: 2019-12-18 15:28:52

It's fairly easy to follow [GitHub's official documentation](https://help.github.com/en/articles/adding-a-new-ssh-key-to-your-github-account) on how to add your SSH key to your account. This version is quickier and you can find all necessary commands below. Follow this if you use a Linux distribution.

You can follow this procedure with a few modifications for GitLab and Bitbucket.

## Generating a SSH key

### Check the existence of a key:

```
ls -al ~/.ssh
```

The filenames of the public keys are one of the following:

- id_dsa.pub
- id_ecdsa.pub
- id_ed25519.pub
- id_rsa.pub  _<-- that's mine_

### Generate a new SSH key if necessary

```
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
```

You'll see this:

```
> Enter a file in which to save the key (/home/you/.ssh/id_rsa): [Press enter]
```

Just [press enter] as instructed to use the default location or type one of your preference.

Then you'll be prompt to define a passphrase. Be creative.

## Adding an SSH key to GitHub

To get your ssh public key you can run `ls -al ~/ssh`, identify you public key and then `cat` its content to the console. For example: 

```
cat ~/.ssh/id_rsa.pub
```

Then:

- Go to your [GitHub SSH and GPG keys settings page](https://github.com/settings/keys). 
- Click [New SSH key](https://github.com/settings/ssh/new). 
- Choose a good title, like `Living Room Desktop SSH Key`.
- Paste your SSH key on the `Key` text area.

Now all operations to/from GitHub (`clone`, `pull`, `push` and others) can be performed safely without typing user and password every time.

---

Imagem de <a href="https://pixabay.com/pt/users/mikex7-1209336/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=3678638">mikex7</a> por <a href="https://pixabay.com/pt/?utm_source=link-attribution&amp;utm_medium=referral&amp;utm_campaign=image&amp;utm_content=3678638">Pixabay</a>
Committing to Code
Tags: 100daysofcode, beginners, blog
Published: 2019-12-18 01:03:56

I was browsing on my phone and I stumbled upon this dev.to post: [How I Landed My First Web Developer Role Without a Degree or Bootcamp: Lessons Learned, Resources & Tips](https://dev.to/taeluralexis/how-i-landed-my-first-web-developer-role-without-a-degree-or-bootcamp-lessons-learned-resources-tips-39ag). 

This post made me feel inspired to commit to learning web development once and for all. I've tried and went through many resources, but I've never gotten myself to actually stick with a program. 

#Here's the Situation
I'm a college student that has recently transferred from a community college to a 4-year college, and the curriculum isn't great but unfortunately it's the best for what I'm looking for. Long story short, my school has a course on Java with two courses on web development. I can only take these two web development courses near the end of my senior year, and I would like to learn the trade well before that. 

Three relevant courses doesn't sound like a lot, and it really isn't. However, I've learned quite a bit of programming at my community college. I've learned C++, Java, and Python so I'm familiar with the fundamentals of programming. I still need work on my object-oriented programming skills, but that's something I'll work on later. Honestly, I'm going to school for the sake of the degree and not for the "quality learning" that society wants us to have.

This post is a prelude for the #100daysofcode I'm about to initiate tomorrow. At the moment, I'm making a study schedule for myself so that I stay committed and don't burn out. My winter break is about a month long, longer than it needs to be  so I have large amount of free time that I've been using to playing games like Stardew Valley and Don't Starve Together all day long.

#Goal
Two years ago, I bought Colt Steele's "The Web Development Bootcamp" on Udemy and  I only went through 3/41 sections before I quit. I vow to finish this course before my #100daysofcode is over.
Day 26 of⚡️ #30DaysOfWebPerf ⚡️: Tasks
Tags: webperf, webdev, javascript, performance
Published: 2019-12-18 15:21:06

{% twitter 1207319007918989313 %}
{% twitter 1207319008820760577 %}
{% twitter 1207319020913012739 %}
{% twitter 1207319023303741447 %}


---

This article was originally published on [sia.codes](https://sia.codes/). Head over there if you like this post and want to read others like it, or sign up for my [newsletter](https://buttondown.email/sia.codes) to be notified of new posts!
Tundra: My small, fast and customizable template engine for Node.js
Tags: node, template, engine, small
Published: 2019-12-18 15:20:58

This is a small project that I've been working on since some days ago, it's a template engine that works in pure Nodejs (and can work in frameworks like Express too).

https://github.com/Usbac/tundra

It has a cache system, inheritance capabilities, customizable syntax, a standard library and more.

Note: Any criticism, opinion or support will be highly appreciated :)
Node-Essentials📦
Tags: node, express, npm, rest
Published: 2019-12-18 15:11:11

# Intro 🐱‍💻
Late last night I decided to finally publish my very own npm package, it's something I've wanted to do for a while now and I could never decide what to package.

While brainstorming I was busy working on a node.js app to process some data, the same code I've used in several projects.

This was it, the perfect package. I don't like searching for stuff I've already used and will use again in the future so I decided to package my most used node functions into a lightweight npm package.

To my surprise in under 10 hours it already hit over 800 downloads!🥳

# About Node-Essentials 🐱‍🏍
This is a nodejs toolkit for doing asynchronous api calls, writing files to the system, starting up express-js servers and more coming soon.

## Setup 🚧
Run:
> npm install node-essentials

And include it in your app:
```javascript
let node = require('node-essentials');
```
<br/>

# Current Tools ⚙
### <b>writeToFile</b> - Writes anything passed through to storage as any file.  
The below sample is used to print out json data from an API call.
```javascript
    node.writeToFile("tests", "writeToFile", "json", JSON.stringify(data));
```
<br/>

### <b>express</b> - Set up an express-js server on the specified port and directory.
The "__dirname" is the relative path for the directory used by node and 3000 is the port it will serve to this is also the default express port.
This would serve the current root directory.
```javascript
    node.express(3000, __dirname);
```
<br/>

### <b>get</b> - A simple Async REST "get" request. 
I will be adding more rest functions soon.
```javascript
    async function get() {
    try {
        test = await node.get(
            "https://apiurlhere.com/",["api key desc", "api key value"])
            .then(console.log("done"));
    }
    finally {
        console.log(test);
    }
};
```
# Conclusion 🏁
The package contains functions I commonly use, I will be adding more simplified essential tools/functions as time goes on!

It's been an interesting journey making my first package and any feedback/suggestions of functions to add would be welcomed.

## Where to get the package

[NPM](https://www.npmjs.com/package/node-essentials)
[Github](https://github.com/NicmeisteR/Node-Essentials)

If you want to keep track of all my projects and endeavors I am super active over on [Twitter](https://twitter.com/FinalNecessity) and I'm always happy to give advice and lend some help.

[FinalNecessity on Twitter 🍣](https://twitter.com/FinalNecessity)
Defining Cloud-Native Apps (And Why You Should Care)
Tags: kubernetes, devops, native, docker
Published: 2019-12-18 15:02:33

We all know what Cloud Computing means, But what about “native”?

According to Merriam-Webster, “native” can be defined as “inborn, innate”. So, cloud-native apps can roughly be identified as software that was born in the cloud; applications that were designed from the very beginning to live on the cloud. But, this raises the expected question: what does a cloud-native application do differently to a traditional; non-cloud-native one? To answer this question, you need to be aware that running a traditional application on an infrastructure that you don’t own is a risky action.

Why Running Non-Cloud-Native Applications On The Cloud is Risky?
By not “owning” the infrastructure, we mean you don’t have access to the data-centers on which the machines are hosted, you cannot make decisions as to which hardware your application is physically using, whether or not there are hardware issues and how they are being managed, etc. The cloud provider does all the heavy lifting for you with a promise that your application will remain online even if an outage occurred on the provider's side. This promise is formally referred to as Service Level Agreement (SLA). With an SLA asserting a 99.95% availability, the provider guarantees that there’s only a 0.05% possibility that your application is down due to an outage on the cloud provider's side. Translating the percentage to an actual number reveals that you can expect your business to be offline for as much as 4 hours and 22 minutes per year.

If your application is mission-critical, then the above may entail thousands of dollars in losses, harmed company reputation and, in extreme cases, lawsuits raised against you. Seems that 99.95% is not so relieving a percentage after all. It’s all the cloud provider's responsibility; they should take more measures to give you higher availability levels. Experiencing an unplanned downtime while your application is running due to cloud infrastructure issues is not your fault, Or is it?

Let’s see how Netflix was able to survive a major outage that occurred on AWS (Amazon Web service), Netflix’s cloud provider. 
to learn more about Cloud_native Applications visit: https://www.magalix.com/blog/defining-cloud-native-apps-and-why-you-should-care
React Hook – Async function in useEffect
Tags: react, useeffect, async, hook
Published: 2019-12-18 14:51:08

From: https://wareboss.com/react-hook-async-function-in-useeffect/


<p>If you already know the error message:</p>


<blockquote class="wp-block-quote"><p>"React Hook Warnings for async function in useEffect: useEffect function must return a cleanup function or nothing"</p></blockquote>


<p>Here is a little explanation of why this occurs and how to solve them.</p>

<p>This issues occurs when you directly call a Promise from useEffect Hook.</p>


```javascript
export default function Example() { 
    const [data, setData] = useState(false)

    useEffect(async () => {
      let response = await fetch('api/data') //Direct call
      response = await res.json()
      setData(response)
    }, []);

  return <div>{data}</div>;
}
```

<p>The useEffect hook expcect to receive a function to cancel or release resources.</p>



<p>To solve this issue you need to call a Syncronous method. Event if this new one are Async.</p>

```javascript
export default function Example() { 
    const [data, setData] = useState(false)

    useEffect(() => {
      const runAsync = async () => {
        let response = await fetch('api/data')
        response = await res.json()
        setData(response)
      };
      runAsync();
    }, []);

  return <div>{data}</div>;
}
```

<p>You can cancel this fetch when the component get destroyed, but this is another article (<a href="https://wareboss.com/react-hook-clean-up-useeffect/" target="_blank" rel="noreferrer noopener" aria-label=" (opens in a new tab)">React Hook – Clean Up useEffect</a>).</p>


<p>Bye!</p>
Convert Markdown Table to CSV
Tags: go, markdown, converter
Published: 2019-12-18 14:40:27

---
title: Convert Markdown Table to CSV
published: true
description: Editing table will be easier.
canonical_url: https://post-515hikaru.netlify.com/posts/2019-12-18-mdtable2csv/
tags: ["golang", "markdown", "converter"]
---

I created `mdtable2csv` command for me.

[515hikaru/mdtable2csv: Convert markdown table to csv](https://github.com/515hikaru/mdtable2csv)

# Why?

I often use [Markdown Tables generator](https://www.tablesgenerator.com/markdown_tables) because of writing table with markdown is too difficult for me. However, I had one problem. Markdown Tables generator cannot reverse transform, for example, markdown table to CSV. Because of this, I was reluctant to edit the table once I wrote it.

I always use a spreadsheet like Microsoft Excel to edit a table because I don't want to worry about anything other than the contents of the cell. If you can do the reverse conversion, you can edit the table by converting the table once written markdown into CSV and paying attention only to the contents of the cell.

# Language and Implementation

I knew it was very easy before I made it. At least if you have a Markdown parser and a CSV parser, you can just connect them. Both were in Golang, and above all I wanted to make it easier to run on multiple machines.

It's so easy that everything goes just with the `go get` command.

# Impressions

To be honest, it's not the quality that people can still use, but I've been freed from the trivial (and still not negligible) stress of everyday life. This is the best part of programming.
My dialog flow and PSD2 talk at @JFuture
Tags: google, conference, iot, talk
Published: 2019-12-30 08:47:47

---
title: My dialog flow and PSD2 talk at @JFuture
published: true
date: 2019-12-18 14:37:58 UTC
tags: google,conference,iot,talk
canonical_url: https://lengrand.fr/my-dialog-flow-and-psd2-talk-at-jfuture/
---

 ![My dialog flow and PSD2 talk at @JFuture](https://images.unsplash.com/photo-1519558260268-cde7e03a0152?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=1080&fit=max&ixid=eyJhcHBfaWQiOjExNzczfQ)

As already mentioned [in my last post](https://dev.to/jlengrand/introvert-try-speaking-at-a-conference-16ad), I spoke at [JFuture](https://jfuture.dev/) back in October, and I had a great experience :).

The videos are just out, so I'm finally posting some info about the talk. You can find the recording here (look Mum I'm on youtube!) :

<!--kg-card-begin: embed-->

<iframe width="480" height="270" src="https://www.youtube.com/embed/GwVhlkMLOD0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><figcaption>Video of my talk at JFuture on Youtube</figcaption>

<!--kg-card-end: embed-->

My talk lasted in total 34 minutes, but for some reason the last few minutes where I was doing some extra demos and actually use the agent with my voice have been cut. The questions are also missing, which I find a shame given that there were some super good questions in the audience. But I'm guessing those parts are harder to share without reducing the general quality of the video.

Watching the video, I am really speaking waaaaay too fast :). It makes me trip on words where I shouldn't. Looking forward on improving that in my next conference! But hey, maybe it will pick your interest and make you want to try yourself out at creating a ChatBot for fun!

In any case, thanks a lot for the team **@JFuture** that did an incredible job posting the videos and making kickass photos. The conference organisation was crazy on point.

In case you're interested, you can find

- The latest version of the slides [**in this repository**](https://github.com/jlengrand/google-send-money-talk)
- The latest version of the agent (in a zip) and the API code **[in this repository](https://github.com/jlengrand/google-send-money-talk)**

And if you want more, don't hesitate to contact me, I'd love to chat!
Giving Thanks to Diversity in Tech: Faiza Yousuf
Published: 2020-01-07 00:24:48

---
title: Giving Thanks to Diversity in Tech: Faiza Yousuf
published: true
date: 2019-12-18 14:12:36 UTC
tags: 
canonical_url: https://www.thisdot.co/giving-thanks-to-diversity-in-tech-faiza-yousuf
---

![Faiza](//images.ctfassets.net/zojzzdop0fzx/755BHoL5nS9cCSu0RgM77Z/71a116171812efa50156d83977f251ed/Faiza.jpg)
Faiza Yousuf is a multifaceted open source technologist.  She wears many hats, serving as the CTO of a stealth-mode startup, working as a product consultant, and running WomenInTechPK, a 6000+ member community for women in Pakistan.  In addition to these roles, Faiza also runs a Coding Bootcamp in Karachi, PK with her partner Shamim Rajani, which has taught over 700 girls how to code, and have placed many of them in paid internships and jobs!

Despite already organizing her own massive tech community, Faiza is also the Pakistani chapter leader of CryptoChicks, through which she has hosted numerous hackathons. Faiza also regularly speaks at engagements both locally and internationally, having most recently delivered talks on Empathy in Business, and served on panels discussing the challenges that women face in the workplace. 

“My team and I have been working tirelessly to create a better tech ecosystem locally and so far we have seen that the first step is to make people aware of their biases and to learn to distinctly see stereotypes and not let them cloud their judgement. Understanding our biases is the first step towards learning to value and appreciate all people.” 

When asked about her perspective on inclusion in the tech industry, Faiza added that, “The next step is to have more role models for women, for people of color, for differently-abled people, for people from underprivileged or disadvantaged backgrounds.”

Even with her busy schedule, Faiza is an avid reader, and commits herself to reading one book every week!   She encourages people, who would like to attend one of her local conferences, or international talks, to keep an eye on her Twitter page: [@FaizaYousuf](https://twitter.com/FaizaYousuf), where she will update you in the coming year!
Would you sign up to a monthly promotion service?
Tags: showdev, webdev, sideprojects, discuss
Published: 2019-12-18 13:58:31

I've launched a new experiment, I'm offering services to promote businesses on a monthly basis instead of one time promotions. Getting spikes in traffic from a product hunt post etc is great but what really matters is the constant exposure. What other services should I offer for that?

https://launchpropeller.com
_why interviews DHH
Tags: todayilearned, ruby, rails, pastrubies
Published: 2019-12-18 13:20:35

_Past Rubies is a tiny weekly newsletter that shares curated historical content from the Ruby community. Consider it Ruby&#39;s version of &#39;on this day in history&#39;. New issues every Wednesday. [Get issues straight to your inbox](https://www.getdrip.com/forms/275494850/submissions)_

* * *

## [\_why interviews DHH](https://web.archive.org/web/20090126211003/http://redhanded.hobix.com/5.gets/getsWithDavidHeinemeierHansson.html)
  

 ![Hqppr59](https://i.imgur.com/hQppR59.png)
  

_Christmas Eve 2004 (!) saw our favorite **why the lucky stiff** interviewing DHH. They cover Instiki, the future of Rails, music and skyscrapers._

## [Peter Cooper&#39;s RubyInside releases the ultimate Ruby advent calendar](https://web.archive.org/web/20090220132631/http://www.rubyinside.com/advent2006/)
  

 ![Jfbbnjd](https://i.imgur.com/jFbBNJD.png)
  

_What a treat for our readers to peruse over the Christmas Holiday break. As hinted last week, here is Peter Cooper&#39;s amazing Ruby advent calendar released back in 2006. You have interesting Ruby snippets, cool links, and even shnazzy wallpaper. If you&#39;re a Ruby history buff like me, this is a **gold mine** _

## [Why Rubinius matters to Ruby&#39;s future](https://web.archive.org/web/20080101080007/http://weblog.raganwald.com/2007/12/why-rubinius-matters-to-rubys-future.html)
  

 ![Snqm5mo](https://i.imgur.com/sNQM5mo.png)
  

_This post released 11 years ago this week by Reg Braithwaite goes into the importance of Rubinius. At that time Engine Yard had five full time staffers working on Rubinius. Pretty interesting discussion in the comments below._

## [What makes Rails a framework worth learning in 2017](https://www.quora.com/What-makes-Rails-a-framework-worth-learning-in-2017/answer/David-Heinemeier-Hansson?srid=tfS=1)
  

 ![Rz3hmzi](https://i.imgur.com/rz3HMZI.png)
  

_Once in a while I&#39;m allowed to treat myself to a link \*not\* on this week in history, right? We are likely to take a break during the festive season so it feels appropriate to wrap things up with this post from DHH. Enjoy!_
Microservices: an anti-pattern & some security threats 
Tags: todayilearned, microservices, serverless, architecture
Published: 2019-12-18 13:01:50

*TL;DR notes from articles I read today.*

### [Blue-green deployment: a microservices antipattern](http://bit.ly/36L27OV)

- Blue-green deployment is a technique that reduces downtime for your application by running two identical production environments called Blue & Green. 
- At any time, one of the environments is live and one is idle. The live environment serves all production traffic. And your team deploys and tests in the idle environment. Once the new build runs fine, you switch the router to swap the live & idle  environments.
- Adopting this approach in case of microservices, tosses out the need for microservices to be independently deployable.
- All microservices in a release need to be mutually compatible because the entire application is released in one go in the new environment. 
- “..this creates a distributed monolith whose pace of evolution is limited by the slowest-developing microservice.”

*[Full post here](http://bit.ly/36L27OV), 4 mins read*

---

### [Top 10 security traps to avoid when migrating from a monolith to microservices](http://bit.ly/2RBf7Cs)

- Rollback to the last known good state after a failure is more complex with microservices, so program in reverts carefully for data integrity.
- Move as many of your microservices as you can off the public networks to protect against DDoS attacks and other malicious actors.
- Never pass data between services in plain text. Always encrypt.
- Add monitoring to each service separately.
- Develop a logging approach to follow for all teams, each service, consistently.
- Don’t provide individual services too much access. Limit access intelligently based on need only. 

*[Full post here](http://bit.ly/2RBf7Cs), 7 mins read*

---

### [Be as serverless as you can, but not more than that](http://bit.ly/2YyanyU)

- As a startup that’s exploring what may work, you want to rapidly provide options to your customers and see how they respond without investing too much. Serverless architecture helps with this. 
- Once you find what does deliver value, you can consider going partly serverless and investing more in the infrastructure for it.
- Ask how much of your stack you need to own to deliver business value and differentiation.
- Consider whether it makes sense to outsource SLA, regulatory compliance, pricing and roadmaps to a service provider.
- Optimize for cost and latency as you start to find predictable patterns for your new product or service. 

*[Full post here](http://bit.ly/2YyanyU), 5 mins read*

---

*[Get these notes directly in your inbox every weekday by signing up for my newsletter, in.snippets().](https://mailchi.mp/appsmith/insnippets?utm_source=devto&utm_medium=post08&utm_campaign=is)*
My Data Visualization Resources
Tags: dataviz, react, charts, resources
Published: 2019-12-18 12:55:44

Last months, i decided to go deep to learn a little bit about data viz, more specifically about charts. In almost everything that i do, i have inspirations, today i want to share my resources about the principles and how to make good charts. I have used or gone through each of these personally.


{% github fanny/data-vis %}