teleren/devto huggingface dataset:
Learning while Having Fun
Tags: beginners, sms
Published: 2020-02-13 23:59:43

As a developer advocate I feel like its my job to be learning new things so I can make them easier for my audience. This constant act of learning can take its toll. And learning for just learnings sake is extremely difficult. But when I am starting with a new piece of technology often there is a bit of work required before I can start feeling confident to do something useful. 

Today I am writing about one approach I found extremely useful. Learning while having fun. And the thing I was learning was [Ringcentral](https://www.ringcentral.com/) api. I was looking for a service to send some messages. I am quite familiar with the twilio sdk and have used it for few of my projects before. But I knew [Mike Stowe](https://twitter.com/mikegstowe) worked for Ringcentral. And I luckily bumped into him at Developer Week 2020. In their [platform of learning](https://hub.gamechanging.dev/) and engaging with Ringcentral they have gamified the entire process of learning about their tech stack. Points for reading article as well as finding out where to find info if and when I would get stuck. Doing silly little photo challenges all made it enjoyable to do the tasks. The instant gratification of doing something and getting some points for doing it was great. 

I tried their Javascript SDK to test out sending a message to my phone and it was as easy as setting a new project up with a few lines of config and voila I had a message to my phone.

![](https://i.ibb.co/4415cR4/IMG-592-BF92-FB71-A-1.jpg)

They have a good number of language SDKs to choose from. 
[Getting Started with Starter Code](https://developers.ringcentral.com/guide/messaging/quick-start)

As of writing this article they did not have docs for Golang. But they do have an SDK. So I can integrate that into my application.

I think I will play with this a bit more. But so far it looks like it does all I need it to do anyway.
![Ever so delightful Mike Stowe](https://i.ibb.co/LCgnJs2/IMG-6023.jpg)
Day 83: All I Need
Tags: hiphop, code, coding, lifelongdev
Published: 2020-02-13 22:58:57

_liner notes_:
- Professional : Pretty full day. Had a couple of meetings. Reviewed a pull request for a Guide I wrote. Had a team meeting and got to see what demos they have been working on. Really interesting stuff. Worked on my blog post.

- Personal : Found out that an artist was trying to send music for the radio and it wasn't going through. Previously, I set the email address as a Google group and forwarded it to a Gmail account. I think Google changed some permission that prevents it. For now, I made a real account for the email address till I can come up with something else. Took a while to figure that out. Did some work on a side project and got a side scroller working the way I wanted. Also collected a lot of tracks to go through for this week's radio show.

![View of Engelberg, Switzerland from the water with first green mountains and then snow topped mountains in the background](https://dev-to-uploads.s3.amazonaws.com/i/qmfh5ch4nxy769dffhi4.png)

I think I may have all i need with tracks for this week's radio show. I just have to go through them and split them into groups. Hoping to get that done tonight. I'm out!

Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube KaVR3HlupTA %}
How many of y'all are using DEV Connect?
Tags: watercooler, meta
Published: 2020-02-13 22:50:43

I think DEV's chat feature is super cool, but I'm coming up on my two-year badge in a few weeks and I've still got enough fingers for each conversation I've had.  I get the sense that some people communicate this way more often, but I'm curious to get an overall temperature!

*Photo by Mihai Surdu on Unsplash*
Cynical Observations
Tags: hiptech
Published: 2020-02-13 22:41:00

---
title: Cynical Observations
published: true
description: Maybe you’ve had these thoughts. 
tags: hiptech
---

Fear of bad code makes more complex code. 

Docker. It works on my computer. Turns into a dance of 'docker-compose down, docker-compose rm blah, docker blah build, docker up --build'. Or if you’re a pro you’ve aliased everything. 

Webpack. Chrome is literally an operating system of power but we turned concatting files into a science degree. 

React. Where smart people write 50 line ternaries, overly complex mapping, and no reactive data.

React.
{% twitter 1256148180116353024 %}

Typescript. For those that fear they might have to look at the browser console with 0 runtime safety. 

Typescript.  Using dynamic object selection negates type safety.  So much for being DRY.

Kubernetes. Has your operations gotten cheaper?  Or how about that scale?

Graphql. A technology optimized for not talking with your team. Screw your pagination, infinite loops, duplicated queries. It’s  good for me now. 

Microservices. Imagine the unix philosophy, but instead it turns into networked, tightly coupled, dependencies.

Also microservices.  How many times have you synchronized deployments?

Terraform. Have you had a problem in the last 30 days that terraform solves?
XFCE issues after install Debian 10 (Buster) [with solutions]
Tags: linux, spanish, xfce, debian
Published: 2020-02-13 22:11:22

## *Problemas con XFCE después de instalar Debian 10 (Buster) [con soluciones]*

Bueno, pues he instalado Debian 10 en una laptop de recursos modestos con el fin de darle una segunda vida. Y aunque todo ha quedado de maravilla, en el camino se han presentado dos problemillas que aquí les comparto, así como lo que tuve que hacer para darles solución.

Espero que esto pueda servir como referencia para aquellos que pasen por un problema similar.

# El monitor se apaga al bloquear la pantalla (Screen turns off after locking screen)

Este fue el primer problema con el que me tope (y el más molesto). Cada vez que se bloqueaba la pantalla, el monitor se apagaba y no encendía aunque movieras el cursor o presionaras el teclado.

Googleando y probando por un rato, finalmente encontré una entrada en la [wikia de arch](https://wiki.archlinux.org/index.php/Intel_graphics#Xorg_configuration) que resultó funcionar para mi caso.

Como se puede leer en la entrada, la solución es muy sencilla. Solo basta con crear un archivo de texto llamado **20-intel.conf** dentro del directorio **/etc/X11/xorg.conf.d/** con el siguiente contenido:

```
Section "Device"
  Identifier "Intel Graphics"
  Driver "intel"
EndSection
```

Una vez creado y guardado el archivo, solo bastará con que reiniciemos el equipo para que el problema quede solucionado.

Este bug parece estar relacionado con los drivers de Intel, por lo que si tu maquina tiene algún procesador de esta compañía, podría ser que experimentes este problema de primera mano.

# Buscar en red no funciona en Thunar (Browse Network not working in Thunar)

En este caso aunque el problema no era molesto, sí que era crítico (al menos para mí). Ya que tengo varios equipos conectados en red y por ende varias carpetas compartidas a las cuales necesito acceder.

Aunque no tuve que experimentar mucho, sí que hice cosas como instalar Samba y todas sus dependencias (spoiler: no funcionó). Lo cierto es que la solución era igual de sencilla, solo debemos asegurarnos de tener instaladas en nuestro sistema las librerías `gvfs-fuse` y `gvfs-backends`.

En caso de no tenerlas, solo basta con ejecutar `apt install gvfs-fuse gvfs-backends` con permisos de root en nuestra terminal preferida. ¡Y listo! Ya podremos navegar por nuestras carpetas compartidas en red sin problemas.

-----

Detalles más, detalles menos, en resumen esos fueron los pequeños inconvenientes que se me presentaron y evitaron que pudiera decir que tuve una instalación sin contratiempos, a diferencia de otro equipo más potente que tengo, donde de igual manera tengo instalado Debian 10, pero con el entorno de KDE Plasma y que hasta el día de hoy no me ha presentado ningún problema.

Pero esto en el mundo de linux así es, dependiendo de tu distro, hardware, entorno de escritorio y demás puede que surjan (o no) estos detalles.

-----

Por mi parte esto seria todo, en caso de que surja otro *bug* con XFCE, en vez de crear otro post, estaría editando este.

Un saludo y gracias por leer.
Postgres Arrays: JOIN table with matching ids
Tags: postgres, database
Published: 2020-02-13 22:04:39

Postgres has a wonderful feature that allows you to store any [data type as an array](https://www.postgresql.org/docs/9.1/arrays.html). You can expand this to represent a one-to-many relationship and use it like so

```sql
SELECT u.*
FROM unnest(ARRAY[31,32,410]) user_id
LEFT JOIN user u on u.id = user_id
```

Be aware of potential issues when working with arrays though. While they are good if you want to store point-in-time data where you "write and forget", maintaining such data model can be troublesome:
* No foreign keys support for arrays
* Limited support in ORMs and libraries
* To update an array you need to re-write all of it
Looking for developers
Tags: c, python, contributorswanted
Published: 2020-02-13 21:30:50

I'm looking for people to contribute to open-source project Dulang programming language. https://github.com/Orfund/dulang
It's written in C-99 so low-level developers (and documentation writers) mostly wanted.
Please contact me on:
Twitter: @web_develop_
VK: @deemazs
Email: cendleader@gmail.com

Or write comments here. I rely on your activity
CSS Snippet: ::first-letter
Tags: css, design, text, formatting
Published: 2020-02-13 20:45:54

---
title: CSS Snippet: ::first-letter
published: true
description: Make your first word count
tags: css, design, text, formatting
---
# Textual design?
Text in design patterns doesn't seem to come up much on the web.  I mean, sure it's talked about but it doesn't seem as exciting to talk about as perhaps CSS Grid or Flexbox etc. To me, this is a shame because we read **text** all the time, so it makes sense to try new ways of displaying text. 

I was struck by some of [Jen Simmons'](https://twitter.com/jensimmons) talks on css and subsequently I went on a journey of discovery in css. And...I found out **A LOT**, but today I'm only going to quickly talk about styling **first-letter**. It's a good feature to try out since it has major support in browsers (about 97% at the time of writing this article).

### First Letter Styling

Let's start with a basic sentence with no styling. (as seen below)


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


So how can we safely spice this up?  Well, I suggest that we use **::first-letter** (see below)

```css
::first-letter 
```

The great thing with first letter is that we can easily change the element's **first-letter's** color and size (for example) without worring about browser compatibility since it is supported by **97%** of browsers (about the same as browser support for **flexbox**).  And as you can see **below**. The effect can drastically change the plain design into something much more eye-catching.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/bld3g4q9g68uhxjl0u52.jpg)


```css
p::first-letter {
        color: tomato;
        font-size: 3rem;
      }
```

Whilst that might not seem life changing, it is something I think we should be experimenting with more often.  I know I will be.

Okay, that's it from me today.  I know it was super short, but I just wanted to share the knowledge about **first-letter** styling. The rest is up to you!
How to Find a Tech Job in Politics
Published: 2020-02-13 19:37:22

In order to win in 2020, progressives need unprecedented mobilization. The only way to scale that mobilization is through technology and people power. We need the best and the brightest in technology to step up — and Cultivate has the tools to help you find a job in progressive politics: https://compassfellowships.org/

Read more about why this matters in 2020: https://medium.com/@cultivateteam/how-to-find-a-tech-job-in-politics-ebc6110431c9
Why Flask?
Tags: python, flask
Published: 2020-02-13 19:30:08

<a href="https://flask.palletsprojects.com/">Flask</a> lets you build web apps with Python. It lets you build both simple and complex web apps (<a href="https://pythonbasics.org/what-is-flask-python/">what is Flask</a>). 

I like it over <a href="https://www.djangoproject.com/">Django</a> because you are in full control of the architecture choices. But of course, you should make your own choices. Perhaps you prefer <a href="https://www.tornadoweb.org/">Tornado</a>

Django makes a lot of choices for you, like that you have to use an <a href="https://en.wikipedia.org/wiki/Object-relational_mapping">ORM</a> (Object-relational mapping). In general I prefer having raw SQL queries than using an ORM.

Flask was made several years after Django and therefore learned from the Python community's reactions.

## Why Flask

There are many reasons to choose Flask. For one it's a microframework, so you can learn it quite fast. Some other reasons to choice Flask are:

* Flask is actively maintained and developed 

* It is extensible while maintaining a simple core

* The documentation is great

* It's easy to <a href="https://pythonbasics.org/flask-tutorial-hello-world/">get started with Flask</a> as a beginner. There is a tiny boilerplate code for getting a simple app up and running.

* It saves you development time (Easy to <a href="https://www.pythonanywhere.com">deploy</a> Flask apps)

<img src="https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fimage.slidesharecdn.com%2Fflaskpython-130201154928-phpapp01%2F95%2Fflask-python-2-638.jpg%3Fcb%3D1359733858&f=1&nofb=1" alt="flask meme">

## Flexibility

It has a template engine available (<a href="https://pythonspot.com/jinja2-template-engine/">Jinja2</a>) but you are not forced to use it. If you prefer using your own engine, you can with Flask. This flexibility is one of the great things about Flask.

In fact, if you want to return just plain html you can.

```python
@app.route('/')
def root():
    return app.send_static_file('index.html')
```

It relies on a plug-gable approach, the developer can include the modules he or she needs for the project.
 
## Conclusion

Flask is great (in my opinion), but you should use what makes most sense to you. If you already have a project in another framework, it may not be the best idea to rewrite the whole code.

**Related links:**
* <a href="https://flask.palletsprojects.com/">Flask web framework</a>
* <a href="https://pythonbasics.org/what-is-flask-python/">What is Flask</a>
Why is Tailwind Letter Spacing named Tracking and Line Height, Leading?
Tags: tailwindcss, devjournal
Published: 2020-02-13 19:19:09

---
title: Why is Tailwind Letter Spacing named Tracking and Line Height, Leading?
published: true
tags: tailwind, tailwindcss, devjournal
canonical_url: https://sung.codes/blog/2020/02/11/why-is-tailwind-letter-spacing-named-tracking-and-line-height-leading/
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/lah0wlhb6hbpksmq73ut.jpg
---

Tailwind names [Letter Spacing](https://tailwindcss.com/docs/letter-spacing/) utilities with `tracking-*` and [Line Height](https://tailwindcss.com/docs/line-height/), `leading-*`.

TIL that they are Typographical terms.

## Letter-spacing (Tracking)

They are typographical terms according to Wikipedia entries.

> In typography, `letter-spacing`, also referred to as `tracking` by typographers, refers to an optically consistent degree of increase (or sometimes decrease) of space between letters to affect visual density in a line or block of text.  
> -- <cite><a href="https://en.wikipedia.org/wiki/Letter-spacing">Letter-spacing</a> on Wikipedia</cite>


Remember it as "tracking spaces"

## Line-height (Leading)

> In CSS, `leading` refers to the difference between the content height and the value of the `line-height` property. Half the leading is called the half-leading. User agents center glyphs vertically in an inline box, which adds half-leading on the top and bottom. For example, if a piece of text is "12pt" high and the line-height value is "14pt", 2pt of extra space should be added: 1pt above and 1pt below the text (this applies to empty boxes as well, as if the empty box contained zero-height text).  
> -- <cite><a href="https://en.wikipedia.org/wiki/Leading#On_the_World_Wide_Web">Leading</a> on Wikipedia</cite>

Remember it as ??? Any good example?

* * *

Image by [Peter H](https://pixabay.com/users/Tama66-1032521/?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=2439189) from [Pixabay](https://pixabay.com/?utm_source=link-attribution&utm_medium=referral&utm_campaign=image&utm_content=2439189)
Yes, We Still Use TFS
Tags: powershell, tfs, versioncontrol, workarounds
Published: 2020-02-13 19:12:46

My employer uses Microsofty technologies in its backbone. We have a large, entertwined codebase that loads 150+ projects at once, and yes, we still use TFS, not git.

We mark some items for manual merge due to the quirks of our processes, using Visual Studio slns, and Reasons, okay, for *reasons*.

#The problem?

No, the answer isn’t that we still use TFS, and not distributed version control. I mean it is an aspect, but that’s not the problem. The problem is we have years of unmerged items due to some checkins requiring careful hand merging or manual changes.

Just trust me. For Reasons.

TFS means VisualStudio, and merging in the Visual Studio UI means retrieving merge candidates. And that list is long.

I don’t much care for lifting my hands from the keyboard, much less waiting for long lists to load OVER AND OVER, so, for the standard merge, I wrote a powershell script. Wait. No. I went further and wrote a MODULE.

![Demo of performing a merge with my powershell](https://ohmonster.io/files/2020/02/Merge-Code-autoComplete.gif)

I could have used a library but our needs are simple.
* Merge a changeset or range of changesets
* Make the original comment (where we have a standard of including the work item ID as well) easily accessible.

This module isn’t not perfect. It doesn’t automatically setup or detect workspaces. It doesn’t checkin the subsequent merged files. You have to open it up and update
* The path tfs.exe is suitable for your machine, are any paths to where you keep your local versions of the codebase.
* That you’ve defined the names of any projects and your project default
* The url to the collection on the server

If you want a reminder, this is what command line merging with tf.exe looks like when you have it in  your path, and no workplace shenanigans or mismatches

```powershell
cd <local directory with repo files>
tf vc merge /recursive $/VersionControl/Source/Path $/VersionControl/Destination/Path /version:C<ChangesetId>~C<ChangesetId>
```

And now I have
```powershell
Merge-Code Dev Test 12345
```

Instead. Less to remember. Less to edit. Faster.

Merge conflicts open in their own window, and the pending items show up in VS. The script copies the checkin comment of the first changeset in the range, and I paste that in without having to look it up.

Not exciting, is it? But it vastly speeds up our workflows.

##Get the goods
{% gist https://gist.github.com/ohmonster/eeb5326792022264f868118e4b098a29 %}
How do you maintain your security and privacy?
Tags: security, privacy, discuss
Published: 2020-02-13 19:03:23

macOS
- [Brave Browser](https://brave.com/)
- [OpenVPN](https://openvpn.net/) via [SkyHole](https://github.com/cristian-rivera/skyhole)
- [Pi-hole](https://pi-hole.net/) via [SkyHole](https://github.com/cristian-rivera/skyhole)
- [1Password](https://1password.com/)
- [GPG Suite](https://gpgtools.org/)
- [macOS-Security-and-Privacy-Guide](https://github.com/drduh/macOS-Security-and-Privacy-Guide)

iOS
- [OpenVPN](https://openvpn.net/) via [SkyHole](https://github.com/cristian-rivera/skyhole)
- [Pi-hole](https://pi-hole.net/) via [SkyHole](https://github.com/cristian-rivera/skyhole)
- [1Password](https://1password.com/)

## Brave Browser
I recently started using Brave as my daily browser, and I couldn't be happier. I was using the latest Firefox but noticed a few websites didn't render correctly. Brave is built on Chromium and is Chrome without Google plus more security features built right in. The best part is, all of your existing Chrome extensions will continue to work in Brave.

## OpenVPN and Pi-hole
I recently wrote a post regarding OpenVPN and Pi-hole. More information on both of these great projects can be found [here](https://dev.to/cristianrivera/skyhole-privacy-in-a-digital-age-ak2).

## 1Password
I'm not sure what I would do if I never found 1Password. It's a password manager loaded with features, and they have a ton of [information](https://support.1password.com/1password-security/) related to the security practices they employ. Fast forward a few years, and now all of my login passwords are unique and consist of 64 alphanumeric characters, including symbols. It even supports two-factor authentication out of the box.

## GPG Suite
Granted, I don't use GPG to its full potential, but it doesn't hurt. Public/Private key cryptography is very popular. At the moment, I sign all of my Git commits and emails using GPG so their authenticity can be validated at any point in the future. Public-key cryptography is a method that I want to utilize more in the future.

## macOS-Security-and-Privacy-Guide
[drduh](https://github.com/drduh) has compiled a vast collection of techniques for improving the security and privacy of a modern Apple Macintosh computer. Many of the methods are extreme and require quite a bit of technical know how but many are painless to implement and go a long way.