teleren/devto huggingface dataset:
DEV is participating in the MLH Fellowship, Powered by GitHub
Tags: meta, news, opensource, github
Published: 2020-05-04 15:12:35

---
title: DEV is participating in the MLH Fellowship, Powered by GitHub
published: true
description: Announcing the MLH Fellowship, powered by GitHub, a new kind of tech internship
tags: meta, news, opensource, github
---

Today, the teams from Major League Hacking (MLH) and GitHub Education announced **[The MLH Fellowship, Powered by GitHub](https://fellowship.mlh.io/)**.

The Fellowship is a new kind of tech internship.  It’s a 12-week program that provides “pods” of 8-10 students with the opportunity to level up their skills by **working on Open Source**.  These students benefit from plenty of valuable support — not only from their fellow interns, but also through dedicated guidance of a full-time technical mentor.

As a [fully-distributed company](https://dev.to/devteam/the-dev-team-is-now-100-distributed-1g2e), we here at DEV have experienced firsthand the amazing opportunity created by being able to work with contributors and team members all across the world.  The Fellowship provides a pathway for students around the globe to earn a stipend while spending 12 weeks making meaningful contributions to open-source projects.

DEV is absolutely honored to be joining the coalition of early partners supporting the MLH Fellowship, Powered by GitHub, joining leading companies like GitHub, Facebook, and the Royal Bank of Canada.  We also feel incredibly lucky to be hosting a pod of students who will join to work on our own open-source project.  Other open-source projects involved in the Fellowship included React and Homebrew.  We are truly in great company, and we can’t wait to see all of the valuable technical contributions and fresh perspectives that these talented students bring to the projects and open-source ecosystem.

If you are a student that might be interested in applying, or an open-source project capable of getting involved, please check out the [MLH Fellowship](https://fellowship.mlh.io/) website for more information.

This is a wonderful program, and we’re so excited to be taking part.
From SXACLI to enhancements to SXA Umbrella
Tags: sxacli, sitecore, sxaumbrella
Published: 2020-05-04 15:07:55

After investing a lot of time and effort in working with Sitecore SXACLI and creating enhancements on the standard SXACLI tooling I decided that it was time for a different approach. Please meet SXA Umbrella!

With Sitecore 9.3 a new set of tooling was introduced to improve the front-end developer workflow: SXA CLI. As [described by Sitecore](https://doc.sitecore.com/developers/sxa/93/sitecore-experience-accelerator/en/add-a-theme-using-sxa-cli.html):

 _SXA CLI is a useful command-line tool to automatize tasks for an SXA project. This topic describes how to add a theme using SXA CLI. This can be convenient if you want to have more control over your assets and use a version control system, such as Git._

For us, it is important tooling because it provides a developer-first approach for our front-end developers in SXA development.

Because the out-of-the-box functionality was insufficient for our development workflow we extended the standard SXA CLI tooling into [SXACLI-enhancements](https://github.com/macaw-interactive/SXACLI-enhancements), and solved most of the issues we had with the out-of-the-box SXA CLI tooling. We now had things like:

- support for a team-based development cycle
- a way to fix the default provided theme SASS into Webpack compatible SASS
- Webpack for transpilation of code and styling
- Full support for TypeScript

But there were still some things "sub-optimal":

- Support for only a single theme, and Scriban for the rendering variants of a single site
- No support for grids, base themes and extension themes (although these could be seen as a theme as well)
- A big and old code-base where we didn't use 90% of the code because he handled all the heavy lifting using Webpack

So time for a big make-over! Welcome to [SXA Umbrella](https://github.com/macaw-interactive/sxa-umbrella) - *Project structure and tooling to optimize front-end team development workflow in any Sitecore SXA project*. The Github repository contains a lot of documentation and a getting started guide. Please let me know if it works for you or if you miss features.

Happy SXA front-end coding - the right way!
Multi Touch Gestures on Linux
Tags: linux, beginners
Published: 2020-05-04 15:06:44

---
title: Multi Touch Gestures on Linux
published: true
description: How to enable multi touch support for Linux
tags: linux, beginners
---

Hello,

I’ve been using Linux full time on my work laptop and one thing that I really miss from the Macbook is the multi touch gestures. I often find myself swiping 3 fingers up the trackpad to see all my open applications and nothing happens, bummer.

Then, I came across Fusuma, a great project which aims to bring multi touch gesture support to Linux laptops!

It won’t give you an Apple like experience but it’s okay-ish. I can finally swipe three fingers up to show all my open applications and three fingers left or right to switch between my gnome workspaces, and it comes with some plugins which allow you to create a personalized touchpad experience, for example, tap 3 fingers at the same time and shutdown the computer. ¯\_(ツ)_/¯

To install and use Fusuma please follow the [installation instructions](https://github.com/iberianpig/fusuma#1-grant-permission-to-read-the-touchpad-device) from the Github repo. 🙂

Bellow, is my Fusuma config file:

```yml
# sudo gpasswd -a $USER input
# sudo apt-get install libinput-tools  
# sudo apt-get install xdotool
# sudo apt install ruby
# sudo gem install fusuma
# nano ~/.config/fusuma/config.yml 
swipe:
  3: 
    left: 
      command: 'xdotool key ctrl+alt+Up'
    right: 
      command: 'xdotool key ctrl+alt+Down'
    up: 
      command: 'xdotool key super'
    down: 
      command: 'xdotool key super'

pinch:
  2:
    in:
      command: 'xdotool key ctrl+plus'
      threshold: 0.1
    out:
      command: 'xdotool key ctrl+minus'
      threshold: 0.1

threshold:
    swipe: 1
    pinch: 0.8

interval:
    swipe: 1
    pinch: 1
```

Thanks for reading!
Dev.to clone with tailwind CSS
Tags: javascript, react, showdev, webdev
Published: 2020-05-04 15:02:02

TLDR;
Github repo [Link](https://github.com/Rohithgilla12/react-tailwind-dev-to)
Live [https://devto-tailwind.netlify.app/](https://devto-tailwind.netlify.app/)
*GIF*
![Dev.to](https://dev-to-uploads.s3.amazonaws.com/i/g28wgl71hgf0otabmlrh.gif)

*Image*
![Dev.to](https://dev-to-uploads.s3.amazonaws.com/i/5fkubfebiq9k13k4rh16.png)

We will be cruising through the following topics
- What is tailwind? (Recap)
- What did I build?
- Time 
- Custom additions to `tailwind.js`

## What is tailwind? (Recap)
Tailwind CSS is a highly customizable, low-level CSS framework that gives you all of the building blocks you need to build bespoke designs without any annoying opinionated styles you have to fight to override. I have taken this definition from [here](https://tailwindcss.com/).

The documentation is stunning, I personally finished reading documentation.

## What did I build?
After a good success with replication of [youtube](https://dev.to/gillarohith/i-replicated-youtube-design-using-tailwind-css-dmc). So I decided to replicate [Dev to](https://de.to/). It was close enough I feel. It’s only the desktop version of the website.

### Progress
- Phase 1
As I always prefer, I start with the _layout_.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/l79w3rwaj5p4ab9pax3a.png)
- Phase 2
`NavBar`
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/m7ksjxjs05qzwca7c47g.png)
- Phase 3
`SideBar`
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/mdd3yf6njfs22yq0lwvc.png)
- Phase 4
`Listings`
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/lhzmi1abaohdnee08pv6.png)
- Phase 5
My fav one, `Et Voila!`
![Dev.to](https://dev-to-uploads.s3.amazonaws.com/i/5fkubfebiq9k13k4rh16.png)

## Time
The overall time consumed was (calculated using wakatime) 
![Time](https://dev-to-uploads.s3.amazonaws.com/i/gyhlizy5dvlrgnh3ect8.png)
![Graphs](https://dev-to-uploads.s3.amazonaws.com/i/upbxbmssx30prnoiept3.png)

## Custom additions to `tailwind.js`
This are the custom colors used in the development process.
```json
dev: {
        gray: "#1a2634",
        body: "#0d1219",
        text: "#f9fafa",
        link: "#dde0e2",
        teal: "#1CB3A6",
        tealPri: "#26d9ca",
        hoverTags: "#868EE7",
        searchBox: "#2E3A48",
      }
```

Bonus `gif` :p
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ff5hn3q2d4aj2hpvfkmn.gif)

Peace ✌🏻,
Rohith Gilla.
Ruby Variables and String Interpolation
Tags: tutorial, ruby, beginners
Published: 2020-05-04 15:01:44

So I decided to put together a series of class-style tutorials to teach my friends a little bit about Ruby. This is meant to be a series of tutorials, designed to be as basic of an introduction to Ruby as I can manage. Hope you all enjoy it. 

Also, there's a better than 0% chance the student was high...



{% vimeo 414320397%}

<h2>Variable Lab</h2>
When you're done watching the video and feel confident you can test your skills with the [Ruby Tutorial - Variables Lab](https://github.com/BMWeygant/ruby-tutorial-variables). Follow the instructions in README.md to clone the lab to your machine, and how to submit it when done. This guide assumes you have Ruby installed on your machine and a Github account already in place.
Imutabilidade em Javascript - Como evitar bugs no seu código | Programação funcional
Tags: javascript, functional, purefunctions
Published: 2020-05-04 14:48:54

{%youtube T89jpSLK-NM %}

Nesse vídeo nós nos aprofundamos no conceito de imutabilidade utilizando Javascript, aprendendo um pouco mais sobre como melhorar nosso código para evitar bugs.

✅ Me acompanhe nas redes sociais:
https://twitter.com/vinicius_dacal
https://www.instagram.com/dacaldev
https://www.linkedin.com/in/viniciusdacal

✅ Código Final:
https://codesandbox.io/s/vigorous-hofstadter-os77v?file=/src/index.js
For loop
Tags: javascript, beginners
Published: 2020-05-04 14:45:25

---
title: For loop
published: true
description: For and For of
tags: javascript, beginners
---
Most of the time we will have to iterate through an array or an object, so I will use an array for examples.
Anatomy of a for loop:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/hp86whdltv8l2pkgyzv6.png)
Let's see a pratical example.
I want to add this "✨" for each animal in my array.
```javascript
let animals = [
  '🐶',
  '🐼',
  '🐸',
  '🐥',
  '🦄',
  '🦋'
]
```
For loop makes my task easier like this:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/umh092zc3wkru3k3e1z1.png)
Result:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/b49rrns8tueqd5fgx10d.png)
Now let's try to create a new array with our animals plus a star for each one.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/f82aiczbk5oloagds3j6.png)

for loop how it works:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/r2tehtfgd0sapv6zcru1.png)
ES6 introduced for...of loop, the new loop sintax:
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/gpgaswqk7kpwb3fpnp1q.png)
easy to read and maintain.
Funções Puras - Como melhorar o seu código e sua lógica | Programação funcional
Tags: javascript, functional, immutability
Published: 2020-05-04 14:44:41

{% youtube V2M-SsVXlm8 %}

Um dos conceitos de programação funcional, essencial para todo programador que deseja evoluir a sua lógica de programação, tornando o seu código mais simples, mais fácil de entender e menos propenso a bugs. Nesse vídeo, veremos como é possível implementar o conceito de funções puras no JavaScript.

✅ Me acompanhe nas redes sociais:

https://twitter.com/vinicius_dacal
https://www.instagram.com/dacaldev
https://www.linkedin.com/in/viniciusdacal


✅ Código final:  https://codesandbox.io/s/inspiring-hugle-uedrt?file=/src/index.js:893-905
Python's Sum or NumPy's np.sum() ???I found a big difference in time!!
Tags: discuss, python, machinelearning, help
Published: 2020-05-04 14:33:28

**According to me**
Use python's methods (sum()) on python datatypes and use NumPy's  methods on NumPy arrays (np.sum()).

```
massive_array=np.random.random(100000)
massive_array.size
```
100000
```
massive_array
```

array([0.81947279, 0.24254041, 0.76437261, ..., 0.15969415, 0.34502387,
       0.15858268])

```
%timeit sum(massive_array) #Python sum
%timeit np.sum(massive_array) #Numpy sum
```

16 ms ± 494 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
50.6 µs ± 4.83 µs per loop (mean ± std. dev. of 7 runs, 10000 loops each)

**That's a massive difference!!**

**What do you guys think???**
5 articles you should consider reading
Tags: productivity, watercooler
Published: 2020-05-04 14:21:05

---
title: 5 articles you should consider reading
published: true
description: A quick rundown of some articles related to Web Development and programming
tags: productivity, watercooler
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/szc2xdf0upo33pwgvxae.jpg
series: List5
---

> _<b>Reading maketh a full man</b>; conference a ready man; and writing an exact man._

> &mdash; _Francis Bacon_

##__Introduction__

We all know developers read and write _code_ and anything associated with it like _documentations_, _design patterns_, _style guides_ e.t.c but sometimes it's good to step away from reading anything _code_ related so that when you come back to _coding_ you might have a different perspective.

The articles that we'll talk about is all about __making you a better developer__, and not a single article mentioned therein contains a single line of code.

All the articles are my __personal recommendations__ and most of them are _long reads_ meaning __it will take you some time to read any single one of them__, so I'll advise that you add them to your browser bookmark then you can read them later.

In no particular order, let's begin.

<hr>

###__[Learning to Learn by Sarah Drasner](https://css-tricks.com/learning-to-learn/)__ 

In this post, Sarah talked about how to learn, knowing what you don't know and some possible strategies on how to learn.

If you are going to skip any article in this post, __please don't skip this one__.

###__[Psychology of Computer Programming: Conquering the Imposter Syndrome](https://nthlook.wordpress.com/2014/09/24/psychology-of-computer-programming-conquering-the-imposter-syndrome/)__ 

The title of the post says it all. Even though the post is suitable for programmers of all levels, I'll recommend it to a new programmer and if you know anyone who is new to programming, kindly refer them to this post.

__You might miss the notification in the post, but it contains lots of links__

###__[Problem Solving Skills by Ryans Tutorials](https://ryanstutorials.net/problem-solving-skills/)__

Programming is mostly about problem-solving but if you have ever felt like hitting or smashing your computer I'll recommend that you take a step back, get some fresh air, __read this article, then go back to your computer.__ 

###__[The Importance of Deep Work & The 30-Hour Method for Learning a New Skill](https://azeria-labs.com/the-importance-of-deep-work-the-30-hour-method-for-learning-a-new-skill/)__

Do you want to learn something new and you don't know how to go about it? This post will get you started.

###__[The Process of Mastering a Skill](https://azeria-labs.com/the-process-of-mastering-a-skill/)__

Every expert was once an amateur. If you consider yourself a _novice_ or _newbie_ there is nothing stopping you from being an expert. __You have to believe you can and you are halfway there__.

_Cover photo by [Rhema Kallianpur](https://unsplash.com/@rhemakallianpur) on [Unsplash](https://unsplash.com)._

_Edit (05<sup>th</sup> May 2020): Add series name._
Dev tools 1.0 : we came a looong way 🐱‍👤
Tags: tools, development, productivity, devtips
Published: 2020-05-04 14:19:43


Let’s do some digging into the first-generation of computers, and meet with punched-cards. Back then, they were the basic unit of data.

If you dreamed about running a program, you’d rather be patient and highly careful. This is why. First, as a developer, you would write your instructions in an old programming language (like Cobol or Fortran). It was written on a piece of paper, the coding sheet. Then you’d pass over your coding sheet to a keypunch operator that would “encode” it into a source deck. The source deck was a bunch of punched cards and each card was one line of instruction 😥 Then (yes I know that’s a lot)…the source deck was compiled by the computer operator into a program deck. And finally, that program deck could be fed to a computer to run!



😣 Have you ever seen a program running perfectly on the first try?… Well you can be sure you had to repeat the whole process again and again and again before it worked.


These steps were individually really long and cumbersome. The first generation of dev tools helped to solve these challenges.

To fix bugs, programmers had to go through the source deck. Initially, it was just a bunch of cards with some square holes. Reading back the original program was taking ages. So, keypunch printers were invented. On top of each punched card the translation in natural language was written. It was the first program reading interface.

What about the code complexity? With one instruction per card, it was easy to get entangled in complex programs. To monitor the complexity programmers stored the source deck in boxes (first source code hosting system 😎). The size of the boxes was actually built-in to fit the maximum batch size for a computer to run. This was an easy way for programmers to see when they had to refactor their code.

At the early stages of Computers, programmers were dealing daily with cards, boxes, rubber bands, and request forms. That might not seem highly sexy but dev tools had to be physical back then.

🏓 If you want to play with old school punched card, you should give a try to The Virtual Keypunch (https://www.masswerk.at/keypunch/)

Thanks for reading!
Daily Challenge #236 - RGB to Hex Conversion
Tags: challenge
Published: 2020-05-04 13:57:01

---
title: Daily Challenge #236 - RGB to Hex Conversion
published: true
series: Daily Challenge
description: Convert RGB decimal values to hexadecimal representations.
tags: challenge
---
This rgb function is incomplete. Complete it so that passing in RGB decimal values will result in a hexadecimal representation being returned. Valid decimal values for RGB are 0 - 255. Any values that fall out of that range must be rounded to the closest valid value.

The following are examples of expected output values:

rgb(255, 255, 255) # returns FFFFFF
rgb(255, 255, 300) # returns FFFFFF
rgb(0,0,0) # returns 000000
rgb(148, 0, 211) # returns 9400D3

Tests:
rgb(-20,275,125)
rgb(255,255,255)

***
_This [challenge](https://www.codewars.com/kata/513e08acc600c94f01000001) comes from jhoffner 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!_
Twilio Hackathon Winners Will Be Announced May 5
Tags: twiliohackathon
Published: 2020-05-04 13:46:15

---
title: Twilio Hackathon Winners Will Be Announced May 5
published: true
description: 
tags: twiliohackathon
---

We messed up and had a typo on our Twilio Hackathon announcement:

{% link https://dev.to/devteam/announcing-the-twilio-hackathon-on-dev-2lh8 %}

In the post, it originally listed our winner announcement date as today (May 4), but unfortunately, that is not the case. To all our participants: we're sorry for the oversight and that you will need to wait one more day.

![husky-sorry](https://media.giphy.com/media/ftrPtuqQUIZ5opePYS/giphy.gif)


Twilio Hackathon winners will be announced on Tuesday, May 5.
Back to BASICs: My Coding Reboot
Tags: productivity, learning, basic
Published: 2020-05-04 13:42:55

## This is going to be a personal article... If you wanna see code, scroll down a bit.

The past few weeks, I have been going through some stressful times. Applying for college, building an app, and even working on a magazine. LOL. (Has nothing to do with programming). And I started to reach a point, where I just wasn't enjoying coding anymore. That was until an email for me came out of **nowhere**. It ended up leading to the question, where the person asked, "So why do you code?". And I actually had to think about it. So I decided, I need to check myself.

What I needed was a coding hiatus. Do something new, but familiar. Learn a language that offered some challenge, but not to be taken too seriously. My tutor one day mentioned that he used to be a computer scientist. When I asked what languages he knew, he told me, "Punchcards". **(LOL)**. He went on to say he also knew "Lisp, Fortran, and BASIC".

He even offered to teach me BASIC. I was almost offended. "BASIC? I know Python!" But I realized, that this was exactly what I had been looking for.

Syntactically, BASIC is, well, basic. "Hello world" is just:
```
10 print "hello world"
```
Variables are just defined on-the-fly.
```
10 a = 1
20 b = 'this is a string'
```

The first thing that came to mind was Ruby. Which makes sense since this is one of Ruby's influencers as you would say.

Some funny things though. You have a "goto" statement, that you could jump to any line in the program, and start the program over from there. Even though using them are "bad practice". I said "Forget practice! I'm just gonna have fun". Because of this though you have a choice to write in the line numbers. You can write them in by intervals of 1, 5, or 10. You can even not write them in at all.

```
10 input x
if x = hi then
    print "bye"
    end
    else
        print "you have to say hi"
        goto 10
        \\ it skips to ten then asks for your input again
end if
```

As you can see basic is about as easy as it gets. The hardest part was finding documentation. I actually ended up using freeBASIC, which has about the best docs out there for the language. I also found myself reading programming magazines on the Internet Archive from 1990 or so.

But it really took my mind off the stress, I went back to the thing that endeared my to programming, writing simple scripts to have fun. Which is what we are all here for, to enjoy life.

I also started a gofundme, to help offset some of the supplies I need for college. You can find it [here](gf.me/u/xzvugf). Thanks guys.