teleren/devto huggingface dataset:
Heroines of JavaScript series: Lauryn & Layla interview Diana Rodriguez
Tags: diversity, javascript, girlswhocode, womenintech
Published: 2019-07-15 18:03:12

---
title: Heroines of JavaScript series: Lauryn & Layla interview Diana Rodriguez
published: true
description: As part of our Heroines of JavaScript series, Lauryn & Layla interview Diana Rodriguez.
tags: diversity, javascript, girlswhocode, womenintech
cover_image: https://user-images.githubusercontent.com/1228996/61232203-6697d100-a6f3-11e9-80a7-7751266697d1.png
canonical_url: https://baldbeardedbuilder.com/streams/Heroines-of-JavaScript-series-with-Diana-Rodriguez/
---

## Stream Replay Link

[https://youtu.be/M6PgSeoMCAE](https://youtu.be/M6PgSeoMCAE)

<!--more-->

### Segments

| Timestamp | Topic                                                               |
| ---       | ---                                                                 |
| 00:07     | Getting started                                                     |
| 00:20     | Interview with [Diana Rodriguez](https://twitter.com/cotufa82)                                      |
| 01:31     | Adding the ability to !mark to create these segments from chat      |
| 02:50     | Wrapping up and raid to [TimBeaudet](https://twitch.tv/timbeaudet)  |

---

### Today's Candle To Code By

[Whiskey and Cigar (The Den)](https://amzn.to/30ttzO6)

---

## Goals

- [x] Interview with Diana Rodgriguez

## Things we learned

- [BlueberryKing](https://twitch.tv/BlueberryKing) shared that the length parameter of JavaScript's `.splice` method isn't required if you want the entire remainder of the string.

---

## Today's stream brought to you by

### Subscribers

- [mirluexe](https://twitch.tv/mirluexe) `Gifted by roberttables`
- [h0usebesuch](https://twitch.tv/h0usebesuch) (3 mo)

### Cheers


| Compadre            | Bits        |
| ---                 | ---         |
| [copperbeardy](https://twitch.tv/copperbeardy) | 110 |
| [roberttables](https://twitch.tv/roberttables) | 220 |
| [FBoucheros](https://twitch.tv/fboucheros) | 55 |

### Raids


| Marauder            | Accomplices |
| ---                 | ---         |
| [cmgriffing](https://twitch.tv/cmgriffing) | 39 |
Why is Slack changing its internals?
Tags: question, slack, asar, electron
Published: 2019-07-15 18:01:18

---
title: Why is Slack changing its internals?
published: true
description: Slack v4.0 is out, and ssb-interop.js is gone.
tags: question, slack, asar, electron
---

[This post](https://dev.to/changoman/easy-dark-mode-for-slack-1mmn) by @changoman inspired many tools for changing Slack's visual themes.

It used to be fairly easy to find and edit Slack's ssb-interop.js file, to load a custom CSS which would change the way it looked.

With the recent release of v4.0, the file is gone, and exists as a bundled file within `app.asar`, a compressed file.

To achieve the same functionality, you'd have to extract `app.asar` into a folder, edit the `dist/ssb-interop.bundle.js` file, and compress the folder back into `app.asar` before restarting the application.

This means, that Slack's program loads content from the compressed file. 

I wonder what the benefits of such an arrangement would be to Slack's internal architecture. Does anyone know?
Do you prefer handwritten or typed notes?
Tags: dicuss, productivity, learning, watercooler
Published: 2019-07-15 17:12:07

---
title: Do you prefer handwritten or typed notes?
published: true
description: Fellow devs, how do you take notes when learning a new programming concept?
tags: #dicuss, #productivity, #learning, #watercooler
---

After writing about [my note-taking process](https://dev.to/scrabill/how-i-approach-notetaking-as-a-developer-c7a), I started to wonder how other developers keep their notes. 


{% twitter 1150593609374281728 %}


Which note-taking format do you prefer? Have you experimented with other notetaking formats?
PowerShell LINQ with Short Aliases
Tags: powershell, terminal, linq
Published: 2020-03-24 11:36:09

---
title: PowerShell LINQ with Short Aliases
published: true
date: 2019-07-15 17:04:00 UTC
tags: powershell, terminal, linq
canonical_url: https://sebnilsson.com/blog/powershell-linq-with-short-aliases/
---

Most modern applications or code today deal with some kind of filtering or querying. In C# and .NET, we have [Language Integrated Query (LINQ)](/blog/tag/?t=linq), which we also have access to in PowerShell, because it's built on .NET.

To list the top 10 largest files in the Windows temporary folder, which is larger than 1 Mb and starts with the letter W, skipping the first 5, ordering by size, the C#-code with LINQ would look somewhat like this:

```
new System.IO.DirectoryInfo(@"C:\Windows\Temp")
    .GetFiles()
    .Where(x => x.Length > 1024 && x.Name.StartsWith("W"))
    .OrderByDescending(x => x.Length)
    .Select(x => new { x.Name, x.Length })
    .Skip(5)
    .Take(10)
    .ToList()
    .ForEach(x => Console.WriteLine($"{x.Name} ({x.Length})"));
```

The equivalent logic in PowerShell has a bit of a more daunting syntax, especially if you're not used to it:

```
Get-ChildItem "C:\Windows\Temp" `
| Where-Object {$_.Length -gt 1024 -and $_.Name.StartsWith("W")} `
| Sort-Object {$_.Length} -Descending `
| Select-Object -Property Name, Length -First 10 -Skip 5 `
| ForEach-Object {Write-Host "$($_.Name) ($($_.Length))"}
```

That's **a bit explicit and verbose** , but if you use the command `
    Get-Alias` in PowerShell, you will see a lot of useful aliases, which make the syntax a bit terser and easier to get an overview of:

```
gci "C:\Windows\Temp" `
| ?{$_.Length -gt 1024 -and $_.Name.StartsWith("W")} `
| sort{$_.Length} -Descending `
| select Name, Length -First 10 -Skip 5 `
| %{write "$($_.Name) ($($_.Length))"}
```

In a real scenario, you probably wouldn't write each result to the console, but let PowerShell present the result in its default grid format.
AWS Advice
Tags: aws, linux, beginners, help
Published: 2019-07-15 16:59:26

I've been struggling with getting started with AWS EC2. It took me a long time to even wrap my head around what that meant. There are so many articles and video tutorials out there on this stuff. That in itself is overwhelming. Often outdated immediately after publishing. 

Some tutorials say _choose this option_, and that option ends up not existing or is named something different. It's really frustrating. And while AWS does have extensive documentation I find I face the same issues there as well.

I'm not a n00b necessarily with linux, but definitely a novice. I learn best by watching others, and or driving under supervision. So, if anyone knows of any decent, yet current, resources or is (shot-in-the-dark) willing to assist me, I would greatly appreciate it!
Whats your thoughts on using a DI Package for IOC within a node project?
Tags: discuss, webdev, typescript
Published: 2019-07-15 16:58:14

---
title: Whats your thoughts on using a DI Package for IOC within a node project?
published: true
tags: discuss, webdev, typescript
---


I need some opinions on using DI package such as InversifyJS, with in your node projects (typescript). I’m torn on this. I come from a OOP background and it’s a given for other languages I’ve used. However, I’ve learned early on the “why, it’s js” approach, where “it’s not needed”. My team and I are in discussion on the topic. What is your thoughts on it?

if you're able to, please provide examples of how you solved that same issues as InversifyJS did.
Enhance image with Python PIL
Tags: python, image
Published: 2019-07-15 16:51:11

---
title: Enhance image with Python PIL
published: true
description: python, image
tags: python, image
cover_image: https://res.cloudinary.com/practicaldev/image/fetch/s--yvMKjVJz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/n2ky1i4un4qxyyn8h4an.jpg
---
Python can be used to play around with images. This is a lot more fun than text. In this article we'll use a simple jpg image. That jpg image will be manipulated.

Images can be enhanced with Python PIL. What does enhanced mean?
It means change in:

* Brightness(image)
* Color(image)
* Contrast(image)
* Sharpness(image)

As input image we'll take the famous Lena image. This is an image that's often used in image processing.

<img src="https://thepracticaldev.s3.amazonaws.com/i/n2ky1i4un4qxyyn8h4an.jpg">

### And so you code

Load the PIL module like this:

    from PIL import Image
    from PIL import ImageEnhance

To load and show an image:

    image = Image.open('lena.jpg')
    image.show()

The image 'lena.jpg' must be in the same directory as program. If it's not, write a path to the image in front of it.

### Enhancement

Ok so now you know how to load the PIL module, load an image and show it. What about the magic?

There are different methods to enhance an image:

    ImageEnhance.Brightness(image)
    ImageEnhance.Color(image)
    ImageEnhance.Contrast(image)
    ImageEnhance.Sharpness(image)

The app below does all the magic. The method enhance() takes a parameter that you can play around with.

    #!/usr/bin/python3
    #-*- coding: UTF-8 -*-   
     
    from PIL import Image
    from PIL import ImageEnhance
    
    image = Image.open('lena.jpg')
    image.show()
    
    enh_bri = ImageEnhance.Brightness(image)
    brightness = 1.5
    image_brightened = enh_bri.enhance(brightness)
    image_brightened.show()
    
    enh_col = ImageEnhance.Color(image)
    color = 1.5
    image_colored = enh_col.enhance(color)
    image_colored.show()
     
    enh_con = ImageEnhance.Contrast(image)
    contrast = 1.5
    image_contrasted = enh_con.enhance(contrast)
    image_contrasted.show()
     
    enh_sha = ImageEnhance.Sharpness(image)
    sharpness = 3.0
    image_sharped = enh_sha.enhance(sharpness)
    image_sharped.show()

Related links:

* <a href="https://pythonware.com/products/pil/">Python Image Library (PIL)</a>
* <a href="https://pythonbasics.org/">Learn Python programming</a>
Happy birthday to Stack
Tags: jokes
Published: 2019-07-15 16:32:43

---
title: Happy birthday to Stack
published: true
description: 
tags: jokes
cover_image: https://thepracticaldev.s3.amazonaws.com/i/gc2ir5ogm3qqh38i9bqu.jpg
---

![](https://thepracticaldev.s3.amazonaws.com/i/3uyxt67xypfnsvoaddjv.jpg)
Book Review: Strategic Writing for UX by Torrey Podmajersky
Tags: bookreview, technicalcommunicat, ux
Published: 2019-07-15 16:21:37

---
title: Book Review: Strategic Writing for UX by Torrey Podmajersky
published: true
tags: Book review,book review,technical communicat,ux
canonical_url: https://heidiwaterhouse.com/2019/07/15/book-review-strategic-writing-for-ux-by-torrey-podmajersky/
---

Disclosure: I got a review copy of this book.

Further disclosure: Torrey is part of the pink-haired tech people. We are legion.

* * *

This book is a snappy and sharply-focused exploration of the words that make the magic happen in user interfaces. Podmajersky accurately identifies places that more needs to be said, and then avoids them, because this is not that book. It’s honestly inspirational to me as a writer, and it keeps this book very tight.

In many ways, it reminded me of Kathy Sierra’s amazing book, _Badass: Making Users Awesome_ – both books have that relentless focus on users, experience, and empathy. The two most useful sections \_Strategic Writing for UX\_, for me, were the chapter on editing iteratively to achieve specific goals, and the chapter on UX text patterns, which broke down and named a lot of things I knew but hadn’t had good vocabulary for.

This book is so concise and usable that I’m going to add it to the library at work, because I think it benefits everyone to have a shared vocabulary around this, even if we aren’t directly doing design or development. It’s full of pithy and hard-hitting quotes that I want to pin on my wall, like:

> Humans can’t improve when they don’t have feedback. We can make changes, but we can’t determine whether those changes are good are bad if we aren’t paying attention.

and

> The most essential usability is accessibility.

Read if:

- You don’t have a UX person or team, but you’re pretty sure UX needs to happen to your product
- You are the UX person and you’re looking for a way to organize your 30/60/90 day plan and explain the business value of your work to other people
- You’re a developer and you think UX isn’t your problem. (It is)

Skip if:

- You are only talking to machines all day
- (You should still read the section on error messages)

Also read:

- Badass: Making Users Awesome by Kathy Sierra
- Slack’s Voice and Tone Guide ([https://api.slack.com/start/designing/voice-tone](https://api.slack.com/start/designing/voice-tone))

![A book cover for a book called Strategic Writing for UX by Torrey Podmajersky, published by O Reilly. It has a catbird on the cover.](https://heidiwaterhouse.com/wp-content/uploads/2019/07/20190704_190137.jpg)
How to Structure a Typical Vue.js App
Tags: vue
Published: 2019-07-15 15:38:33

I'm a Vue n00b. After having watched some videos and read a few tutorials I'm still not entirely sure if I'd need multiple Vue instances, i.e., one for every control I want to work with (and on a form with numerous inputs that could get pretty complex), or if there's only supposed to be one Vue instance and perhaps you create multiple "components"?

Any help would be greatly appreciated!
The "Ultimate" list for remote developer jobs
Tags: resource, discuss, remote
Published: 2019-07-15 15:32:12

Working remotely is something more and more people are interested in, for various reasons. Some want to improve their work-life balance. Others want to live the life of a digital nomad and submit their next pull request from a beach in Indonesia. Others simply want to extend their reach beyond the opportunities available in their local environment.

Remote work also doesn't have to mean being a freelancer. There are more and more companies that build distributed teams. So where do you find these companies and these jobs?

Here below is a list of reputable job boards where you can find remote positions. Some also have local jobs as well, so they are also worth keeping an eye on.

Do you have any other job board you can recommend for remote developer jobs?

* [Angel List Jobs](https://angel.co/jobs)
* [Authentic Jobs](https://authenticjobs.com/)
* [Creative Mornings Jobs](https://creativemornings.com/jobs)
* [CSS Tricks Jobs](https://css-tricks.com/jobs/) and [CodePen Jobs](https://codepen.io/jobs/)
* [Epic Jobs](https://epicjobs.co/)
* [GitHub Jobs](https://jobs.github.com/)
* [Product Hunt Jobs](https://www.producthunt.com/jobs)
* [Remote OK](https://remoteok.io/)
* [Remote.com](https://remote.com)
* [Remotive.io](https://remotive.io/)
* [Smashing Magazine Job Board](https://www.smashingmagazine.com/jobs/)
* [Stack Overflow Jobs](https://stackoverflow.com/jobs/)
* [We Work Remotely](https://weworkremotely.com)

Cover image from [unDraw](https://undraw.co/)
Is my code self-documenting?
Tags: python, documentation
Published: 2019-07-15 14:55:53

---
title: Is my code self-documenting?
published: true
description: There's a myth in the development community and internet that good code is self-documenting. Mine definitely is.
tags: python, documentation
---

So you know how some people say that "Good code documents itself"?

Is this what they meant?

```python
def self_documenting_sum(a, b):
    with open(__file__, 'r') as source:
        data = source.read().split('\n')

    with open(__file__, 'w') as source:
        if not data[1].startswith('    "'):
            documentation = '    """Sums up two integers"""'
            new_source = data[:]
            new_source.insert(1, documentation)
            source.write('\n'.join(new_source))
        else:
            source.write('\n'.join(data))
    return a + b


print(self_documenting_sum(2,5))
```

(It's a Python script that adds docstring to its only function on the first run.)

**edit**: I expanded on the idea a bit in [hamatti/self-documenting-code](https://github.com/Hamatti/self-documenting-code)
Play With Mattermost
Tags: team, go, api, productivity
Published: 2019-07-15 14:06:06


Mattermost provides a series of API to interact with the server.

Let's create a service to post Mattermost message daily if we have new orders.

The new order message contains a plaintext message and an Excel file, which is generated by the service as well.

The message contains Emoji, just include them as plaintext.

We have new orders today!! :clap::clap:


```go
msg := "We have new orders today!! :clap::clap:"
```

Upload the file first so that the post can include it by adding the file ID. `data` is the file content.


```go
frsp, rsp := cli.UploadFile(data, chann_id, fd.Name())

```

Great! Now the file IDs are in `frsp`, which is a `FileUploadResponse`. Extract them and save in `file_ids`. 

```go
  post, rsp := cli.CreatePost(&mm.Post{
    FileIds: file_ids,
    ChannelId: chann_id,
    Message: msg,
  })

```

Then we have a new post on the channel with `chann_id`, members on that channel can see it. :D


## See also
- [Mattermost Github](https://github.com/mattermost/mattermost-server)
- [Mattermost](https://mattermost.com)
- [Bots API](https://api.mattermost.com/#tag/bots)
useScrollInfo() Hook
Tags: react, hooks, scroll
Published: 2019-07-15 14:28:34

---
title: useScrollInfo() Hook
published: true
description: Searching for a simple react hook
tags: react, hooks, scroll
---

Hi,

I am searching for a simple solution to detect the scroll direction (and scroll position) within a react functional component. The difficult part for my case is that I am using `nextjs` so my react app is a ssr app. I dont have access to `window` or `document`.
No, you're not stupid! 
Tags: beginners, discuss, career, motivation
Published: 2019-07-15 14:27:44

Trying to start a community to help up-and-coming developers has reminded me of how I felt at the start. 

There's a reason I only know one spoken language (English). Learning languages is hard.

That extends to learning a development language, too. It's really hard at the start. You've got to learn all these new concepts, none of which come naturally. 

You may even be surrounded by people that do know what they're talking about, or at least, appear to, and you're starting to feel like you're stupid and can't make it in this industry. 

Let me just tell you - you're wrong. You're not stupid and you can make it. 

If anybody is telling you otherwise, you MUST stop listening to them. They are wrong. 

I don't care if they've been developing for 40+ years and are a "wizard". They've just forgotten what it was like at the start. We ALL struggled at the start. 

Find someone that will help you, not belittle you, when you have questions and you'll flourish. 

If you need some support, reach out to me. I'm not linking back to my "community" because this isn't about "advertising" my thing, this is about you knowing you can do it - no matter what anybody else thinks. 

![You can do it!](https://media.giphy.com/media/yoJC2K6rCzwNY2EngA/giphy.gif)
Ultralearning
Tags: learning, beginners, career
Published: 2019-07-15 14:10:28

---
title: Ultralearning
published: true
description: 
tags: learning, beginners, career
---

[Ultralearning](https://www.scotthyoung.com/blog/ultralearning/) is a book by [Scott H. Young](https://www.scotthyoung.com/) on mastering hard skills and accelerating your career.

> Ultralearning is a strategy for aggressive, self-directed learning.

It's available for [pre-order](https://www.scotthyoung.com/blog/ultralearning/).

> A four-year degree used to be a guarantee for a great career. Now it’s barely a foot in the door.

> Ultralearning offers an alternative. Instead of going back to school, learn the hard skills to get into a new career or make yourself indispensable in your current work. Rather than struggle to keep up, learn to adapt and thrive. Stop wasting time, and instead give your life new meaning and confidence by getting good at something you’ve always wanted to learn.

Personally, I can't wait to read it.
Learn jQuery Animate method on Youtube
Tags: javascript
Published: 2019-07-15 14:01:22

The [jQuery Animate](https://www.yogihosting.com/jquery-animate/) method, as all of us know, is used to make great animation effect on web pages quite easily. It is also very easy to learn, hardly takes 15 minutes of your time. 

## Syntax

`$(selector).animate({params},speed,callback)`

## Example

Let us see a simple example where I will be animating a square from left to right.

The code for this is:
`
$("#div1").animate({ left: '250px' });
`
Here 'div1' is the square, to whom you can provide any size or color using your normal CSS.

And when you run your web page, It will look like this:

![alt text](https://www.yogihosting.com/wp-content/uploads/2017/11/moving-element-left-right-with-animate.gif "jQuery animations")

Isn't this method great?
Let me know your thoughts.
Baixar filmes e baixar séries online
Published: 2019-07-15 13:45:05

Você já conhece o melhor e mais organizado site para [download de filmes](https://baixar.club) e [download de séries](https://baixar.club) do Brasil? Chega de entrar em sites cheios de anúncios e ficar caçando o link para baixar no meio de uma multidão de link, acesse e mude esse conceito.

BAIXAR.CLUB

Sem dúvida, o lugar certo para download de filmes e download de séries.

TAGS:

baixar filmes, baixar séries, filmes online, filmes online grátis, filmes para baixar, torrent, filmes dublados, filmes legendado, filmes grátis, filmes 1080p, filmes 720p, filmes 4K, séries online, séries online grátis.
Whats your daily tool chain these days?
Tags: discuss
Published: 2019-07-15 13:24:11

---
title: Whats your daily tool chain these days?
published: true
description: Technology changes faster than every, as a point in time reference, what is your daily tool chain today?
tags: discussion
cover_image: https://image.dhgate.com/0x0/f2/albu/g6/M01/11/17/rBVaR1rdUAqAQKcgAAGfXhR1UmM562.jpg
---

What are the tools you use daily today? Be as detailed or specific as you want.

- Ansible
- AWS
- Containerization (Docker mainly)
- GCP
- Kubernetes
- Linux (Debian / Ubuntu) & related CLI tools
- Terraform
- VS Code
- Web browser (Chrome, Firefox)
Friday Blast #74
Tags: fridayblast, links, post
Published: 2019-07-14 10:14:14

---
title: Friday Blast #74
published: true
tags: friday_blast,links,post
canonical_url: https://horia141.com/friday-blast-74.html
series: "Friday Blast"
---

[On being a pricipal engineer (2019)](https://blog.dbsmasher.com/2019/01/28/on-being-a-principal-engineer.html) - many tech companies have a “Pricipal” role on the individual contributor career ladder, and it’s usually pretty high there. The author describes what it means to operate at that level in their company, but I think it translates well across the board.

[Logs vs structured events (2019)](https://charity.wtf/2019/02/05/logs-vs-structured-events/) - I’ve been at places where we were very stingy with what we logged, and at places where we log _everything_. Definitely prefer the latter - which the author calls structured events. Modern storage systems do a well enough job of handling unstructured logs, so there’s no reason not to use them to their fullest!

[Don’t follow the sun (2019)](https://lethain.com//dont-follow-the-sun/) - advice on setting up on-calls. More precisely Will (whose new book I’m reading and will review shortly) proposes that on-call be a 24/7 affair for folks who are on it, rather than a 9-5 thing split between geographically distributed team, because it first turns it into a thing which “must be under control” rather than a continuous fire and second, it reduces handoff errors (which is why, for better or worse is why you see insane shifts in medicine).

[Get your work recognized - write a brag document (2019)](https://jvns.ca/blog/brag-documents/) - I’ve been doing this for a while, but I liked the title, and there’s a bunch of extra stuff in there to make it _better_.