teleren/devto huggingface dataset:
𝟸0𝟷𝟿-𝚊𝚛𝚌𝚑𝚒𝚟𝚎𝚜.𝚝𝚊𝚛.𝚐𝚣 | Year review
Tags: webdev, career, productivity, javascript
Published: 2019-12-31 17:08:49

2019 was great :) I believe it's up to ourselves to make the best of what time we have.

Here's a short list of some of my 2019 milestones.


#### `[0]` Made a [new portfolio](https://yasio.pl) (finally) using Vue/nuxt/ssr/pwa.
Worked on this (designing and implementing) after work for 2 months. 
![MY PORTFOLIO 2019](https://thepracticaldev.s3.amazonaws.com/i/pc4nm5027dtihfc8n3xd.png)

#### `[1]` Got nominated at [aWWWards](https://www.awwwards.com/sites/yasio-portfolio) :)
![aWWWards](https://thepracticaldev.s3.amazonaws.com/i/nwz0wlriyd3175jf1ei3.png)

#### `[2]` Won Honors and Mobile Excellence 🎉
![aWWWards](https://thepracticaldev.s3.amazonaws.com/i/2v4wrtdhyuxaz7w1rds2.png)

#### `[3]` Learned C# and Unity 
[Released](https://play.google.com/store/apps/details?id=pl.yasio.nieogarniam) first Unity Game (only in Polish - sorry) 🎮
![kuweta](https://thepracticaldev.s3.amazonaws.com/i/a05rmjmrwlx4req8i5cn.png)

#### `[4]` Took part in another [Codepen.io challenge](https://codepen.io/Yasio/details/eXBRYP): {% twitter 1103425954356125696 %} 

#### `[5]` [Released](https://play.google.com/store/apps/details?id=pl.yasio.space) second Unity Game with AdMob - the money is not good but I had much fun 🎮
![Space](https://thepracticaldev.s3.amazonaws.com/i/2cz5u6erlsr9a2r70c47.gif)

#### `[6]` Took part in [Codepen.io opposites challenge](https://codepen.io/Yasio/details/vYYNWxB), made a game (again):
![codepen](https://thepracticaldev.s3.amazonaws.com/i/ihzc5fwmn3gqoihoum6s.gif)

#### `[7]` [Released](https://play.google.com/store/apps/details?id=pl.yasio.zilch) third Unity Game Zilch! based on my favorite family dice game. 🎲
![zilch](https://thepracticaldev.s3.amazonaws.com/i/syybfzcdyce7oe6au480.gif)

#### `[8]` Got my portfolio stolen and sold on themeforest :/ Thankfully got to take it down.

#### `[9]` Took part in [Codepen.io Board Game challenge](https://codepen.io/Yasio/full/pooZMmX), made a game (yes, again 🥑):
![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/dsyme1zhuyuv0qr53g1b.gif)

#### `[10]` Took part in Hacktoberfest - learned a lot and won a t-shirt 👨‍💻
![hacktoberfest](https://thepracticaldev.s3.amazonaws.com/i/f521bwhusjvuhi0jjd8s.png)

#### `[11]` Learned NestJS, K8S, React and whole lot more

#### `[12]` Made some awesome automated e2e tests for my app with Jest and Puppeteer
![e2e](https://thepracticaldev.s3.amazonaws.com/i/656shffwxzh1jksoxubm.gif)

#### `[13]` Made myself a new sticker mashup 😃
![sticker](https://thepracticaldev.s3.amazonaws.com/i/00ce09xtbeny4g855ls1.png)

#### `[14]` Wrote first DEV.to article called `𝟸0𝟷𝟿-𝚊𝚛𝚌𝚑𝚒𝚟𝚎𝚜.𝚝𝚊𝚛.𝚐𝚣 | Year review` 📰

Hope U had an awesome Year as well. Here's to an even more awesome cyberpunk... i mean year 2020 🍻.
Giving Thanks for Diversity in Tech: Angie Jones
Published: 2020-01-07 00:21:40

---
title: Giving Thanks for Diversity in Tech: Angie Jones
published: true
date: 2019-12-31 16:55:02 UTC
tags: 
canonical_url: https://www.thisdot.co/giving-thanks-for-diversity-in-tech-angie-jones
---

![angie-jones-headshot2](//images.ctfassets.net/zojzzdop0fzx/JDWzerJu0mjaIjJtBV4he/c85c0db507d18b7a469113207c98fb53/angie-jones-headshot2.jpg)

Angie Jones is a San Francisco-based Senior Developer Advocate at Applitools, as well as the Director of Test Automation University, a free, community-driven educational program that provides training to test automation teams.

A Master Inventor, Angie currently holds 26 patents across both the United States as well as China, and has garnered a reputation as a leading innovator in the tech community through not only her work, but also her regular international speaking engagements.

Angie has delivered talks on topics ranging from visual testing, to clean code, and even testing AI-enabled applications, having recently spoken on large international stages, including Selenium Conference in Chicago, STAREAST Testing Conference in Orlando, and Agile Testing Days in Potsdam, Germany, just to name a few.

Not only a prolific speaker and creator, Angie also finds time to volunteer with Black Girls Code, an organization through which she hosts workshops for young women interested in getting into web development.

Angie has a very busy 2020 on the horizon, with upcoming talks at JSConf Hawaii, Devnexus, TSQA, SauceCon, STPCon, RenderATL, and Agile Testing Days.  We can’t wait to see what else she will accomplish in the new year!

Want to keep up with everything Angie is doing in 2020?  You can follow her at [@techgirl1908](https://twitter.com/techgirl1908)!
How to add multiple CSS styles to an element in Vanilla JavaScript
Tags: javascript, css
Published: 2019-12-31 16:31:12

---
title: How to add multiple CSS styles to an element in Vanilla JavaScript
published: true
description: 
tags: javascript, css
canonical_url: https://timonweb.com/tutorials/how-to-add-multiple-css-styles-to-an-element-in-vanilla-javascript/
---

If you want to add multiple CSS styles to an element in Vanilla JS, you could do something like this:

```javascript
// Grab a button element.
const button = document.querySelector('button');

button.style.backgroundColor = "red";
button.style.color = "white";
button.style.padding = "20px";
```

It works but looks a bit tedious and unclean. And it's hard to pass such styles around. Would be nice to put those styles in an object, like this:

```javascript
const style = {
	backgroundColor: "red",
	color: "white",
	padding: "20px"
};
```

Now, we need to just mix our `style` object into `button.style`, like this:

```javascript
Object.assign(button.style, style);
```

And voilà, we're done!

If you find this tutorial helpful, please share it however you can :)

*P.S. information for those who while reading this, sputters and tears the hair on the head, shouting: "Use CSS!". This one is not about "Why," it's about "How." Of course, you could and, in most cases, should use CSS for this, but that's another story. Relax.*
How to test if element exists/doesn't exist with Jest and react-testing-library
Tags: javascript, jest, tests
Published: 2019-12-31 16:28:14

---
title: How to test if element exists/doesn't exist with Jest and react-testing-library
published: true
description: 
tags: javascript,jest,js,tests
canonical_url: https://timonweb.com/tutorials/how-to-test-if-element-existsdoesnt-exist-with-jest-and-react-testing-library/
---

At first, let's create a simple avatar component:

```javascript
function Avatar({ username, src, usernameIsHidden = false }) {
  return (
    <div>
      <img src={src} />
      {!usernameIsHidden && <h4 data-testid="username">{username}</h4>}
    </div>
  );
}
```

The `usernameIsHidden` flag allows us to toggle visibility of a username.

We'll test `username` element for existence and non-existence.

## 1. Here's how to test if the element exists and its content matches our expectation:

```javascript
import { render } from "@testing-library/react";

test("username exists", () => {
  const { getByTestId } = render(
    <Avatar username="Timonweb" src="https://example.com/avatar.jpg" />
  );
  expect(getByTestId(/username/i).textContent).toBe("Timonweb");
});
```

## 2. We can also test if the element exists at all:

```javascript
import { render } from "@testing-library/react";

test("username exists", () => {
  const { queryByTestId } = render(
    <Avatar username="Timonweb" src="https://example.com/avatar.jpg" />
  );
  expect(queryByTestId(/username/i)).toBeTruthy();
});
```

## 3. Finally, this is how to test for the non-existence of the element:

```javascript
import { render } from "@testing-library/react";

test("username doesn't exist", () => {
  const { queryByTestId } = render(
    <Avatar
      username="Timonweb"
      src="https://example.com/avatar.jpg"
      usernameIsHidden
    />
  );
  expect(queryByTestId(/username/i)).toBeNull();
});
```

In cases **2** and **3**, we use `queryByTestId` instead of `getByTestId`. `queryByTestId` doesn't fail when the queried element doesn't exist, instead, it returns either a value or `null` and that's what we test with `expect().toBeTruthy()` and `expect().toBeNull()`.
AWS AI & Machine Learning Podcast — Episode 3
Tags: aws, machinelearning, podcast
Published: 2020-01-06 10:28:28

---
title: AWS AI & Machine Learning Podcast — Episode 3
published: true
date: 2019-12-31 16:24:50 UTC
tags: aws,machinelearning,podcast
canonical_url: https://medium.com/@julsimon/aws-ai-machine-learning-podcast-episode-3-8993ad6a88be
---

### AWS AI & Machine Learning Podcast — Episode 3

In this episode, I explain — in plain English — 26 Machine Learning and Deep Learning terms that you need to know. If you’re beginning with the field, this should save you quite a bit of frustration!

> Video episodes are available on my [YouTube channel](https://www.youtube.com/juliensimonfr).

> Audio episodes are available on [Apple Podcasts](https://podcasts.apple.com/us/podcast/aws-ai-machine-learning-podcast/id1492801210), [Spotify,](https://open.spotify.com/show/1argBtYSeSksGU8dcW4TAS) [Deezer](https://www.deezer.com/show/756292), and more. Visit my [audio podcast page](https://julsimon.buzzsprout.com/) to subscribe and be notified of future episodes.

{% youtube 2NWoJ3NEs1Y %}
AWS AI & Machine Learning Podcast — Episode 2
Tags: aws, machinelearning, podcast
Published: 2020-01-06 10:27:25

---
title: AWS AI & Machine Learning Podcast — Episode 2
published: true
date: 2019-12-31 16:22:42 UTC
tags: aws,machinelearning,podcast
canonical_url: https://medium.com/@julsimon/aws-ai-machine-learning-podcast-episode-2-c6cd7cf0ec21
---

### AWS AI & Machine Learning Podcast — Episode 2

In this episode, I focus on TensorFlow 2.0, the most popular open source library for Machine Learning. I explain in detail how it differs from TensorFlow 1.x, and how you can start using it on AWS: Deep Learning AMIs, Deep Learning Containers, and Amazon SageMaker.

> Video episodes are available on my [YouTube channel](https://www.youtube.com/juliensimonfr).

> Audio episodes are available on [Apple Podcasts](https://podcasts.apple.com/us/podcast/aws-ai-machine-learning-podcast/id1492801210), [Spotify,](https://open.spotify.com/show/1argBtYSeSksGU8dcW4TAS) [Deezer](https://www.deezer.com/show/756292), and more. Visit my [audio podcast page](https://julsimon.buzzsprout.com/) to subscribe and be notified of future episodes.

{% youtube Kqd7__Yllr0 %}
2019 - My Year Of Awakening.
Tags: yearinreview, career, discuss, showdev
Published: 2019-12-31 16:21:49

 2019 has been a year of challenges, hardwork, failures and success. Most importantly a year of **_LEARNING_** .



#### This year has certainly been a turning point in my life. Not because this year has brought good things in my life, but because I chose to make my life better from this year.


I would like to share some of my achievements from this year. 

*   I worked on a freelancing project and **earned** my first salary.
*   I completed 5 months paid internship and learnt alot of interesting technologies like Node.js, MongoDB, Express.js, Cloud Hosting and much more.
*   I got recruited during campus placements and will be starting **my first job** as a Trainee Software Developer after graduation.
*   I started making **contributions** to Open Source. **Thanks to Hacktoberfest.**
*   I hosted my first desktop application - https://cyoms.tech
*   I **learnt** to make the best out of every situation


Well this is not just a year recap. **I would like to share some things which have helped me in my journey.**


### 1. Maintaining A Diary

<img src="https://thepracticaldev.s3.amazonaws.com/i/51wakvbiu0a97lkbvlhi.jpeg" width=50% height=40%>

I started writing my daily events in a dairy and then later it turned into it a habit. I would definitely suggest maintaining a diary to get some routine in your life.



### 2. Your Time. Your Way.

There is no key or a secret to achieve things. Everything indirectly **depends on your time management**.

There will never be a crash course or a map to manage yourself. Working on yourself and creating your own routines is **_the only way_**. 

**Always feel free to explore and draw from your own experiences.**

### **Feel free to share what helped you this year.**😄

# Wishing the DEV Community a very Happy New Year🎉🍻🌌🌃🎆.
New Year. New Challenge - #31Days31Videos
Tags: challenge, youtube, 31days31videos, javascript
Published: 2019-12-31 16:18:58

---
title: New Year. New Challenge - #31Days31Videos
published: true
description: I'm planning to publish 31 videos in 31 days
tags: challenge, youtube, 31days31videos, javascript
---

I'm taking on a new challenge! 🤩

2020 will be all about YouTube for me and what's a better way to do it than starting the year with a challenge, right? (You know how much I love challenges 🥰)

It is pretty straight forward... 
In the entire month of January I'm going to publish one video, every single day.

The videos will go live at 4PM (UTC+2).

Video topics:
- coding tutorial
- solving coding challenges (w/ JavaScript)
- coding tips & tricks
- live coding
and more...

As you can see, there is a LOT of coding involved! 😃

The first video of the challenge premieres in 21 hours!
Turn on the reminder if you want to catch it when it starts! 🤩

{% youtube 5ElUDN2It0E %}

Have a wonderful New Year! 🥳
5 Goals for 2020
Tags: webdev, watercooler
Published: 2019-12-31 16:04:55

In a previous post I wrote [my review of 2019] (https://dev.to/brettjephson/my-2019-46k7). Here I wanted to set a few goals for myself for 2020. 

I'll revisit these later in the year to see how I'm doing and which goals I've kept to and whether things have changed as the year has gone on.

# Less commuting

This one is my main goal for 2020. I currently travel by train to work. The train journey is just over an hour each way but add in the journey to and from the train station and I spend almost 4 hours a day commuting. 

I do work from home on an irregular basis but my goal for this year is to make remote working a consistent part of my schedule. My goal is to **work from home at least 3 of 5 work days every week**.

I'd love to hear suggestions on how to approach the subject with a manager. What are your thoughts on working remotely? In an organisation that isn't primarily remote, does this affect your chances of promotion?

# Music

I turned 40 this year and got a new banjo as a gift. I've been learning to play it ever since. I'm currently practicing the basic techniques (rolls) but my goal is to have mastered **6 bluegrass songs** to a good level by the end of 2020.

# Reading

I talked about using the Goodreads reading challenge as a motivator in my review of 2019. 

I intend to use the same tool again for 2020. I have completed 24 books in 2019. That might get to 25 if I can finish the one I'm currently reading by midnight.

In 2020, I'm setting my target a bit higher: **26 books** (fiction/short stories). As a bonus goal, I want to include at least 4 philosophy, technical or non-fiction books.

# Writing

At the beginning of 2019, I set myself a challenge to do some more learning in public and be better at passing on knowledge to the web dev community. 

I ended up writing several chapters for a book and course published by Packt, [The HTML and CSS Workshop] (https://courses.packtpub.com/courses/html-css).

This has motivated me to write and create more content but not necessarily another book. I hope to focus more on writing blog posts and articles.

My goal for 2020 is to write **12 technical posts**. I intend to use this platform to post for now although I might actually get round to creating my own blog if I can keep to this goal.

# Drawing

I am not terrible at drawing and I have been looking for hobbies that I can do away from the glare of the computer screen. I mostly doodle and draw in a cartoon-style. I want to improve at drawing and get better at a more realistic, sketching style. My goal for the year is to **draw 3 portraits**.

Happy New Year and good luck with your goals for 2020!
My 2019 "Brag Document"
Tags: blog, personalnews, career, womenintech
Published: 2019-12-31 15:56:33

---
title: My 2019 "Brag Document"
published: true
description: 
tags: blog, personalnews, career, womenintech,
---

This post is based on the work of Julia Evans, explained on her blog post [Get your work recognized: write a brag document](https://jvns.ca/blog/brag-documents/).

According to Evans, a *brag document* is simply a list of everything you accomplished and learned during a certain period of time. In order to keep a better track of my professional progress, I created a document on Github and wrote everything I thought was worth of notice during the year, and this is the result.



---

### Goals for 2019:

- [x] Improve my Java coding skills
- [x] Add projects to my Github profile
- [x] Participate of more women-centered meetups  
- [ ] Improve my Python coding skills

### Goals for next year

- Finish my masters' on Software Engineering.
- Contribute more to open source projects.
- Study Design Patterns and make better use of them at work.
- Read at least one technical book.

### Projects (stats from june to december)

  - Projects contributed to on Gitlab: 18
  - Merge requests: 51

### Design & documentation

- Documentation: 
  - Created the Wiki page for my team's project on Gitlab and added the Code Review Guidelines.
  - Code Review process and Test-Driven Development studies (see Company Building for details)

### Company building

- **1st Experimentation Day:** Me and two other colleagues studied code review methodologies and came up with a way to implement the process in the company. We also created checklists for the code author and the reviewer with the main points that should be checked during the review process. Our study was shared with the Development Department.
- **2nd Experimentation Day:** I studied the principles of Test-Driven Development and wrote a document explaining the basic concepts, the best practices and how to implement the process in the company.

### What I learned

- Improved my skills on Java programming.
- Improved my skills on Linux command-line.
- Completed the course _Objected-Oriented Programming with Java_ from ITA on Coursera (received a certificate).
- Learned how to implement unit software tests with JUnit 5.
- Completed the course _TDD - Test-Driven Development_ from ITA on Coursera (received a certificate).
- Learned how to use:
  - Apache Kafka and Kafka Streams
  - Docker
  - GitLab
  - Maven

### Outside of work

- Participated of Hacktoberfest and made my first open-source contributions on Github.

### Industry recognition

- Received a kudo card from a female colleague that said that I was an inspiration to her and also one of the reason why she didn't leave the industry. :heart:
Wishing you Happy New Year 2020: Dev.to Team and friends here.
Tags: discuss
Published: 2019-12-31 15:42:32

***Dev.to is a wonderful platform. I have crossed 2020 followers.***
I want to learn more and want to make more friends at Dev.to.


![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/5g8han2dxl0jhe1yvu17.jpg)

***HAPPY NEW YEAR 2020 to all friends on dev.to***
Visualize your 2019 physical activity in a Grafana dashboard
Tags: node, showdev
Published: 2019-12-31 14:52:38

I've been owning an **Apple Watch** for more than a year now. It's a really impressive device, I've found myself recording all the Workouts I did pretty naturally.

Unfortunately, Apple's Activity app is far from ideal when you want to play with your data and display **custom charts**.

So I decided to try to improve that by downloading my data and put it in a dedicated product for **data visualization**.

![Visualizing my activities by type](https://thepracticaldev.s3.amazonaws.com/i/xv2gof96xkjdy5q1ifex.png)

Talking about it with my colleagues, they showed me **Grafana** and **InfluxDB**.

As I'm working daily with JavaScript and I wanted to build something quick, I went with **Node.js** to parse the raw data from my Apple Watch and insert it inside the InfluxDB database which is directly read by Grafana.

It was the first time I had to work with Node streams since the file to parse is huge. It was quite a challenge but exciting as well!

![Vizualising my bicycle activity through 2019](https://thepracticaldev.s3.amazonaws.com/i/xr50h3axqgqw17lgo4g2.png)

I had a lot of fun building it and it feels good to do something I find useful 😁

Hopefully, you'll like it to.

*Please [create your own dashboard](https://github.com/yannbertrand/apple-watch-workouts-year-review) and show it to me!*

{% github yannbertrand/apple-watch-workouts-year-review %}
Daily Challenge #150 - Boggle Guess Validator
Tags: challenge
Published: 2019-12-31 14:51:00

---
title: Daily Challenge #150 - Boggle Guess Validator
published: true
series: Daily Challenge
description: Check whether a guess in Boggle is valid or not.
tags: challenge
---
###Setup 
Write a function that determines whether a string is a valid guess in a Boggle board, as per the [rules of Boggle](https://www.boggle.online/). Your function should take two arguments (2D array and string) and return `true` or `false` as to whether the string found in the array follows Boggle rules.

Valid guesses are strings that can be formed by connecting adjacent letters in any direction without using any previously used letters.

###Example
<pre> { {'I','L','A','W'},
  {'B','N','G','E'},
  {'I','U','A','O'},
  {'A','S','R','L'} } </pre>

In this Boggle board, the words "BINGO", "ILNBIA", and "LINGO" would be valid guesses, while "BUNGIE", "BINS", and "SINUS" would not be. *You do not have to test whether the string is a valid word or not, only if it is a valid guess.*

###Test
<pre>
{ {'E','A','R','A'},
{'N','L','E','C'},
{'I','A','I','S'},
{'B','Y','O','R'} } </pre>

Good luck, have fun coding~!

***
_This [challenge](https://www.codewars.com/kata/57680d0128ed87c94f000bfd) comes from 747823 on CodeWars. Thank you to [CodeWars](<https://codewars.com/>), who has licensed redistribution of this challenge under the [2-Clause BSD License](<https://opensource.org/licenses/BSD-2-Clause>)!_

_Want to propose a challenge idea for a future post?  Email **yo+challenge@dev.to** with your suggestions!_
Welcome Thread - v54
Tags: welcome
Published: 2019-12-31 14:48:41

---
title: Welcome Thread - v54
published: true
description: Welcome to DEV! A thread of hellos and intros.
tags: welcome
---

![penguin hello](https://media.giphy.com/media/Cmr1OMJ2FN0B2/giphy.gif)

### Welcome to DEV!

1. Leave a comment below to introduce yourself! You can talk about what brought you here, what you're learning, or just a fun fact about yourself.

2. Reply to someone's comment, either with a question or just a hello. 👋 

**Great to have you in the community!**