teleren/devto huggingface dataset:
What Does Your IDE/Code Editor Look Like?
Tags: discuss
Published: 2019-08-14 17:33:19

I have FINALLY gotten my code editor to be my ideal setup. But now I'm curious, what does your code editor/IDE look like?


![VSCode](https://thepracticaldev.s3.amazonaws.com/i/090oec7aqbk9odb8uzl9.png)

# Editor
I'm using [VS Code](https://code.visualstudio.com/). Although I've used [Sublime Text](https://www.sublimetext.com/) and [Atom Editor](https://atom.io/) previously, I've found VSCode to be the winner.

# Font
I'm using the font [Dank Mono](https://dank.sh/). It's a paid font; it cost me about 40 British pounds, but is definitely worth it. [Fira Code](https://github.com/tonsky/FiraCode) is a free alternative with ligatures (the cursive-style and connecting lines which make code editors beautiful).

### Dank Mono
![Dank Mono](https://thepracticaldev.s3.amazonaws.com/i/k8103zgu00is9e51i8wu.png)

### Fira Code
![Fira Code](https://thepracticaldev.s3.amazonaws.com/i/mbhtau7m80dfvgv81ezf.png)

# Theme
I'm currently using the [Dracula](https://draculatheme.com/visual-studio-code/) theme for my editor. Although I tend to flip flop between Dracula and [Night Owl](https://github.com/sdras/night-owl-vscode-theme) by Sarah Drasner and [Pink Cat Boo](https://marketplace.visualstudio.com/items?itemName=ftsamoyed.theme-pink-cat-boo).

### Dracula
![Dracula](https://thepracticaldev.s3.amazonaws.com/i/vip4x1xh4jhupfyxa0ie.png)

### Night Owl
![Night Owl](https://thepracticaldev.s3.amazonaws.com/i/ujavnb5jw998nkqdjwl5.jpg)

### Pink Cat Boo
![Pink Cat Boo](https://thepracticaldev.s3.amazonaws.com/i/5bpnwd71xmcbv9ixe53n.png)

# Terminal
My code terminal is setup using [OhMyZsh](https://github.com/robbyrussell/oh-my-zsh). Ali Spittel has a fun [blog post](https://dev.to/aspittel/what-does-your-terminal-look-like-4476) all about terminal setup if you're interested in learning more!

---

Post pictures of your setup below!
Weeknotes - 11 Makers
Tags: bootcamp, beginners, womenintech
Published: 2019-08-14 17:20:30

---
title: Weeknotes - 11 Makers
published: true
description: Reflections on the past week at Makers Academy
tags: bootcamp, beginners, women in tech
series: Makers weeknotes
---

# Final Project

Week 11 is the penultimate week at Makers, the first half of the final project.  This was the hardest week at Makers;  huge self-imposed pressure about the importance of having a 'successful' last two weeks, making a great product, demonstrating every best practise possible, giving a glossy presentation, learning something new under a deadline, and the unknown of job searching looming ahead... :scream:

> :bulb: My team comprises purely of female developers.  This is great: women in tech!  Although it comes with added pressures: if we don't do well, we could be judged more harshly or dismissed as making something rubbish because of our gender, or, just having extra pressure of thinking we have to represent all wimmin.

Teams were announced on Monday morning; I was placed in a team of four with the goal of using the skills we'd learned and practised throughout the course to build a mobile app.

The first day was exhausting and full of decision making. As a new team, we hadn't developed our dynamic yet.  Each person has ideas about what kind of app they want to make, so taking time to clarify our personal project goals and to shortlist our preferred ideas and technology was important for us.  We shared what a well functioning team looked like, noting how we would work together - I highly recommend doing this, to get clarity, direction, and to make the team feel safe, productive, and like a _team_.

We decided to make a physiotherapy tracking app which would be built with React Native.  Next week I'll reflect on how the build went!

By the weekend the pressure of the week was exhausting.  Reflecting on how unhelpful this was, I took a break (I have the rest of my life to build great software after all), and looked into some questions about React Native in 20 minute bursts.

## Misc.

:rainbow: Experienced a psychedelic visual migraine for the first time

:pray: Thanks to Germane for helping us write some tests with Jest and Enzyme

:egg: Breakfast kick-offs can be delicious

:bee: quii also decided to learn React Native; we're going to work on a side project together after the course
How to expand a Linux partition using GParted?
Tags: linux, gparted, partition, expand
Published: 2019-08-14 17:12:13

---
title: How to expand a Linux partition using GParted?
published: true
description: 
tags: Linux, GParted, partition, expand
---

Your Ubuntu virtual machine is running low on storage space, simply power it off and allocate more virtual hard drive space via the hypervisor settings. 


Good job! Power the VM and have a look at your achievement. 

![Step 2](https://thepracticaldev.s3.amazonaws.com/i/e076smngq5z1nciv4z7i.png)

> In this scenario, the VM was initially allocated 20GB, then an additional of 10GB was added.

Now, how do you claim that precious 10GB? 

1- Open `GParted` app.
![Step 1](https://thepracticaldev.s3.amazonaws.com/i/7pa1ddhb52t9jr9m1xaw.png)

> Alternatively, 
> install via Ubuntu Software Manager or via the command line:
```shell
sudo apt-get install gparted
```

2- Select the current partition which you want to grow/increase.
3- Then click on the orange arrow. 
![Step 3](https://thepracticaldev.s3.amazonaws.com/i/mmbdf1mqzz0w9ovbwtaf.png)

4- Drag the slider to the right, to select all of the unallocated space.
![Step 4](https://thepracticaldev.s3.amazonaws.com/i/i0ivs9le8wyroyx4dudv.png)

5- Make sure you are happy with the numbers of bytes 😄 .
![Step 5](https://thepracticaldev.s3.amazonaws.com/i/fj6dh2h5z7a5noneujso.png)

6- Confirm your selection.
![Step 6](https://thepracticaldev.s3.amazonaws.com/i/cis2dsyq7w9n5frdvv22.png)

7- ⚠️ Read the warning message and think twice before clicking the button.
![Step 7](https://thepracticaldev.s3.amazonaws.com/i/04a4b4e92emycdo7tu3j.png)

8- Job done! ✔️✔️✔️
![Step 8](https://thepracticaldev.s3.amazonaws.com/i/9xrsgcpedyu8b81h1lqg.png)


## Oh, I forget to mention! Backup all your important data before attempting this delicate procedure. You have been notified.
An Introduction to Sets in JavaScript
Tags: tutorial, programming, coding, javascript
Published: 2019-09-15 05:02:43

---
title: An Introduction to Sets in JavaScript
published: true
tags: tutorial,programming,coding,javascript
canonical_url: https://medium.com/better-programming/an-introduction-to-sets-in-javascript-5bebaace3135
---

#### Using sets to deal with unique elements in a dataset

![](https://cdn-images-1.medium.com/max/1024/1*2JwaGxljIRs94WsH1MKhww.jpeg)<figcaption>Photo by <a href="https://unsplash.com/@joshstyle?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">JOSHUA COLEMAN</a> on <a href="https://unsplash.com/search/photos/sets?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></figcaption>

Sets are a new object type included in ES6 that allow the creation of collections of **unique values**. The values in a set can be either simple primitives like strings and integers or more complex object types like object literals or arrays. Think of sets as an array with no repeated elements.

There are many instances where we have an array containing many elements that we want to convert to a unique array. While it can be done by brute force on the array, checking elements, using loops, distinct callback method, etc., the best method is using set().

Syntax:

```
new Set([_iterable_]);
```

Let’s first see an example

{% gist https://gist.github.com/lelouchB/04dfb2389865523b98ae225e38b0a8cd.js %}

It is clear from the example that by making a new set from an array and using the spread operator, you can make a set into an array.

### Set Methods

Now let's look at some basic set methods, you may not need them but it best to be familiar with them in order to optimize your code:

- add
- size
- has
- forEach
- delete
- clear

{% gist https://gist.github.com/lelouchB/2b29470d80715951186becda71a331d7.js %}

It’s pretty much straight forward, the add method adds elements, the delete method deletes them, the has method has the same functionality as includes in arrays, and the clear method empties the set.

As we saw in the syntax, the set method takes an iterable as an argument, so a string can also be used as an argument.

{% gist https://gist.github.com/lelouchB/41831dbee5e00e3cbc836a590d025c27.js %}

Now let’s look at the practical examples of the set method:

{% gist https://gist.github.com/lelouchB/2ef99d247967eee3315c0dc594d43553.js %}

### **Conclusion**

In the end, I want to conclude that sets should be used when dealing with distinct or unique elements in a dataset. Arrays should be the preferred choice first and foremost as they have enough methods and functions for dealing with almost every question.

* * *
YARN " ERROR: There are no scenarios; must have at least one. "
Tags: yarn, ubuntu, linux, errors
Published: 2019-08-14 16:40:02

---
title: YARN " ERROR: There are no scenarios; must have at least one. "
published: true
description: Web developers are used to "YARN", but do take note that there're other packages named "yarn" as well.
tags: yarn, ubuntu, Linux, error
series: [Troubleshooting]
---

In Ubuntu, executing the command `yarn` can give you this quizzical error message:

```shell
ERROR: There are no scenarios; must have at least one.
```

My friend, you've got the wrong yarn 😄 

✅ Check the version of `yarn` you have on your system against the released versions https://github.com/yarnpkg/yarn/releases 

```shell
yarn -v
```

If the versions differ enormously, then you probably have a `yarn` package which is part of [cmdtest](https://liw.fi/cmdtest/) _black box testing of Unix command-line tools_. 

⚠️ Remove the existing yarn (at your own risk) ⚠️

```shell
sudo apt-get -remove yarn
```

And proceed with the instructions from [yarnpkg](https://yarnpkg.com/en/docs/install#debian-stable)

Simplified instructions:
- Start by adding the yarn __proper__ package repository

```shell
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
```

- Then do an Update & Install

```shell
sudo apt-get update && sudo apt-get install yarn
```

- Finally, re-check the version

```shell
yarn --version
```

_Happy Hacking_ 🔨
DailyUI Challenge 002
Tags: dailyui, ui, ux, css
Published: 2019-08-14 16:32:25


![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/ngbvocgqmjwag97989dh.PNG)

DailyUI challenge 002 - Design a credit card checkout form or page. Did this one without a wire-framing tool - instead opted to just use HTML, CSS, and JavaScript. I only worked on it for about an hour, so I'm not too upset with the results. The card type icon (Visa, MasterCard, AMEX, etc. does change depending on the start of the card number).

Things I could improve on:
 - The fonts are pretty ugly, I'd like to spend more time browsing available fonts.
 - Responsiveness. Because this was just part of a challenge and not production code, I did not consider mobile viewing in the design.

https://lnkd.in/gMr9VTq
What's your favorite data structure?
Tags: discuss, datastructures
Published: 2019-08-14 16:06:58

---
title: What's your favorite data structure?
published: true
description: A bit of a silly question, but I find myself using hash maps as much as I can in my codes, so I'm wondering what others like to use in theirs.
tags: discuss, data structures
---

I find myself finding ways to use or implement variations of hash maps in my code, mainly because I love being able to perform an O(1) lookup of what I want to find.

What about _you_? What is _your_ favorite data structure and why?
Generate Cover Image For Your Dev Posts Easily
Tags: showdev, webdev, javascript
Published: 2019-08-14 16:05:39


Generate a cover image for your Dev.to article online.


{% youtube GGTrhgKrch8 %}
 

{% github PJijin/Cover-Image-Generator %}


Some of the features are 

🌌 Generate Cover Image Online.

🖱 Drag and drop - Change content position easily

🖼 Insert image from computer

💻 Quick Insert Programming Logos (Material Icons)

🌈 Change Canvas border-radius and style

🔆 Dark / Light mode

🔛 Change canvas width, height

🎨 Customize Background, Font colours

⬇️ Download Image


Planning to add a few options like:

- Select a pre-made template and save time ⏰

Feel free to report issues and contribute 🥰

Hit ⭐️ if you like the project 😍, Feel free to open issues 🎉


Github: https://github.com/PJijin/Cover-Image-Generator

Live Demo: https://blogcover.now.sh/


Join on ProductHunt ✨ https://www.producthunt.com/posts/blog-cover


Comment your suggestions 🥰 

Follow On Twitter: https://twitter.com/PJijin
5 Reasons to Treat Yourself to a 3d Printer
Tags: dprinterforsale, cheapdprinter, sladprinter
Published: 2019-08-14 14:32:28

If you have been debating internally about whether or not to buy a 3D printer kit for your home, now’s the time to treat yourself! If you need a little push, take a look at the following reasons why you should treat yourself to a 3D printer today.

  <h4 class="">You can save money in the long run</h4>
You can save a surprisingly large amount of money in the long run when you use these innovative printers, all thanks to the fact that you can now create hundreds upon hundreds of different objects using printing technology. Everything from basic household items like measuring cups and bowls all the way to unique pieces of hardware can be created if you have the right materials and models.
 
 <h4 class="">They’re really fun to use</h4>
Let’s be honest—everything about using this type of printer to create your very own 3D tangible object is fun and exciting! You will be able to watch a piece you chose—whether you designed it yourself or you’re using premade models—come to life before your very eyes.

 <h4 class="">You can test your creativity</h4>
One of the great things about this type of printer is the fact that you can really push the limits of your creativity. You can design whatever you want, whether it’s a dinosaur shaped shower head or an elegant 18th century inspired vase or even something unique like bringing your child’s monster drawing to life as a figure. Whatever you want to make, you can!
 <h4 class="">It’s a skilled and worthwhile hobby</h4>
It’s important to develop skills and worthwhile hobbies as a means of expanding your mind while also learning something you can use in multiple aspects of your life. Designing and/or using printing models and creating objects is a hobby that will help you stay focused and attentive from the start of the process to the very end. You could potentially use your printing and modeling skills to bring in an extra income or add it to your resume when you’re out looking for a job.

  <h4 class="">They don’t have to be expensive anymore</h4>

One of the elements that puts most people off buying these is the 3d printer cost; the assumption that you’ll need to be very wealthy to afford your own printer and materials used to be true. However, the <a href="https://www.Dibbsto.co.uk" data-abc="true">3D printer price</a> today is far less than it was just a few years ago thanks to innovative developments in printing technology which have brought the costs down significantly. These types of printers are now more accessible than ever, and you don’t have to spend thousands of dollars to have a 3d printer in your very own home.

 <h4 class="">Final Thoughts</h4>
If you are ready to add a fun yet practical piece of equipment to your home, start looking for printers and printer materials today. If you’re looking for a one stop shop type deal, opt for sites like dibbsto.co.uk which offer a wide variety of products to suit just about any budget.
Learning How To Learn 
Tags: devops, devlive, beginners, career
Published: 2019-08-14 15:48:03

I've been privileged to study and interact with thought leaders in a few fields. From my experience, rep matters. Repetition. That's how you remember, that's how you learn, that's how you grow.

Having said that, I believe every typical learning process follows three steps.

1.WHAT: that's where you see for the first time. That's your 0-th moment of truth. That's the phase where you learn basic syntaxes and acronyms. For developers, that's the stage where you watch YouTube videos and read books. In this stage, the chances are high that you haven't started building. This defines the WHAT stage. The longer you delay the start of the first project or the beginning of a new one, the longer you remain in the WHAT stage.

2.HOW: This is where you build. This is also the most misleading stage. The fact that you're completing projects has no correlation with understanding or mastery. Any smart person can build by trial and error. However, don't be deterred. The essence of this stage is for you to familiarise yourself with basic tools. This is where you start crafting your style. This is the most painful stage.

3.WHY: This is the stage where you question existing bodies of knowledge. This is where you tear down frameworks and methodologies. This is where you invent your tools. This is not necessarily the teaching stage. Teaching can happen in the WHAT stage. Don't conflate the two.

How do you get to the WHY stage?

Rep. Repetition. Practice.
Nim for Python Devs (Spanish)
Tags: nim, python, spanish, beginners
Published: 2019-08-14 15:35:54

---
title: Nim for Python Devs (Spanish)
published: true
description: Intro a Nim para Python devs en Spanish
cover_image: https://thepracticaldev.s3.amazonaws.com/i/b3bcw92d4av5cj1uffdd.png
tags: nim, python, spanish, beginners
---

{% youtube o3Uck3e07ew %}

- **Spanish only !!!**, *sorry...* 

- For Python, its like Cython, can do faster Python modules.
- For Backend, it can do things that Golang/Rust, with async/generics/etc.
- For Frontend, its kinda like Svelte, can do Frontend and NodeJS.
- For DevOps, it can replace Bash/PowerShell, in a cross-platform way.
*...and thats just the start.* 😏


# Thank you for playing

[![](https://thepracticaldev.s3.amazonaws.com/i/4huq62a5r8tck64apdtd.png)](https://nim-lang.org)

- [Presentation on GitHub](https://github.com/juancarlospaco/nim-presentation-slides#nim-presentation-slides), [including basic](https://github.com/juancarlospaco/nim-presentation-slides/tree/master/ejemplos/basico) & [advanced Examples.](https://github.com/juancarlospaco/nim-presentation-slides/tree/master/ejemplos/avanzado)
- [Learn Nim today.](https://nim-lang.org/learn.html)
- [Play with Nim on a sanbox directly from browser.](https://wandbox.org/permlink/uB9X6XJh2D7jmwdS)
- Say *Hi* on the bridged [Gitter](https://gitter.im/nim-lang/Nim), [Matrix](https://matrix.to/#/#freenode_#nim:matrix.org), [Telegram](https://t.me/nim_lang), [IRC](irc://freenode.net/nim), [Discord](https://discord.gg/ezDFDw2).

👑
Approachable Post-Termination Mindsets
Tags: career, failure, beginners
Published: 2019-08-14 15:30:37

---
title: Approachable Post-Termination Mindsets
published: true
description: Reflections on failure and rejection 
tags: career, failure, beginners
cover_image: https://alexanderl0.files.wordpress.com/2014/11/woodspoon.jpg
---

Abundance mindset: No one owes me a job. There’s always the next one and learning is all that matters.

Mindfulness mindset: It might be disavowal, to do the same thing again and again while expecting different results.

Growth mindset: Set goals, hold myself accountable, accept feedback and aim high.

Self Help mindset: 7 min workout, therapy, acupuncture, Egghead.io

Ownership mindset: Sorry I fucked up. Thanks for the opportunity to work together. 🤝
Weekly Update 0x01
Tags: go, react, unraid, devlog
Published: 2019-08-14 14:47:50

---
title: Weekly Update 0x01
published: true
description: First in a weekly update series on projects
tags: golang, react, unraid, devlog
---
I don't have a process to add much of a text description for these updates yet, but at least I've started them. I'll also be back to daily update videos and posts soon.

{% youtube g60C4LXCgRs %}
Stop with the Obfuscation: Encoding and Encryption are Not the Same
Tags: cryptography, programming, security, base64
Published: 2019-08-14 14:43:16

---
title: Stop with the Obfuscation: Encoding and Encryption are Not the Same
published: true
tags: Cryptography,Programming,Security,base64
canonical_url: https://qvault.io/2019/08/14/stop-with-the-obfuscation-encoding-and-encryption-are-not-the-same/
---

This is a topic that has been talked about quite a bit, but I think it’s an important one to reiterate to our users.

**Encoding is not Encryption!**

[Encryption](https://en.wikipedia.org/wiki/Encryption) is a specific subset of encoding where the encoded messages can only be accessed by authorized parties (the ones holding the decryption keys).

[Encoding](https://en.wikipedia.org/wiki/Character_encoding) is simply a way of representing data in a specific format. For example, raw binary data can be encoded using the ASCII format to visually display english text.

![](https://qvault.io/wp-content/uploads/2019/08/asciifull.gif)

In the context of programming, pure encoding schemes offer absolutely no security. Sometimes formats like JWTs or Base64 outputs can confuse entry-level programmers because they appear encrypted… **They aren’t!** Encoding formats are only useful because they give computers and humans protocols to view and process raw binary data in a meaningful way.

To illustrate this point, try the following tools to see how easy it is to decode messages that are just encoded (not encrypted):

[https://jwt.io/](https://jwt.io/)

[https://www.base64encode.org](https://www.base64encode.org)

## Obligatory XKCD

![](https://qvault.io/wp-content/uploads/2019/08/code_talkers.png)<figcaption><a href="https://xkcd.com/257/">https://xkcd.com/257/</a></figcaption>

## Story Time

At a job where I worked in the past, a developer who was there before me built his own encoding scheme. It would take the raw binary data contained in a message and map specific bytes sequences to certain characters. It was totally made up, and the comment he left on the code was:

```
// Obfuscation technique. Base53 encoding for security
```

While it may confuse an attacker for a couple minutes, this [obfuscation](https://hackernoon.com/what-is-obfuscation-30d8cc68b4d8) offers more potential bugs in terms of needless complexity than it does security benefits. With free and easy to use encryption libraries available in all major programming languages, there is no excuse to try to bake your own these days.

ECC, RSA, AES-256, or another secure algorithm should have been used in the situation above. Ironically, it also probably would have taken less time to implement.

Security can be hard, but if you take the time to use best-practices it will save you so much time and headaches in the long run. Good luck, and stay safe out there!

By Lane Wagner

The post [Stop with the Obfuscation: Encoding and Encryption are Not the Same](https://qvault.io/2019/08/14/stop-with-the-obfuscation-encoding-and-encryption-are-not-the-same/) appeared first on [Qvault](https://qvault.io).