teleren/devto huggingface dataset:
Nevertheless, Steph Coded in 2021! 👩‍💻
Tags: wecoded, womenintech
Published: 2021-03-08 15:55:21


## How it started 👩‍💻 
If on this day last year, someone told me that I would have accomplished this much into my journey in tech, I would not have believed them. After my graduation in 2019, I worked in the marketing field but I had always wanted to get into tech. Therefore, in September 2020 after doing my research on careers in the tech industry and how to get started, I enrolled to a bootcamp, Introduction to Web Development by Code First Girls. The bootcamp lasted 8 weeks and thereafter, I decided to continue learning as a self-taught developer. Here I am 7 months later!

## My most recent achievement🏆 was...
Learning and building mini projects in JavaScript. I've been struggling with JavaScript since it's my first programming language but I'm proud that I've tackled that, and built mini-projects.

## Advocating for myself looks like…
Self-affirmations 😊 
Taking breaks when necessary.
Reminding myself that an expert in their field was once a beginner.

## My biggest goal is…
Grow career-wise and support other women transitioning into the tech industry and even those in the industry. The first few months can be tough. I am thankful to all the women that continued to encourage me to get going. There were days especially as a self-taught developer, where I felt so demotivated and wasn't sure if I'd get to achieve what I had set out to do, but watching or listening to other women's stories about how they got to navigate similar obstacles really motivated me.

## My advice for allies to support underrepresented folks who code is...
Give them a chance.
Difficulty in substantiating a choice for choosing the right language 
Tags: csharp, javascript, go
Published: 2021-03-08 15:51:57

hello everyone! Just to make sure I am studying computer science and I don't have a lot of experience in programming so it makes it extra hard to make a conclusion. Cause I think to make the right descision you already need to understand programming. So I hope somebody can help me out with making choices and descisions.

So I investigated the top 10 programming languages on the internet and took an average of all the top 10.

Eventually the top 10 programming languages on the internet where
1.	Javascript
2.	Python
3.	Java
4.	C#
5.	C++
6.	C
7.	PHP
8.	Go
9.	Typescript
10.	Kotlin

Now I need to build a scan system that must meet the following requirements.

1. Interact with hardware like scanners and printers.
2. automate deployment process software.
3. Deployment needs to be scalable easy. So more computers can be added fast.
3. The current operating system is windows but it could be a change in the future, cause of tablets.

Cause I don't have any technical knowledge I have no idea where to start in finding out what opportunity's there are for deployment. 

I also think that it is partly different for everyone and that everyone has their own experience and opinion. But still this is what I know right now.

C and C++ is close to the machine language. So really close to the hardware. It's mostly used to build software that's not client-facing. Client-facing means people don't ineract with the software.

Java could also be capable to do the job. But then I should maybe choose C# over Java, because of the operating system. 

Python on the other hand is a general purpose language and is mosly used for machine learning, robotica, web scraping and server automatisation. But Python is slower then Java and C# is again better then Java cause of the operating system. 

I read somewhere about Node.js and I guess it could also be used for building the application when I would use a framework like Vue.js. So I am really confused about a comparrison between Node.js, PHP, C# and Go(From Google).

I have searched up a lot of explanations but it's really hard for me to understand the technical aspects. Maybe someone can help me to explain the following languages easy or maybe some concepts so I can search it up and get closer to an answer.

It would be awesome if you could explain the following languages in a simple way so I could understand them and know if they are valuable.

1. PHP
2. Go(Google)
3. Node.js
4. Kotlin

let me know how you think about what I wrote. I would love to get some feedback!
MongoDB and Swift Vapor Integration
Tags: swift, mongodb, vapor
Published: 2021-03-08 15:43:33

Over the last few years, Vapor has emerged as the leading framework for developing web applications with Swift, and MongoDB has a number of users who are committed to this framework. However, integrating the use of MongoDB, Swift driver, and Vapor requires a fair amount of boilerplate and additional steps. This is irritating. 

To combat this, we recently created a small library gluing together the Swift driver and Vapor framework, as well as working with Vapor to add support to Vapor command line tooling for easily generating new projects for MongoDB. 

With the new MongoDBVapor library, there are a number of benefits.
* Users only need to call a single method to initialize a MongoDB client and persist it via  app.mongoDB.configure()
* Simplified app shutdown cleanup for users via a new method app.mongoDB.cleanup()
* Extensions to Vapor's Request type to provide easy access to MongoDB clients/databases/collections that will return EventLoopFutures on the same EventLoop the Request is on, simplifying thread safety concerns and improving performance
* Support for using ExtendedJSONEncoder/ExtendedJSONDecoder for encoding/decoding JSON requests

To use the new library requires:
Swift 5.2+
macOS 10.15+, or Linux
Vapor 4.x

Check it out on [github](https://github.com/mongodb/mongodb-vapor). 
Documentation for the Swift Driver [here](https://docs.mongodb.com/drivers/swift/).
4 Handy tools for Frontend Developers
Tags: webdev, beginners, tools
Published: 2021-03-08 15:38:57


Front-end developers link together the world of design and technology, packaging up the utility of the back end in an inviting way for users to interact with. Doing this requires different skills and to be honest it can get difficult real quick.

Today, I share 4 useful tools and websites that make my work a lot easier on some days.

<a href="https://cssgrid-generator.netlify.app/" target="_blank"><h3>Grid Generator by Sarah Drasner</h3></a>

CSS Grid Layout is a layout system available in CSS. It is a 2-dimensional system, that handles both columns and rows. grid systems can get complicated especially when dealing with multiple boxes of different sizes.

CSS Grid Generator is a great handy tool cause it lets you set up a Grid system for even complex layouts with ease.

<div>

![CSS Grid Generator by Sarah Drasner](https://res.cloudinary.com/lindaojo/image/upload/v1615209504/css-grid-generator_bgerxc.png)

</div>

Automatically generate the code for different Grid styles with ease. Thank you <a href="https://twitter.com/sarah_edo"  target="_blank">Sarah!</a>

<a href="https://animate.style" target="_blank"><h3>Animate.css</h3></a>

Animate.css is a small and easy-to-use CSS animation library. It contains ready-to-use, cross-browser animations for use in your web projects. Animate.css can be installed as a package or a CDN. You could also copy the styles of a specific animate from the website and use them directly in your project.

<div>

![Animate CSS](https://res.cloudinary.com/lindaojo/image/upload/v1615209503/animate-css_fqwk4f.png)

</div>

<a href="https://greensock.com/gsap/" target="_blank"><h3>GreenSock Animations Platform (GSAP)</h3></a>

If you want to have more control of your animations, you can definitely consider GSAP. It can animate DOM elements, CSS, SVG, CSS, canvas and so much more.

{% codepen https://codepen.io/GreenSock/pen/wvwEOZL %}

<a href="https://edidiongasikpo.com" target="_blank">Edidiong Asikpo</a> wrote a great article on <a href="https://edidiongasikpo.com/using-gsap-scrolltrigger-plugin-in-react" class="link" target="_blank">How to use the GSAP ScrollTrigger plugin in React</a>. Get a close look at a practical use of GSAP for your next project.

<a href="https://squoosh.app" class="link" target="_blank"><h3>Squoosh</h3></a>

Compressing a website’s image files is one of the quickest and easiest ways to make that site load faster for users.
Squoosh is my "go to" when compressing and converting images. It also has a CLI that allows you to compress many images at once.


You can read more about improving a website's performance,  <a href="https://www.lindaojo.com/blog/how-to-improve-lighthouse-score-performance/" class="link" target="_blank">How to Improve Lighthouse Score - Performance</a>

<div>

![Squoosh](https://res.cloudinary.com/lindaojo/image/upload/v1615209503/squoosh_zblvdf.png)

</div>

That's all folks, Feel free to let me know what your favourite frontend handy tools are. See you next week!

<a href="https://lindaojo.com/articles" target="_blank">Read more of my articles</a>
Strapi Online Meetup #9 Recap
Published: 2021-03-08 15:30:27

Did you join us last time?? We had a good time! Last week, the Strapi Team hosted an Online Meetups showcasing the new Strapi - Sentry Plugin as well as diving into a really interesting concept - Jamstack Monitoring. It is a generally new concept for most, so if you're unaware, we're here to catch you up!

Here is a quick recap of this webinar, including the video recording and some questions from the audience.

**By the numbers*:*
- 109 registrants 👥 
-  +50 attendees 🔊
- +121 messages 💬
- 8 questions ❓

In this webinar, we introduced the Sentry plugin for Strapi, which allows anyone to easily configure Sentry within your Strapi Application and get all the context needed to understand what events led to errors.

We used a Jamstack demo app (Strapi as backend and React for the frontend) to show you how you can automatically send errors encountered in your application's end API and frontend framework to Sentry and attach useful metadata to Sentry events, to help you with debugging.


<iframe width="560" height="315" src="https://www.youtube.com/embed/_xBXib0BN40" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

### Audience Questions

**What type of platform should be selected while creating a project in Sentry for Strapi? NodeJS or Koa??**
You can select either Koa or Node.js

**If using containers, can multiple containers use the same DSN**
Yes. You can have a look at this [resource](https://docs.sentry.io/product/sentry-basics/dsn-explainer/)
As shared, the best practice to have 1 DSN per git repo.

**Seeing source code and stack-traces is nice, but what to do if my company has on prem GitLab hidden under VPN?**
You can do that by following the info [here](https://docs.sentry.io/product/security/ip-ranges/)

**Do you have to specify to Sentry manually that the error was resolved, or will it pick it up when the issue is stale?**

You can use the [sentry-cli](https://docs.sentry.io/product/releases/) to set that up. There's also [releases](https://docs.sentry.io/product/releases/) which Sentry helps out with.


Can't wait till the next one 😄
MiNiFi Agent Update March 2021
Published: 2021-03-08 20:45:11

---
title: MiNiFi Agent Update March 2021
published: true
date: 2021-03-08 15:27:00 UTC
tags: 
canonical_url: 
---

 

# MiNiFi (C++)

## Version cpp-0.9.0

Release Date:  **1 _March 2021_**

Highlights of 0.9.0 release include:

- Added support for RocksDB-based content repository for better performance
- Added SQL extension
- Improved task scheduling
- Various C2 improvements
- Bug fixes and improvements to TailFile, ConsumeWindowsEventLog, MergeContent, CompressContent, PublishKafka, InvokeHTTP
- Implemented RetryFlowFile and smart handling of loopback connections
- Added a way to encrypt sensitive config properties and the flow configuration
- Implemented full S3 support
- Reduced memory footprint when working with many flow files

**Build Notes:**

It is advised that you use the bootstrap.sh when not building on windows.

[https://cwiki.apache.org/confluence/display/MINIFI/Release+Notes#ReleaseNotes-Versioncpp-0.9.0](https://cwiki.apache.org/confluence/display/MINIFI/Release+Notes#ReleaseNotes-Versioncpp-0.9.0)

**Download Now As Source or Pre-Build for Your Platform**

[https://nifi.apache.org/minifi/download.html](https://nifi.apache.org/minifi/download.html)
Codesphere vs. CodeSandbox: What's the Difference?
Tags: cloud, webdev, programming, codequality
Published: 2021-03-08 15:23:40


>As we were recently asked how Codesphere differentiates itself from CodeSandbox, an online editor for web development, we thought we could help clear some things up. If you were ever wondering what makes Codesphere unique, continue reading to find out. 


CodeSandbox is a great tool for sandboxing, code interviews, and embedding code snippets into your website. It runs VSCode and even the TypeScript Compiler in your browser - by using browser replacements for the Node.js APIs. This allows CodeSandbox to be scalable because it does not have to provide you with the resources to run VSCode or build your code. All of this work, however, is being done by your browser, and therefore limited by the machine’s resources that are available for it.

**Codesphere, on the other hand, is a brand new cloud provider for web apps, in which the frontend is an IDE.**

The idea behind Codesphere builds on a paradigm shift: Instead of creating apps on your computer and deploying them to a totally different infrastructure (e.g. AWS), you can now create the apps, using Codesphere’s web IDE, in the same environment in which you will run them in production. 

Combined with our new distributed architecture, you can now use the power of a full data center even while you are still coding (e.g. to run builds on hundreds of machines or seamlessly switch between dev and prod). There will be no more “works on my machine” and much more of leveraging productivity. While Codesphere lives in your browser, it provides seamless collaboration by allowing users to collaborate in real-time with friends, right in the IDE.

Starting up with Codesphere is effortless BUT it provides you with everything needed to change the deployment or even take out the code without any lock-in. On the other hand, if you prefer your local VSCode, you can just mount the remote file system and work with that, getting the best of both worlds. We make it easy to build web apps for scale, regardless if you are a single developer or a team.

Codesphere grows with you, from your very first experiments to building the next Spotify or Youtube. 

While there are really great tools out there, we felt there is something missing in the market when it comes to creating scalable apps, and this is why we created Codesphere.
The ultimate guide to Yubikey on WSL2 [Part 4]
Tags: wsl, pass, secrets, security
Published: 2021-03-08 15:23:19

If you haven’t setup GPG on Yubikey or you cannot access YubiKey from within WSL. Please check previous parts ([1](https://dev.to/dzerycz/the-ultimate-guide-to-yubikey-on-wsl2-part-1-5aed), [2](https://dev.to/dzerycz/the-ultimate-guide-to-yubikey-on-wsl2-part-2-kli)) of this series.

**Disclaimer I:** This tutorial is written for WSL2 with Ubuntu. It may differ distro from distro.

---

# Managing secrets in WSL with Yubikey

Everybody knows the pain with managing secrets. Let’s imagine, you want to access DB or curl an endpoint with base auth.

Most of the people are copying the secrets from their own Secrets Managers (the real ones or plain text files) and placing them to the terminal or exporting them as an environment variable. Simply something like this:

```bash
$ curl -u myusername http://example.com
password: <placing-password-here>
$ mysql –umyusername –p
password: <placing-password-here>
```

There is actually a better way to approach this. Unix systems provides pass as a standard secrets manager and WSL is no exception.

Pass stores your secrets in files which are encrypted by your GPG key.

*In case `pass` is not installed on your WSL distro, run: `sudo apt install pass`*

[Since we have already set up our GPG key with Yubikey](https://dev.to/dzerycz/the-ultimate-guide-to-yubikey-on-wsl2-part-1-5aed). We can use it to encrypt and decrypt our secrets in pass.

## Initializing pass store

For this we will need ID of our GPG key. You can get it via `gpg --list-keys`

![Getting GPG ID](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pbbv49tnzo1w91uuqpnu.png)

Copy this key over and init the pass storage via

```bash
$ pass init YOUR_KEY_ID # In my case 1E9...
```

## Adding secrets to pass

Let’s take a look at example using mysql password. Let’s create a secret named mysql-pass

```bash
$ pass add mysql-pass
```

Now paste the password two times and that’s it.


## Getting the secret value

Perfect, you created your first secret. Now let’s take a look how to reveal the value and how to use it in commands.

Assuming you have connected your Yubikey, you can get the value via

``` bash
$ pass mysql-pass
```

It’ll promt you to enter your PIN.

![PIN Prompt](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/om5jsun2g2s3ewgnjhax.png)

After unlocking your card, pass will print you the secret.

When you want to use the secret directly in the commands you can simply use subcommands. Let’s take a look at our mysql example

```bash
$ mysql –umyusername –p$(pass mysql-pass)
```

## Other useful commands

Here I’m listing just a bunch of other commands which I found useful.

```bash
$ pass
# Will show list of all secret names
$ pass rm <secret-name>
# Will delete your secret
$ pass generate <secret-name>
# Will generate a random secret for you and store it
```

What can be usefull for teams is an ability to share the encrypted pass files over GIT using `pass git ...`

More info can be found [here](https://gist.github.com/abtrout/d64fb11ad6f9f49fa325).
The Importance of Self-Advocacy for Career Advancement
Tags: wecoded, choosetochallenge, career, womenintech
Published: 2021-03-08 15:15:55

---
title: The Importance of Self-Advocacy for Career Advancement
published: true
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qnevd1odsl1iau0kmko4.png
tags: shecoded, ChooseToChallenge, career, womenInTech
---

This year marks five years (!) since I [started my career in the tech industry](https://dev.to/nahrinjalal/the-one-where-i-share-my-journey-to-tech-anj). To commemorate the milestone, I want to share a practice that has played a monumental role in my career advancement over this time:

**Consistent self-advocacy.**

I often tell [my students](https://twitter.com/NahrinJalal/status/1050078722605416450) how imperative it is to share their accomplishments and elevate their visibility regularly. A lot goes into this, such as weekly accomplishment tracking, connecting your achievements to compensation, scheduling weekly meetings with your manager, collecting testimonials, and more. However, the most repeated blocker I hear is this:

People don't know how to tell their story effectively.

Stories have three parts: a problem, a solution, and a result. If you accomplished something at work recently, you likely had to go through all three of those phases. So now it's time to think about yourself as the protagonist of the story and share it with others.

## Crafting Your Story

Firstly, reflect on a professional accomplishment that you're proud of—ideally one that took place recently. Then, answer these questions:

**What challenge did you overcome?**

Did you break into a new industry or find success with a difficult client? What is the headline of your story?

**Highlight your contribution.**

Briefly share how *your* solution addressed the issue. How were your strengths and passions essential?

**What was the business impact?**

How did you make money or save money for the company? Did you contribute to innovation, revenue, growth, or culture?

Remember to keep your story short! Your final result should be about 3-4 sentences (or bullet points) long. Your manager doesn't have time to read an essay, but she will appreciate and remember your impact if she can quickly understand how you solved a problem for the company.

Also, bear in mind that not every key accomplishment may fit into this storytelling structure. Please still share those other accomplishments with your manager—ensuring that you're still effectively highlighting how you impacted the business.

Ultimately, it all boils down to how you made a difference. Be proud of what you have achieved and share your accomplishments widely.

## Seek Support When You Need It

Self-advocacy is difficult.

If you're struggling, remember that you are **not** the only one feeling this way, and it **will** get easier with practice. 

Also, never think you need to go it alone. Reach out to a mentor. Vent to a trusted friend. Let this incredible community support you.
Create and publish your own npm package with example
Tags: npm, node, package, console
Published: 2021-03-08 14:59:14

##**Creating the package**

Create a new folder for the package. you can do that by typing in the terminal:
<br/>

>`mkdir my_first_package`

<br/>
Then go inside the folder with terminal and initialize your <mark>package.json</mark> file like this:

```
cd my_first_package
npm init
```
Fill in the required details about the package

>You can skip some questions with Enter Key but try to provide the complete information.  

<br/>
Create a new file <mark>index.js</mark> in your directory and start writing your code.

  In my case, I am creating a package to show <mark>console.log</mark> output in colors.
```
module.exports = function colorize(message, color) {
  switch (color) {
    case "red": {
      console.log("\x1b[31m%s\x1b[0m", `${message}`);
      break;
    }
    case "green": {
      console.log("\x1b[32m%s\x1b[0m", `${message}`);
      break;
    }
    case "blue": {
      console.log("\x1b[34m%s\x1b[0m", `${message}`);
      break;
    }
    case "black": {
      console.log("\x1b[30m%\x1b[1m%s\x1b[0m", `${message}`);
      break;
    }
    case "cyan": {
      console.log("\x1b[36m%s\x1b[0m", `${message}`);
      break;
    }
    default: {
      console.log(`${message}`);
    }
  }
};
```

Here is some information about the above code:

- A function is created named <mark>colorize</mark> that gets the console message and color of your choice as a parameter.
- In Node, colors references of text to command are written like <mark>\x1b[30m</mark> for black color etc.
- There is a <mark>%s</mark> present in each console to reset the color back to normal for other log outputs. (<mark>\x1b[0m</mark> is being used to reset the color).  


<br/> 
##**publishing the package**
- Name your package inside the <mark>package.json</mark> file.  
- Go to [npmjs](https://npmjs.com) website and create an account.
- Now, open up the terminal in your project's directory and write following commands:
```
npm login
npm publish
```
>If you encounter an error after the publish command, change your package name to something unique as it already exists on NPM.

<br/>
###Now, lets test our package.  
> Install the package with: &nbsp;
`npm install colorixer`

and in <mark>index.js</mark> file, write:
```
const colorixer = require("colorixer");

colorixer("My first NPM package", "red");
colorixer("My first NPM package", "green");
```

###Output:
![output](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oajdcuwk8o2wikrwr213.png)

And you are done..Thanks for reading :)