teleren/devto huggingface dataset:
The violence in asking “What is the goal?”
Tags: dailywriting
Published: 2019-05-21 17:35:28

---
title: The violence in asking “What is the goal?”
published: true
tags: daily-writing
canonical_url: https://marcusblankenship.com/the-violence-in-asking-what-is-the-goal/
---

> Chris, a Senior Programmer, leaned on the table as Bill wrapped up his proposal about improving the dev process.
> 
> Chris unleashed a short, sharp question:_“Bill, what’s the goal here?”_
> 
> Just as expected from a virtual punch in the face, Bill looked stunned.
> 
> Staggering a bit, Bill tried to defend, _“Chris, we’re trying to reduce the timeframe for Alpha Project’s next update.”_
> 
> Chris delivered his next blow, _“Is that the right goal? Is that what’s most important?”_
> 
> Bill looked helplessly at the room, which had grown silent.
> 
> Finally the director stepped in, _“Bill wanted to see if our process could be improved and bring ideas to the group, so I agreed. Nothing’s set in stone, we’re just brainstorming here. Thanks for putting this together, Bill, we’ll review and consider it. Moving on to new business…”_

**It seems to me when someone doesn’t like an idea, they might attack it by asking, _“What’s the goal?”_**

Now that I think of it, I’m not sure I’ve ever heard this question asked when someone likes an idea.

To observers, it might not seem like an attack.

And the speaker might not even intend to attack.

But, I can tell you from experience, it might certainly feel like an attack.

## The dark side of a question

Questions have a particular disruptive power.

It’s like they hack deep into our brain and interrupt the directions we were heading with our thoughts.

When someone else is talking, your question is almost always going to shift the conversation in a new direction.

It could build up, tear down, or derail entirely.

When asked by someone with more power, this can have a 10x effect.

Learn to use them sparingly and become aware of their power.

## #ProTip for asking questions

If a question comes to mind when someone is presenting/talking, write it down immediately to avoid the urge to speak it.

Then sit with it for five minutes.

If you still want to ask it, ask yourself, “How will this change the direction of the discussion?”

If you still want to move it in that direction, ask yourself, “Is this the right time to change the direction?”

Then sit on it another full five minutes before you ask it.

I’ve been surprised that writing it down often relieves the urge to ask it.

And that many of my “important” questions don’t pass those two tests.

How do you see questions used in discussions where you work?

Best,  
Marcus

The post [The violence in asking “What is the goal?”](https://marcusblankenship.com/the-violence-in-asking-what-is-the-goal/) appeared first on [Marcus Blankenship](https://marcusblankenship.com).
Who were you again?
Tags: showdev, product, tips
Published: 2019-05-21 20:19:45

---
title: Who were you again?
published: true
tags: showdev, product, tips
canonical_url: https://miguelpiedrafita.com/product-emails/
cover_image: https://images.unsplash.com/photo-1557200134-90327ee9fafa?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=1080&fit=max&ixid=eyJhcHBfaWQiOjExNzczfQ
---

I get a lot of different emails every day, maybe because I have the habit of leaving my email on any website I consider somewhat interesting. And since I joined the maker community, the number of websites I consider interesting has rapidly increased, leaving me with an inbox that looks like this:

![Who were you again?](https://miguelpiedrafita.com/content/images/2019/05/Image-2019-05-19-at-10.00.16-PM.png)<figcaption>Breakdown of the emails I received last week. For some people 340 emails/week may not be a lot, but for me, it's in the limit of what I can handle.</figcaption>

With an inbox of this magnitude, I get multiple emails along the lines of this every week:

![Who were you again?](https://miguelpiedrafita.com/content/images/2019/05/mail.google.com_mail_u_0_--1-.png)<figcaption>Thank you for the updates Richard, but I forgot what PiedPiper was two weeks ago</figcaption>

Don't get me wrong, I love to get updates on what others are working on. My problem here is that I have no way of differentiating your product from the other fifty I signed up for, and there's no easy way to get more information either. Just because you've had your product on your head since you started working on it doesn't mean your users even remember what it is about.

If there's one thing I've learned from getting loads of these emails is that, unless your users login into your product every single day (i.e. Slack or GitHub), you have to remind your users what your product is when you email them.

![Who were you again?](https://miguelpiedrafita.com/content/images/2019/05/image.png)

Just add a subtle reminder when you first mention the name of the product (extra points if you link to the product), and you'll save your users some detective time.
Umbraco vs WordPress
Tags: umbraco, wordpress, webdev
Published: 2019-06-04 07:35:22

---
title: Umbraco vs WordPress
published: true
tags: umbraco, wordpress, WebDevelopment
canonical_url: https://theworldwidecode.com/blog/2019/umbraco-vs-wordpress/
---

CMS is a set of related software applications mostly on the web used to create, edit and publish digital content.
Deploying a Rails app on Google Cloud Run
Tags: ruby, rails, gcp, serverless
Published: 2019-05-21 07:39:06

Hi Ruby and Rails dev!

I thought you might be interested in reading the [tutorial](https://medium.com/@laurent_90293/google-cloud-run-on-rails-a-real-life-example-part-1-preparing-the-ground-705c94ab8a7a) I just wrote  about deploying a real-life Rails application on [Google Cloud Run](https://cloud.google.com/run/).

My intent with this tutorial is to go beyond the "usual Hello World" application and show what it means to deploy a Rails application in production on a container based, serverless service like Cloud Run.

Feedback/comments welcome!
How to show current HTTP requests on any server
Tags: webdev, cookies, http, server
Published: 2019-05-21 07:31:27

If you’re ever need to see incoming HTTP requests, maybe to check incoming headers, you want to know what cookies are being set, or get some clues as to why things aren’t being cached, the following command might be helpful:

tcpdump -A -s 10240 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' | egrep --line-buffered "^........(GET |HTTP\/|POST |HEAD )|^[A-Za-z0-9-]+: " | sed -r 's/^........(GET |HTTP\/|POST |HEAD )/\n\1/g'

It’s a bit of a mouthful, but it shows incoming HTTP requests direct from the network interface, and formats them in a readable way for humans. The nice thing is that you can then use grep with the output to show things like incoming cookies, or request headers. Probably more useful for monitoring requests than watching log files and guessing.

Hope it helps someone!
Top 10 Mobile App Development Companies in USA
Tags: appdevelopment, appdevelopers, mobileappdevelopment
Published: 2019-05-21 07:04:02

---
title: Top 10 Mobile App Development Companies in USA
published: True
description: Associated device technologies have vastly improved in the recent past and this is clearly visible in the increased number of mobile apps that are making their way into the market with some of them becoming extremely popular. It becomes tough to pick out one from the many good mobile app development companies in USA.
tags: app development, app developers, mobile app development
---
Logic Gates: The Controlled Not
Tags: boolean, logic, algorithms, puzzle
Published: 2019-05-21 06:56:04

---
title: Logic Gates: The Controlled Not
published: true
description: 
tags: boolean, logic, algorithm, puzzle
---

Tonight, my brother told me the story of a particular logic gate, the **Controlled Not**.

The **Controlled Not** is a gate that takes two inputs. If the first input is 0, the second input is unaffected, and sent as our output. If the first input is 1, we invert the second input before sending it as our output.

Pretty neat, huh? Maybe take a minute to think about how to implement it from basic logic gates (not/and/or).

I've had this spoiled for me, but here's my solution.

Previously, I've created a multiplexer. A multiplexer can be described as follows: there are three inputs, a,b, and S. S is a selector, which determines whether we output A or B. If S is 1, we output A. If S is 0, we output B.

It's represented as `(A*S)+(B*~S)` and looks like this:

![](https://thepracticaldev.s3.amazonaws.com/i/zefvmvvvjhy59qxb77xu.png)

Adapting it to our use case is pretty simple. We just need to replace A and B with A and ~A. When S is true (when our controller is on), we want to flip our A, so we'll represent that operation as `(~A*S)`. When S is false, we want to output our A unchanged, which means that we should slot it in for what used to be our B. This looks like this: `(A*~S)`.

All together, we get `(~A*S)+(A*~S)`, or in plainer terms, `(NOT(A) AND S) OR(A AND NOT(S))`. It looks like this:

![](https://thepracticaldev.s3.amazonaws.com/i/w0bs1frpzllpqdimrfvr.png)

Notice anything? If not, we'll do a quick truth table.

```
A S | OUTPUT
------------
0 0 |   0
0 1 |   1
1 0 |   1
1 1 |   0
```

We've got a name for this, and it's XOR.

Our takeaway is this: Even at the lowest, simplest level that we can use to try to make truth claims about the world around us- even when we've reduced everything to a collection of 1s and 0s that behave in 100% predictable ways, we're still constructing narratives around our data, still affected by the way that we choose to frame behavior, problems, solutions.

So, step back. Think about your assumptions. Think about the stories you choose to tell about your software. They matter.
Having fun in life!
Tags: cpp, programming, math
Published: 2019-05-21 05:45:25

---
title: Having fun in life!
published: true
description: Having fun in life!
tags: CPP, programming, math
---

I was talking to a friend about cellular automata using Conway's Game of life as an example. Curious again after so many years that I've read it, I read again carefully the wikipedia page and I found it fascinating.

What is the better way to learn more? Implementing! However I do not want to implement it in a boring way. I want to have interesting features. Let's first talk a little bit about this 0-player fascinating game. 


![](https://thepracticaldev.s3.amazonaws.com/i/85010bd36x3a0ukbon20.gif)

Please read the full post here:

[Thiago cafe: Having fun in life!](http://thiago.rocks/view/20170910_Having_fun_in_life)
Themes 
Tags: darktheme, customproperty, theme
Published: 2019-05-21 04:54:08

Hello folks, Let's see the journey of mine with the Themes. Whenever we create a new theme, we have to deal with CSS. So again we are going to write the same CSS with different colors and it makes the code repetitive like the following Script.


**Light Theme**
```
product .light-theme {
   background-color: white;
   color: blue;
}
product .light-theme:hover {
   background-color: blue;
   color: white;
}
```
**Dark Theme**
``` 
product .dark-theme {
   background-color: black;
   color: white;
}
product .dark-theme:hover {
   background-color: white;
   color: black;
}
```

For the optimization, Custom Properties play a major role in this CSS. Interesting..?   
**So what is Custom Properties ?**


Custom Property is a pre-defined variable and it stores the value of the CSS property.

**Okay, Then how it gonna be optimized?**

Whenever we update the variable (Custom Property) <em>`within the scope`</em>, it automatically update the values of property which used the same variable (Custom Property).


{% codepen https://codepen.io/ajay25kools/pen/BeRMRm %}

**Pretty Cool ?**

Lets see the code, 

```
:root{
  --libg : white;
  --licolor : black;
  --borderleft : blue;
  --libghover : #e1e1e8;
  --lihovercolor : blue;
}
.sidebar {
  width: 220px;
  .light {
    li {
      background-color : var(--libg);
      color : var(--licolor);
      border-left : 5px solid var(--borderleft);
      &:hover {
        background-color : var(--libghover);
        color : var(--lihovercolor);
      }
    }
  }
}
```

Dark theme made by Custom Variable 

```
.sidebar {
  .dark {
  --libg : #151f2a;
  --licolor : white;
  --borderleft : blue;
  --libghover : black;
  --lihovercolor : white;
  }
}
```

**Final Thoughts**

1. Redundant CSS reduced.
2. Easy to customize.
3. No need to track the CSS properties.

Hope you figure out the concept well. Let's see you on another journey. Thanks for reading.
I have written a lot about Burnout and Crunch Culture, Ask Me Anything!
Tags: ama
Published: 2019-05-21 04:24:43

In the past fortnight I have written:
[You are probably a victim of Crunch Culture](https://dev.to/ronsoak/you-are-probably-a-victim-of-crunch-culture-4h13)
and
[The lies and lack of self respect that lead to burnout](https://dev.to/ronsoak/the-lies-and-lack-of-self-respect-that-lead-to-burnout-5007)

So suffice to say I'm passionate about making sure my own experiences with crunch and burnout aren't repeated by fellow industry professionals.

Got a Question?
How to sequence in Rust
Tags: rust, functional, showdev
Published: 2019-05-21 04:19:25

Well, I wouldn't say it's exactly the same _sequencing_ in terms of FP languages like Scala et al., but it does the job for the given collection types in Rust; invert something of type `F<G<A>>` into `G<F<A>>`.

Usually, we'd expect `F` and `G` as types that are iterable and applicative. In the case of Rust, what I seem to understand from the standard library is that it is expected that there exists a trait implementation—`FromIterator`—that should allow `G` to be treated like an applicative. Since `collect()` is already iterating over a collection of `G<A>`, it's straightforward for an implementation of `FromIterator` for `F` to turn the results (i.e. a collection of them) of the first `FromIterator` into a `G<F<A>>`—which is what it does.

```rust
let opt = vec![Some(1), Some(2), Some(3)];
let sequenced = opt.into_iter().collect::<Option<Vec<i32>>>();
print!("{:?}", sequenced); // Some([1, 2, 3])

let opt = vec![Some(1), None, Some(3)];
let sequenced = opt.into_iter().collect::<Option<Vec<i32>>>();
print!("{:?}", sequenced); // None

let result = vec![Ok(1), Ok(2), Ok(3)];
let sequenced = result.into_iter().collect::<Result<Vec<i32>, &str>>();
print!("{:?}", sequenced); // Ok([1, 2, 3])

let result = vec![Ok(1), Err("oops"), Ok(3)];
let sequenced = result.into_iter().collect::<Result<Vec<i32>, &str>>();
print!("{:?}", sequenced); // Err("oops")

let result = vec![Ok(1), Ok(2), Ok(3)];
let sequenced = result.into_iter().map(|opt_i| opt_i.map(|i| i + 1)).collect::<Result<Vec<i32>, &str>>();
print!("{:?}", sequenced); // Ok([2, 3, 4])
```

_originally posted as a [gist](https://gist.github.com/kdrakon/896fd22561483eb905165565b89db43d)._
Weekly Coding Challenge - Week #11 - Tooltip
Tags: challenge, html, css
Published: 2019-05-21 03:58:05

---
title: Weekly Coding Challenge - Week #11 - Tooltip
published: true
description: Week #11 of the Weekly Coding Challenge program - Tooltip
tags: challenge, html, css
canonical_url: https://www.florin-pop.com/blog/2019/05/pure-css-tooltip/
cover_image: https://www.florin-pop.com/static/5f3a8f770e2b5396710a8e984b4a8346/ff993/pure-css-tooltip.png
series: Weekly Coding Challenge
---

Theme of the week: **Tooltip**

### Description

A tooltip is a message which appears when you hover over an item. Usually this item is an image, a hyperlink or an icon.

## Useful Resources

Check out my submission for this challenge: [Pure CSS Tooltip](https://www.florin-pop.com/blog/2019/05/pure-css-tooltip/).

See all the submissions in this [Codepen Collection](https://codepen.io/collection/XwqBgo).

Are you interested in joining the challenge? :smiley: Read [The Complete Guide](https://www.florin-pop.com/blog/2019/03/weekly-coding-challenge/) to find out how. Don't forget to share your creation! :wink:

Happy Coding! :innocent:
The Chromium Browser Wars
Tags: chromium, browsers, browserwars, discuss
Published: 2019-05-21 04:18:28

---
title: The Chromium Browser Wars
published: true
tags: chromium,browsers, browserwars, discuss
canonical_url: https://www.iamdeveloper.com/posts/the-chromium-browser-wars-51oc/
cover_image: https://media.giphy.com/media/xT0xemNCRU4TRrGDAI/giphy.gif
series: The Browser Wars 2.0
---

I’ve purposely left out FireFox here because this is not about [Firefox](https://www.mozilla.org/en-CA/firefox/new/). It’s about Chromium based browsers. No knock on FireFox. It’s great as well.

What I’m wondering is if you are a [Google Chrome](https://www.google.com/chrome) convert, will you stay a Chromer? Don’t even know if that’s a real thing. 😆 I think it was in 2009 when Chrome came out and I was on Mozilla/FireFox (shout out to [Firebug](https://getfirebug.com)). As a user, I gave Chrome a try and never looked back. It was my go to browser until [Brave](http://brave.com/) (Chromium version, not the Electron one) came around. It’s what I currently use in my day to day.

{%twitter 1083189063207845890 %}

I’m on a Mac and today it was announced that there is a [Canary channel available for MacOS](https://blogs.windows.com/msedgedev/2019/05/20/microsoft-edge-macos-canary-preview/#fDfwqLCZqc5IWL0F.97). So of course I thought I’d take it for a spin.

{%twitter 1130673501738807296 %}

Out of the box, I’m happy that they already have extensions.

![Edge Canary with extensions](https://thepracticaldev.s3.amazonaws.com/i/xoggtke4g3vbfegr2bz3.png)

I was able to load up an extension I’ve been working on.

{%link https://dev.to/nickytonline/an-a11y-extension-coming-to-a-browser-near-you-1mg2 %}


They also appear to have some web page monitoring.

{%twitter 1130675159474626565 %}

It’s early days, but once they have official releases, it begs the question, will users care? What added value will each of the Chromium based browsers offer over the other to win users over?

{%twitter 1130675153132822530 %}

I think Microsoft is making a smart move by making it available on MacOS and there is also talk of a Linux version as well.

{%twitter 1130558708193288192 %}

What are your thoughts on another Chromium browser contender? Feel free to leave comments here or in this [Tweet thread](https://twitter.com/nickytonline/status/1130673501738807296).
Weeknotes - 03 Makers PreCourse
Tags: bootcamp, weeknotes, blogging
Published: 2019-05-20 15:57:43

---
title: Weeknotes - 03 Makers PreCourse
published: true
description: Tackling week 3 of the pre-course course ;)
tags: bootcamp, weeknotes, blogging
series: Makers weeknotes
---

## The Penultimate Prep Week

Big sigh of relief when I finished the Ruby mastery content on Tuesday with 4-6 days to spare.  Can I call myself an official Ruby Master now? (The answer is no).

### Mastering Ruby

The challenges at the end of week 3 were based around methods and classes, and understanding scope<sup>1</sup>.  Classes have been hard to get my head around; I understand them in theory; I can see why they're useful; but... identifying when I should use them - ?!  I paired with qui<sup>2</sup> at the weekend, we used tests to refactor some working code. I'd used a nested loop which meant regenerating a regex pattern for the same array each time it looped - that's _a lot_.  
Noticing repeated behaviour like this is an indicator that a class could be useful.  So that's what we did!  Now we can use the same regex pattern whenever we run the loop, or we can create a new pattern (another instance) if we want.

### Bloggin'

I spoke with Lauren<sup>3</sup> about her blog on wellness in the work environment, and I'm excited about it!  My discussion with Lauren was a chance to give and receive feedback on our work and approach in a natural way - hooray! :unicorn:
Blogs have been helpful to me in particular for learning about other people's experiences of bootcamps/workplaces - this was one reasons why I choose to publish my Makers journey weeknotes.  I'd been keeping a coding diary until starting the pre-course so I could look back and reflect on what I had learned or what topics I was neglecting.  

## Misc.

 - Shout out to Lauren :sparkles: for her nice words and qui :heart_eyes_cat: for pairing with me
 - My fellowship contract binds me to the universe - but why stop there?
 - I've been thinking about creating a "Manual of Me"<sup>4</sup>...
 - Next week's work includes a list of villains. My top three female villains:
0. Carabosse<sup>5</sup>
0. Baba Yaga<sup>6</sup>
0. Marisa Coulter<sup>7</sup>

# Weeknotes Notes

1. **Darko Gjorgjievski**, _Understanding Scope in Ruby_ | [SitePoint](https://www.sitepoint.com/understanding-scope-in-ruby/)
2. **Chris James** | [website](https://www.quii.dev) | [@quii](https://twitter.com/quii)
3. **Lauren Lindsey**, _If you won’t look after me, who will?_ | [blog](https://medium.com/@lauren_69244/if-you-wont-look-after-me-who-will-eb9064857dee) | [LinkedIn](https://www.linkedin.com/in/1laurenlindsey/)
4. **Manual of Me** | [website](https://manualofme.co/)
5. **Carabosse** | [wiki](https://en.wikipedia.org/wiki/Wicked_fairy_godmother)
6. **Baba Yaga** | [wiki](https://en.wikipedia.org/wiki/Baba_Yaga)
7. **Marisa Coulter** | [wiki](https://en.wikipedia.org/wiki/Marisa_Coulter)
how to do low latency one to many video broadcasting using node.js and WebRTC ?
Tags: node, webrtc, javascript
Published: 2019-05-21 03:14:42

---
title: how to do low latency one to many video broadcasting using node.js and WebRTC ?
published: true
description: Looking for the tutorials to get started on WebRTC and building a hobby project using node.js and WebRTC
tags: node.js,WebRTC,javascript
---
Lazy developers write tests
Tags: test, unittesting, coding, software
Published: 2019-05-18 22:59:19

---
title: Lazy developers write tests
published: true
description: 
tags: test, unit testing, coding, software
---

Consider Lisa, a developer. A smart one. But lazy.
So lazy that she wants to reduce at minimum the time spent to talk to other developers explaining his code.

She wants to just write her code and move to the next ticket. Sure, she likes to talk to other developers about new technologies, frameworks and patterns. But when it comes to her code, she doesn't want to explain why she added that if-else code or why the function she wrote checks the if a parameter is null. She enjoys discussing why she chose a certain design pattern or used a certain library to solve a particular issue. Those are the interesting and important things to take care when sharing knowledge with the team.

But the small details, gotchas and edge cases you consider when coding do not belong there. They are important of course. But when you write and read the code. So the code should be the keeper of this knowledge.

Requirements and specification documents? Too generic and high level. Sometimes there are things in the code that are not present in the requirements because they are a pure result of the implementation.

Documentation in the code does not help. It gets old pretty fast and you always forget to update. Nobody reads it anyway.

If the code is the keeper of this knowledge, the code should reply these questions. And when the code doesn't because it is not clear enough, only one thing can. 

Tests.

A test represents a part of the knowledge. It might come from the requirements or it might be new knowledge the developer acquired during the implementation. All these pieces of knowledge compose your product. And you want to make sure they don't get lost.

Once a test is written, it stands as a guard. It tells every new developer the story of why the code is like that. It shouts whenever someone dares to change something that should have not be changed.

It is an entity on its own which does the job for you.

Be lazy. Be smart. Write tests.