teleren/devto huggingface dataset:
I added a new contribution to WooCommerce "Monnify Payment Gateway"
Tags: monnify, paymentgateway
Published: 2021-02-02 23:49:46

I added a new contribution to WooCommerce "Monnify Payment Gateway"

Download => https://wordpress.org/plugins/monnify-payment-gateway/

Payment Gateway for Monnify on WooCommerce allows you to accept payment on your WooCommerce store using Mastercard, Visa, Verve, bank accounts
With this Payment Gateway for Monnify on WooCommerce plugin, you will be able to accept the following payment methods in your shop:
Mastercard
Visa
Verve
Bank Account
Download => https://wordpress.org/plugins/monnify-payment-gateway/
My favorite tool to work with Python
Tags: python, vscode, jupyter, editor
Published: 2021-02-02 23:43:20

When I start using Python to do my work, the Python IDLE is my first editing tool and it's working fine, but when the project is getting bigger and more data to be explored, I need other tools.

I saw many people use PyCharm, Atom, Jupyter notebook, and Visual Studio Code after trying each of them I feel comfortable playing with **Visual Studio Code** and **Jupyter**, now they are my best coding editing tools.

<img src="https://dev-to-uploads.s3.amazonaws.com/i/zf3u0is442mlo9bts675.png" width="250" height="20"/>

**Visual Studio Code**: It's support many languages and also has a ton of extension that created by clever people available for you to use for free! since my work is related to **Microsoft Azure**, this tool is really a boost. 

<img src="https://dev-to-uploads.s3.amazonaws.com/i/znbf11z7ljyeps0xwnbq.png" width="250" height="20"/>

**Jupyter notebook**: A very simple tool to install and use, this tool really helps when I need to play with a dataset, if you have Python installed on your machine, simply type `pip install jupyter` to get it then `jupyter notebook` to start and play with it
LGTM Devlog 31: Sprint 4 Plan
Tags: devjournal, python, github, agile
Published: 2021-02-02 22:46:37

Sprint 4 is here. The plan for this sprint is to finish the tasks left over from sprint 3, and start tackling some of the Character profile storage. Now that the underlying ORM is nice and clean, I should have an easier time implementing the rest of the functionality.

![The sprint](https://dev-to-uploads.s3.amazonaws.com/i/09n2s9jeqqrkdoxg5gvw.png)
 
# Character Profile management
I hope one of the ways LGTM can be engaging is to give it a rich back-story, so that rather than doing endless dry exercises, the player can feel emotionally engaged with the task. It's something I experienced while doing Advent of Code. Although the vague back-story didn't feel like a big deal, I felt that it added to the charm of it. Had the exercises been presented without the narrative, I feel like it wouldn't have been interesting, even though materially from a programming exercise point of view, it would have been the same. Secondarily, I'm also influenced heavily by the game Uplink, which is, surprisingly for it's genre and mechanics, also driven by narrative.

To tat end, I'll be adding a new object called `Character` which will contain the functionality for LGTM to post messages to the player as this character. And I'd like these character's to have profiles so that the user can see a bit of back-story and world-building.

# Secrets management
Each character necessarily has to be associated with a different GitHub account, so each character will end up needing a token stored to allow them to access it.
Machine learning possible with small data?
Tags: machinelearning, startup
Published: 2021-02-02 22:44:14

It's not worth trying machine learning projects unless you have a huge data set.

True or false?

Smaller companies are afraid to add machine learning features to their projects unless they have big data. They think that since they're not Amazon or Microsoft, they don't have a large enough data set to be successful in taking on machine learning projects or features.

There are definitely applications of machine learning that can work even on small data sets. Perhaps you can start small and prove out a concept, before investing in getting more data to build a larger model. You can also use off-the-shelf models in AWS, Azure, and GCP to solve generic problems.

With smaller data sets you will encounter problems that you need to be weary of, such as over fitting, bias, and data imbalance. With the right tools and people, there are strategies to overcome these problems.

Like any good project management program, you can invest in small wins to either prove out the concept. This can help you gain credibility in a new program, and then getting funding for bigger and bolder bets.
How to setup scheduled cron jobs in Node.js
Tags: javascript, node, tutorial
Published: 2021-02-02 22:36:05

In this tutorial you’ll learn how to schedule cron jobs in Node.js. Typically cron jobs are used to automate system maintenance but can also be used for scheduling file downloads or sending emails at regular intervals.

Let’s first setup our project by running the following commands :

```
mkdir cron-jobs
cd cron jobs
npm init -y
```

We’ll be using the [node-cron](https://www.npmjs.com/package/node-cron) package which simplifies creating cron jobs in node.js using the full crontab syntax. Run the following command to install `node-cron`:

```
npm install node-cron
```

With node-cron installed create a new `index.js` file with a sample cron job that will run every minute:

```javascript
var cron = require("node-cron");

cron.schedule("* * * * *", () => {
  console.log("Running each minute");
});
```

The asterisks are part of the crontab syntax used to represent different units of time. Five asterisks represents the crontab default which will run every minute.

Here’s what unit of time each of the asterisks represent and the values allowed:

```
┌──────────────── second (optional 0 - 59) 
| ┌────────────── minute (0 - 59)
| | ┌──────────── hour (0 - 23)
| | | ┌────────── day of month (1 - 31)
| | | | ┌──────── month (1 - 12)
| | | | | ┌────── day of week (0 - 7, 0 or 7 are sunday)
| | | | | | 
| | | | | |
* * * * * *
```

##Schedule cron jobs daily/weekly/monthly

Run at midnight every day:

```javascript
cron.schedule("0 0 * * *", () => {
    // task to run daily
});
```

Run every Sunday at midnight:

```javascript
cron.schedule("0 0 * * 0", () => {
    // task to run weekly
});
```

Run on the first day of every month at midnight:

```javascript
cron.schedule("0 0 1 * *", () => {
    // task to run monthly
});
```

If you’re struggling to understand exactly how the crontab syntax works check out [crontab guru](https://crontab.guru/). This website provides a simple editor that displays the cron schedule based on the cron syntax you input:

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/9gyyjefjijcrfuakfwjl.gif)

That’s all for this tutorial. Hopefully you now know how to a setup a cron job to save time on things you may have done manually in the past. As always thanks for reading!
Day 300 : Slow Down
Tags: hiphop, code, coding, lifelongdev
Published: 2021-02-02 22:26:40

_liner notes_:
- Professional : Not a bad day at all. Updated a tool to help developers with some extra features. Then had a meeting with my manager to demo it and we pair programmed a little to move things around, reword some things to make it better for users. Rest of the day, worked on creating a brand new tool. Got the basic functionality down, just adding a little more details to present the data a little nicer and easier to digest. I've never really made anything of substance in Vue before so it's taking me a little longer than when I built the tool in Vanilla JavaScript. Reminds me of Angular which I haven't really touched in a LOOONG TIME.

- Personal : Last night, worked a little on a side project and I think went through some tracks for this week's radio show. Then went to sleep.

![A small waterfall and a stream in a very green forest with lots of vegetation in Dolni Sokolovec, Czech Republic](https://dev-to-uploads.s3.amazonaws.com/i/3j547231rdkkaphako3s.jpg)

So, got to the park I normally work from this morning and the WiFi is super slow down to almost nothing and spotty. Awesome, not like I need it for my job. haha I've been using my phone's hotspot for the most part so it worked out. Hoping it will be better tomorrow. Going to spend like another hour finishing up this tool for work so I can show my manager and knock a couple of other tickets off my board. Got to get this blog post I have been neglecting done and submitted. Later, I want to watch another episode of "The Watch". Trying to catch up. There is so much shows I've been missing. haha

Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube G1JLk9QDQjE %}
How to update multiple git repositories for 1 project?
Tags: git, github, project, repository
Published: 2021-02-02 22:11:05

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

# The problem
Image a situation where you started a project locally, developed some codebase and pushed that code to your github | gitlab | bitbucket. Then you ask your friend or a colleague to help with a feature. You added hime to the repo and we both work on 1 project. Then the client comes and says that he created an account on github and setup the auto-deploy to the server so you just need to push your code in their repo. 

## First solution 
Simply copy the project, reinitiate the git config and change remote-url to the client's one. But then you change code in your repo & clone it to another manually. That's a stupid, time-consuming operation. 

## Right solution
So as a lazy developer, you don't want to do such things and you don't need to do it. You can configure your git to fetch data from your own repo and push new changes to both repos simultaneously.

```
git remote set-url --add --push origin path/to/YOUR/repo
git remote set-url --add --push origin path/to/CLIENT/repo
```

After this, when you'll next time run `git push` the changes will be pushed to the both gits. Check it by yourself. Isn't that awesome?
How do you get started in Data Engineering?
Tags: discuss, career, rudderstack, watercooler
Published: 2021-02-02 21:39:25

---
title: How do you get started in Data Engineering?
published: true
description: I'm curious what tools you'd recommend and 
tags: discuss, career, rudderstack, watercooler
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/zqpjkl85i321gphu6cgz.jpg
---

*cover image by [NASA](https://commons.wikimedia.org/w/index.php?title=Special:Search&limit=100&offset=0&profile=default&search=begin&advancedSearch-current=%7B%7D&ns0=1&ns6=1&ns12=1&ns14=1&ns100=1&ns106=1&searchToken=6537o03cxy5kc578m3zc39ve7#%2Fmedia%2FFile%3AYoung_and_Duke_begin_a_simulated_traverse.jpg)*

Data Engineering is growing in leaps and bounds, but how you get into it is not so obvious. Certifications and courses seem limited, and most people doing the work now started out doing something very different.

What's your advice?
GitHub Campus Experts applications are open: apply now
Tags: beginners, github, news
Published: 2021-02-02 21:35:51

_It reads..._

###*GitHub Campus Experts are student leaders building diverse and inclusive spaces on their campus that join with like-minded folks to learn or build projects together. They foster communities on their campus and help other students learn valuable industry skills, secure opportunities, and better prepare themselves to become the next generation of software developers.*

Link: 

https://github.blog/2021-02-01-github-campus-experts-applications-are-open/

###Best of luck to all my young friends.
JavaScript Arrays - Codecademy PRO version
Tags: tutorial, webdev, javascript, beginners
Published: 2021-02-02 21:27:47

**TL;DR:** I completed the **Arrays** course in **JavaScript: Arrays, Loops, and Objects** module on Codecademy. This is a part of the 🔗 [**Codecademy Web Development Career Path**](https://youtube.com/playlist?list=PL7K3igiHYVk1_ulFuHesiv7BP_ALn82o8) series.



You can find the video on YouTube below ⬇️
{% youtube KetxKYcDpoI %}



*If you like the video, don't forget to smash that like icon* 👍 *and subscribe* ❤️*. It will help a lot! Thanks!* 🙏



⏱️ Chapters:
🔗 [0:00](https://www.youtube.com/watch?v=KetxKYcDpoI) Intro
🔗 [0:30](https://www.youtube.com/watch?v=KetxKYcDpoI&t=30s) Arrays
🔗 [2:28](https://www.youtube.com/watch?v=KetxKYcDpoI&t=148s) Create an Array
🔗 [5:33](https://www.youtube.com/watch?v=KetxKYcDpoI&t=333s) Accessing Elements
🔗 [9:50](https://www.youtube.com/watch?v=KetxKYcDpoI&t=590s) Update Elements
🔗 [11:38](https://www.youtube.com/watch?v=KetxKYcDpoI&t=698s) Arrays with let and const
🔗 [15:02](https://www.youtube.com/watch?v=KetxKYcDpoI&t=902s) The .length property
🔗 [16:42](https://www.youtube.com/watch?v=KetxKYcDpoI&t=1002s) The .push() Method
🔗 [19:02](https://www.youtube.com/watch?v=KetxKYcDpoI&t=1142s) The .pop() Method
🔗 [20:40](https://www.youtube.com/watch?v=KetxKYcDpoI&t=1240s) More Array Methods
🔗 [27:10](https://www.youtube.com/watch?v=KetxKYcDpoI&t=1630s) Arrays and Functions
🔗 [31:38](https://www.youtube.com/watch?v=KetxKYcDpoI&t=1898s) Nested Arrays
🔗 [35:11](https://www.youtube.com/watch?v=KetxKYcDpoI&t=2111s) Review Arrays
🔗 [37:58](https://www.youtube.com/watch?v=KetxKYcDpoI&t=2278s) Secret Message
🔗 [45:55](https://www.youtube.com/watch?v=KetxKYcDpoI&t=2755s) Arrays Quiz



📚 Materials/References:
🔗 [Javascript Arrays cheatsheet](https://www.codecademy.com/learn/paths/web-development/tracks/web-dev-js-arrays-loops-objects/modules/learn-javascript-arrays/cheatsheet)
🔗 [MDNs Array page](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array)

Thanks for reading! I hope you find it useful.
React listbox component
Published: 2021-02-02 21:26:26

I recently posted about a [hook](https://dev.to/tmikeschu/listbox-role-state-in-react-4cek) that manages the state needed for a list with the `listbox` role.

After writing about it and making an isolated code sandbox for it, a thought kept nagging at me.

> I shouldn't have to use a hook directly for this. There should be a component for `Listbox` component and `ListboxOption` that manages that state implicitly.

I don't want to have to manually add the `mouseenter` event listener to change the selected item. I want a component to handle that detail for me.

This desire and instinct for implicit compound component state comes from APIs like [ReachUI's Tabs](https://reach.tech/tabs/).

With the help of [`React.Children.map`](https://reactjs.org/docs/react-api.html#reactchildrenmap), [React Context](https://reactjs.org/docs/context.html#gatsby-focus-wrapper), and [keys](https://reactjs.org/docs/lists-and-keys.html#keys), I was able to implement a lovely compound component API.

```tsx
<Listbox>
  {items.map((item) => (
    <ListboxOption key={item.id}>
      <Item {...item} />
    </ListboxOption>
  ))}
</Listbox>
```

An item can tell if its selected by way of render props or a `useContext` hook. See the details and working example here:

{% codesandbox use-listbox-state-forked-9sqhp %}

Thanks! Happy coding :v:
Mid Meet Py 2021 - Ep.01 - We are back and chat with Laura Gutierrez Funderburk
Tags: python, chat, podcast, interview
Published: 2021-02-02 21:17:22

---
title: Mid Meet Py 2021 - Ep.01 - We are back and chat with Laura Gutierrez Funderburk
published: true
description: This week we will chat with Laura Gutierrez Funderburk of PyLadies Vancouver. Also, check out the Flask tutorial by Miguel Grinberg.
tags: python, chat, podcast, interview
---
This week we will chat with Laura Gutierrez Funderburk of PyLadies Vancouver. Also, check out the Flask tutorial by Miguel Grinberg.

All links are in the [podcast notes](https://www.notion.so/Streaming-Jan-29th-epi-I-7cd79f7eef784ca485b61ad3263bef5b)

[Listen to MidMeetPy podcast](https://anchor.fm/midmeetpy)
The Secret to a Successful Self-Taught Coding Journey
Tags: devjournal, codenewbie, womenintech, beginners
Published: 2021-02-02 21:11:36

_This post was originally published on February 1, 2021 on [my blog] (https://alexlsalt.github.io/blog)._

-------

Happy Tuesday! I'm over here pondering the process of achieving a goal or dream (i.e. just my normal everyday thoughts lol). So here's what's up:

Once you start in on the journey to achieve a goal, don’t stop until you get there, no matter how long it takes. That’s the secret.

Don’t go fast. Instead, go far with small actions every single day over a substantial amount of time. If you haven’t gotten there yet, that just means you’re still on the train and you haven't arrived at your stop yet. Stay the course. Everyday.

We plan and plan and plan for something big and amazing, and it feels great to plan it all out, but then as soon as it comes time for rubber to meet the road, all those good feelings we had when planning go out the window, and we're met with resistance in the face of getting to work.

I was on the phone with my dad last night and we were talking about this same subject - about how people generally love the idea of how they'll be at the end of the practices or the work or the showing up day after day to eventually get them to a point of practiced perfection.

But the problem here is that too many of us get sucked into the fantasy of how it will be at the time of the peak performance (the destination or result) that when it comes time to practice (the journey), it doesn't feel as glamorous or exciting as the final result, so we just don't feel motivated to do it.

And then we sadly don't get anywhere.

Because the work and the practice and the showing up always, always precedes the results and the main performance.

Showing up to practice and working on our skills when we're not at that peak-ready level is precisely the right time to do it.

We shouldn't get down on ourselves for not already being at that level when we haven't given enough time to our practice and our journey.

Get to work. Everyday. And before you know it, your peak performance will come without you even realizing it because you've been showing up for the journey as the champion that you are.

-------------

Pssst! I send weekly newsletters about the self-taught coding journey and my own coding adventures (and misadventures!)  [Sign up here! >>](https://ladies-code-collective.ck.page/e53b5fca44)
The "#90DaysOfProse - Make Writing a Habit" challenge.
Tags: 90daysofprose, challenge
Published: 2021-02-02 21:08:28

---
canonical_url: https://blog.natterstefan.me/the-90daysofprose-make-writing-a-habit-challenge
---

> Make Writing a Habit. Write for at least 10 minutes a day for the next 90 days. Tweet your progress each day with the #90DaysOfProse hashtag.
> https://www.90daysofprose.com/

As of today, I solemnly announce that [I am taking part in the #90DaysOfProse](https://twitter.com/natterstefan/status/1356709908029333510).

These are the rules:

> Write for at least 10 minutes a day for the next 90 days. Examples include Blog Posts, Essays, Book Notes, Newsletters, Fiction, Non-Fiction, etc.

**That should be doable!** 10 minutes. What're 10 minutes a day, right? Wish me luck.

The real challenge for me is probably the selection of topics and my own criticism of my work. I tend not to be satisfied and to be my own biggest critic. But inspiring people like @[Francesco Ciulla](@FrancescoCiulla), for example, inspire me. His 100 Days 100 Videos Challenge is remarkable. What started as an overcoming task for him, resulted in a successful YouTube channel with over 2,600 subscribers and a lot of views.

I want to talk about software engineering (mostly JavaScript, TypeScript, ReactJS, NodeJS, and web dev in general), as well as notable tools, SaaS solutions, productivity, and life hacks, and all sorts of stuff from my list of "best of "s. It's going to be fun, I tell you!

That's exactly why I'm taking on this challenge. I have a few bigger and a few smaller topics in mind. It's not the size of the article that matters, but the depth and the value it brings. I think that's the most important thing I can deliver to you.

So my 10 minutes are up soon, and I'm looking forward to the next 10 minutes tomorrow. Stay tuned and follow me so you don't miss an update. I look forward to any feedback from you.

Cu,

Stefan
Entendendo as diferenças entre IEnumerable e List em C#
Tags: dotnet, csharp, list, ienumerable
Published: 2021-02-02 20:58:47

Nesta postagem vamos ver as diferenças entre esses dois tipos de objetos em C#, quando é recomendado utilizar cada um deles e quais cuidados devemos ter em utilizá-los.

##Diferenças entre o IEnumerable e List
* IEnumerable descreve um comportamento e List implementa esse comportamento (aquela definição bonita que encontramos na internet hahahaha)
* IEnumerable é "read-only", ou seja, eu não consigo alterar a coleção, somente ler. O tipo List implementa uma variedade de métodos capazes de alterar a coleção.
* IEnumerable possui um método para retornar o próximo item na coleção, com isso ele não precisa que toda coleção esteja em memória e também não sabe quantos itens estão nela. Quando utilizado em um loop como o foreach, ele apenas vai retornando o próximo item até que termine a coleção. Já o tipo List possui toda a coleção em memória, sendo assim o List sabe quantos itens possui a coleção.
* Quando você usa IEnumerable, você dá ao compilador a chance de adiar a execução, isso porque o IEnumerable não é executado enquanto não passar em um loop ou enquanto um tipo de valor não é extraído da variável em que foi salvo.

Para entender melhor este último item, vamos fazer o seguinte teste:

```csharp
private void TesteIEnumerable()
{
	var nomes = new List<string> { "Luis", "João", "Ricardo", "Alexandre" };
	IEnumerable<string> nomesContenhamLetraO = nomes.Where(x => x.Contains("o"));
	nomes[0] = "Marcos";

	foreach (var nome in nomesContenhamLetraO)
	{
		Console.WriteLine(nome);
	}
}
```

Executando o código acima temos no console os seguintes nomes:
>Marcos
>João
>Ricardo

Note que mesmo mudando o nome de Luis para Marcos após ter criado o objeto IEnumerable, ele mostrou no console o nome Marcos. Isso porque o IEnumerable somente foi executado dentro do loop do foreach, e mudamos o nome antes.

Agora vamos fazer o mesmo teste com o tipo List:

```csharp
private void TesteList()
{
	var nomes = new List<string> { "Luis", "João", "Ricardo", "Alexandre" };
	List<string> nomesContenhamLetraO = nomes.Where(x => x.Contains("o")).ToList();
	nomes[0] = "Marcos";

	foreach (var nome in nomesContenhamLetraO)
	{
		Console.WriteLine(nome);
	}
}
```
Executando o código acima temos no console os seguintes nomes:
>João
>Ricardo

Neste segundo exemplo o objeto List já havia sido criado e armazenado em memória com o nome Luis.


##Quando usar cada um
De uma forma bem básica podemos dizer que devemos usar IEnumerable quando queremos apenas ler a coleção ou quando estamos trabalhando com um volume muito grande de dados e não queremos copiar tudo na memória e causar problemas de desempenho.

Por outro lado quando precisamos alterar a coleção, ou precisamos dos resultados imediatamente, devemos utilizar o tipo List.

Referência:
[C# IEnumerable vs List and Array](https://medium.com/@ben.k.muller/c-ienumerable-vs-list-and-array-9f099f157f4f)