teleren/devto huggingface dataset:
Helping Men in Tech Help Women In Tech
Tags: inclusion, diversity, mentoring, workculture
Published: 2018-04-06 16:26:09

---
title: Helping Men in Tech Help Women In Tech
published: true
description: Notes on the recent Anita Borg Institute's Male Ally Summit 2018 
tags: inclusion, diversity, mentoring, work culture
---

>I went to the Anita Borg Institute's NY Male Ally Summit last week and learned so much about why men historically haven't mentored women; not just in tech, in every work culture. I want to share some highlights of that experience with you.

There are real reasons why this happens and ways to make a change. Here are some of the reasons:

## Reasons

* people naturally want to be with each other because they are alike and share similar interests
* common interests fuel networks
* men bro-propriate - tasks and questions relegated to other men when a woman with more experience should have had the question/task come to them
* Women are less likely to receive constructive feedback
* Performance reviews for women are more tepid and attribute her individual work as a team effort
* Men are more likely to get feedback tied to professional growth and business outcomes
* strong women are tagged as aggressive
* women are given "office housework" tasks: take notes, order food, train interns, clean-up source code comments
* women are excluded from unofficial networking events because of gender: "let's go for a beer", sports games

## Actions Toward Change

* Go outside your comfort zone and network, socialize, talk to the other gender
* Don't exclude a female colleague from an informal networking function
* Be aware of who you should address when you have a question or task - **_Don't Bro-propriate!_**
* Do your own "office housework" or relegate those tasks to a new team member, create a rotating schedule, share the workload evenly
* Give equal feedback to your female colleague, giving a clear picture of how she can rise to the next level
* Advocate for your female colleagues during meetings
* Don't interrupt or minimize her suggestions and comments - **_Stamp out "Manterruptions!"_**
* Focus your thinking on how much we are alike rather than why we are different

Ok. There you have it. And one more issue I want to address: I'm not a social sciences expert -- at all. The Anita Borg Institute event opened my eyes and I want to pass it on in the hope that we can take positive action together. *Namaste.*
No more VPN pain 👍
Tags: blog, vpn, streaming
Published: 2018-06-26 01:25:37

---
title: No more VPN pain 👍
published: true
tags: blog,vpn,streaming
canonical_url: 
---

![](https://78.media.tumblr.com/09952fdb8877be94eda519233e6350ea/tumblr_inline_p6rm2e5lCk1veql8b_540.png)

So, here’s the deal. The client we’re working with here uses Cisco’s AnyConnect as the VPN client, and my god I hate it. It doesn’t remember the password, slows down everything, and just generally not stable. It also dies when there is any other VPN connected at the same time.

I was looking around for the better solution, and I finally found it - Shimo! (#not sponsored).

Basically, it works just like any other VPN client (free Tunnel Bick, for example). But apart from OpenVPN protocol, it supports the old IPSEC/L2TP and Cisco’s AnyConnect!

> What’s even better - it allows you to setup custom triggers, so when you open a particular website - it turns the specific connection on!

The above is especially important to me, since I use a lot of different streaming services, and most of them have content that is region-locked. Even when you’re paying for it, which is sad.

![](https://78.media.tumblr.com/f8d6a21af18648495cab3bfed12e71f2/tumblr_inline_p6rm9i1DKe1veql8b_540.png)

The only issue is - it’s pretty pricey. But! If you use SetApp like I do - it’s a part of their $5/mo subscription, which is way more manageable, considering how many other apps are there.

> So yeah, definitely recommended [https://www.shimovpn.com/](https://www.shimovpn.com/)
Any FileMaker Devs Here?
Tags: discuss, filemaker
Published: 2018-04-06 13:12:11

---
title: Any FileMaker Devs Here?
published: true
tags: discuss, filemaker
---

I spend a lot of my days in FileMaker, and I wonder: are there any [FileMaker](http://www.filemaker.com/index.html) devs lurking around here? If so, what are your favorite parts? What would you like to learn more about? If not, would you be interested in learning about it?
Friday Blast #34
Tags: fridayblast, links, post
Published: 2019-01-20 15:25:10

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

[There and back again: why PaaS is Passe (and why it’s not) (2018)](https://bravenewgeek.com/there-and-back-again-why-paas-is-passe-and-why-its-not/) - PaaS has become somewhat of a _dirty word_ in infrastructure circles. Tyler Treat makes the case that at some point it’ll make a comeback. Most of the stuff going on when building infrastructure for a project/company aims at building some sort of PaaS in the end, and once enough things are fleshed out, folks won’t mind the loss in customization a next generation PaaS provider will offer. Kubernetes will probably be involved somehow.

[Why SQL is beating NoSQL, and what it means for the future of data (2017)](https://blog.timescale.com/why-sql-beating-nosql-what-this-means-for-future-of-data-time-series-database-348b777b847a) - SQL has been on a comeback as of late. NoSQL didn’t live up to all the hype and SQL datastores have caught up featureset wise. The article explores the history of this.

[BMW’s new subscription service starts at $2000 a month (2018)](https://www.theverge.com/2018/4/4/17199532/bmw-subscription-service-nashville) - I’ve been meaning to blog for some time on the topic of SaaS and how more and more traditionally transactional services are turning to subscription based ones. Turns out things are moving faster than I thought. So a car subscription services is in the works from BMW, and similar ones are already started from Audi, Cadillac and Porsche.

[The end of Windows (2018)](https://stratechery.com/2018/the-end-of-windows/) - gloomy stuff. But it’s a Unix world more or less - every phone and server is a Unix machine, and it won’t be that long before Unix conquers consumer desktop for good - 10 years? Makes sense for Microsoft to focus on Cloud and Services (and beefy enterprise deals as well). Read on for a history of the strategic moves Nadella had to do to be able to do this.
MongoDB - A origem do nome
Tags: mongodb, nosql
Published: 2018-04-06 11:19:59

---
title: MongoDB - A origem do nome
published: true
description: Breve explicação sobre a origem do nome do banco de dados NoSQL mais usado no mundo
tags: mongodb, nosql
---

Olá pessoal, estou escrevendo esse breve post na recepção de um cliente aqui no Rio de Janeiro onde vou iniciar mais um treinamento de MongoDB! E enquanto aguardava me veio na cabeça compartilhar algo que sempre falo em minhas palestras e treinamentos: A origem do nome MongoDB.

E porque falar sobre isso? Bem, quem nunca ouviu ou até mesmo fez algumas dessas piadinhas infames por aí: Olha o cara do Mongo! Mongo... arhhhh... Pois bem, eu mesmo escuto quase todos os dias! ;) Por isso, não custa nada deixar registrado o porque do nome!


## A Origem do nome

Mongo vem da palavra inglesa Humongous, que numa tradução livre quer dizer **Gigantesco**.

O site do MongoDB diz que seus fundadores criaram grandes empresas de internet como por exemplo a DoubleClick. E os problemas enfrentados para o armazenamento e manipulação da grande massa de dados produzida por essas empresas, levaram à criação do MongoDB, um banco de dados capaz de gerenciar esses dados e que é altamente escalável. O MongoDB tem essa como sua principal característica: armazenar e manipular uma quantidade absurda de dados, portanto, se você estiver com problemas de performance ou algo do tipo, alguma coisa muito errada você está fazendo, pode ser algo no modelo de dados, configuração de servidores ou simplesmente o fato de você ter escolhido a classe errada de NoSQL para sua aplicação.

E como gosto da cultura Nerd, não posso deixar de fazer referência a um personagem do filme Mad Max 2 (tá é bem velho, eu sei...)! Um cara gigantesco que batia em todo mundo e se chamava Lord Humongous! 

![Humongous Mad Max 2](https://ocdviewer.files.wordpress.com/2014/04/sw-29.jpg)


## Mas e a folhinha como logo?

Bem, essa é outra pergunta que sempre me persegue! E não, não é o que vocês estão pensam quando vêem uma folha por aí! kkk

O sentido da folha vem de outra filosofia dos fundadores do MongoDB, que acreditam que codificar tem que ser algo natural. Sendo assim, eles esperam que a experiência de se codificar ou trabalhar com MongoDB seja natural e simples como representa uma folha!

Bonito né? rsss

Bem, por agora é isso, deixo aqui registrado e me ajudem a compartilhar e acabar com as piadinhas #sqn!

Abraços e até a próxima!
How do you document your code?
Tags: discuss, documentation, tools
Published: 2018-04-06 10:47:02

---
title: How do you document your code?
published: true
description: Discussion of tools and ways of writing documentation.
tags: discuss,documentation,tools
---

I am sure this has been discussed before but I am looking for suggestions on how to keep our documentation at work, that is suggestions on tooling.  The documentation will be on code, deployment, and how to get started for newcomers.  It will also contain mathematical documentation on the business logic.

I have a few requirements for the documentation tool:

- It must be private to our company.
- Writing must be easy, i.e. available to non-developers.
- It is preferrably web-based (either hosted or on-premise).
- It must support math notation and code color syntaks.
- Single sign-on (Windows domain) is a plus but not a must.

Our code resides on an on-premise classic TFS server but our developers are familiar with Git.  The non-developers are not familiar with code repos.

Markdown is a good option but it does have some short-comings.  I have used GitBooks myself but I think it is really easy to mess up when linking.  At work we have Sharepoint but Sharepoint wikis are just... awful 😒

So, any suggestions are very much appreciated 😊
ReHover 
Tags: react, showdev
Published: 2018-04-06 10:00:45

---
title: ReHover 
published: true
description: React hovering on two elements made simpler! 
tags: react, showdev
---

Because hovering on two elements can be really tricky and verbose, so I made [ReHover](https://github.com/PaulRosset/rehover)

Tell me what do you think.

Have a good day!
Announcing Capsulelink: A tool for grouping, saving, and sending links as one
Tags: showdev, webdev, projects
Published: 2018-04-06 09:29:15

---
title: Announcing Capsulelink: A tool for grouping, saving, and sending links as one
published: true
description: 
tags: showdev, webdev, projects
cover_image: https://thepracticaldev.s3.amazonaws.com/i/rf2ryokqq5r1vtjqtc28.png
---

With the beginning of this year, I set my new years resolution on shipping/ deploying more products. Even if I am not so satisfied how they ended up, I will ship the end result, and see the engagement I get from users. So to get right on with the topic.

I published http://capsulelink.com/ little more than a week ago. It is a simple tool that lets you save multiple links into one, and ease you the pain of sending many links to many other people. Instead, you just send them one link, and it will contain all of the others.

![First version of capsulelink.com](https://thepracticaldev.s3.amazonaws.com/i/jgjddspz88hguyf53yiq.png)

At first, it was a barebone product, with limited features. But I'm constantly adding more useful stuff to it.

# Features

Links created by anonymous users (users who are not logged in) expire after 48h, while if you have an account, your links won't ever expire. So it is a good and quick way of saving some pages you are currently researching, and access them at any time.

![Group link](https://thepracticaldev.s3.amazonaws.com/i/tb9sxjo9wcvtlj6eemxl.png)

Also, there are private links for registered users. Private links are only visible to the user who created them.

![Private links](https://thepracticaldev.s3.amazonaws.com/i/esdv1bsl00k144qkrho8.png)

Recently I saw the direction where this app was going, so I added the upvoting feature, and trending page. This way, other people can discover useful links, that are legitimately useful.

Not to lie, I discovered some pretty good tools myself, that other people posted, including websites, tools, articles and much more.

Then I saw that sometimes it is a pain to always have to switch to capsulelink.com to paste the URL you want to save. So I created the chrome extension, and it turned out to be even easier to use than the website itself.

![Chrome extension in action](https://thepracticaldev.s3.amazonaws.com/i/ecxtgrzd5zyk5smn0krp.png)

You can find it here: https://chrome.google.com/webstore/detail/capsulelink/khgappllikejideefljdafjbbnnclbno

With one click you can add websites, and then when you added the pages you desired, with just one click you create the group link, and it is saved on the server.

Although, currently the chrome extension only creates anonymous links and does not support login feature, but I'm working on that and deploying it asap. Then you will be able to directly save to your profile.

# Thank you for reading

I would love to hear some real user feedback and to have a chat with anyone interested. I'm open to suggestions and critics at any time. Let me know what you think I should improve in the comments, or message me on Twitter: https://twitter.com/ognjengt
My Static Site Generator
Tags: php, html
Published: 2018-04-06 09:20:30

---
title: My Static Site Generator
published: true
description: 
tags: php, html
---

my blog was running on ghost. and i liked it but i asked myself why should the server render each page on every request? I could use Varnish or something to cache everything but that would just increase the complexity and wouldn't work on shared web spaces.
so i built a static site generator. it runs once and spits out a whole bunch of html files. this way i just have to create a new file, put some markdown or html into it, run the magic script and there is the new blog post published.
with some git magic i can just have the repo locally, edit it completely offline and push it when i can.
and because it's just html in the end, it could basically just be hosted on Amazon S3 or Github pages or something like that.
and it's crazy fast.
comments are not possible of course but i could use disqus or just build something on my own.
i wrote the whole thing in 2 evenings so the code is not the nicest. don't be too harsh ;)
https://git.zeyel.net/open/htmlengine
What's the most annoying ad experience you've ever had?
Tags: discuss
Published: 2018-04-05 20:57:35

---
title: What's the most annoying ad experience you've ever had?
published: true
description: Only 1% of people can read this post!
tags: discuss
---

Ads have come a long way over the past few year, but still have a lot of work to do to reach a common ground between advertisers and user experience.

I've had a good amount lately, so what are some of your AX horror stories?
How to shrink your Docker images.
Tags: docker
Published: 2018-04-05 17:39:53

---
title: How to shrink your Docker images.
published: true
description: Using multi-stage builds to reduce your final docker image size.
tags: docker
---

_Cross posting from https://blog.davidjeddy.com/?p=594_

Docker Images, everyone says smaller is better but how do you do this but still maintain functionality and debugging ability? Well, here is how I did it.

*Preflight Resources:*

Docker Multi-stage building: https://docs.docker.com/develop/develop-images/multistage-build/#name-your-build-stages

Google Distroless Images: https://github.com/GoogleCloudPlatform/distroless/blob/master/examples/nodejs/Dockerfile

Docker-Puppeteer-Jest (Headless Chrome + Jest testing image): https://hub.docker.com/r/davidjeddy/docker_puppeteer_jest/

*What we need to do:*

Here is where we start, a 800Mb+ size image just to run headless Chrome and Jest. Ouch.
![Alt text of image](https://davidjeddy.com/wp-content/uploads/2018/04/Screen-Shot-2018-04-03-at-4.25.06-PM.png)


So lets apply the multi-stage build paradigm and use the Google Distroless NodeJs Image:
![Alt text of image](https://davidjeddy.com/wp-content/uploads/2018/04/Screen-Shot-2018-04-03-at-4.26.14-PM.png)


Now we rebuild the image using the `build . -t davidjeddy/docker_puppeteer_jest` command and we end up with a ~ 400MB images. 50% Savings!
![Alt text of image](https://davidjeddy.com/wp-content/uploads/2018/04/Screen-Shot-2018-04-03-at-4.27.39-PM.png)


Now remove the old busted and bloated image `docker rmi davidjeddy/docker_puppeteer_jest`. 

*Usage:*

Run the image command as normal and observe the same expected output as before. Unfortunately for the example project herein more work is needed as the original image did not keep dependences within the app dir.

*TL;DR:*

After building your service image, make an addition step that plops it into a distroless base image. Boosh, easy win.
Best Practices in Android Development
Tags: mobile, android, kotlin, androiddev
Published: 2018-04-05 15:59:05

---
title: Best Practices in Android Development
published: true
description: We will take a look at some standard practices we should apply when building Android applications.
tags: #mobile #android #kotlin #androiddev
canonical_url: https://auth0.com/blog/best-practices-in-android-development/
---

Best practices are simply professional standards that are acceptable in a field. In this article, we will take a look at some best practices in Android development to help us build better apps.

[Read on 🤖📱](https://auth0.com/blog/best-practices-in-android-development/?utm_source=dev&utm_medium=sc&utm_campaign=android_best_practices)

![Best Practices in Android Development](https://thepracticaldev.s3.amazonaws.com/i/b5q2rmlv0yw3iw1a6v8s.png)
Software Engineers shouldn't code. That's the job of the developer.
Tags: discuss
Published: 2018-04-05 15:26:01

--- 
title: Software Engineers shouldn't code. That's the job of the developer.
published: true
description: 
tags: discuss
---

A software engineering instructor in college used to say that software engineers are not meant to code, writing code is for the developers. Is it true that they're not meant to code?
I created a gatsby starter for blog with powerful features.
Tags: javascript, gatsby, react, showdev
Published: 2018-04-05 15:25:45

---
title: I created a gatsby starter for blog with powerful features.
published: true
description: I created a gatsby starter. gatsby is a static site generator.
tags: javascript, gatsby, reactjs, showdev
---

Many JavaScript developers are using `hexo` or `jekyll` for blog.
But, I'd like to recommend you to use gatsby if you're interested in React JS.

https://github.com/wonism/gatsby-advanced-blog
This starter has been implemented with redux, redux-saga, styled-components and etc.

Also, You can see the demo page on this link.
https://kind-cori-836fe1.netlify.com

Any PRs are welcome.
Handling Errors Gracefully
Tags: codes, errors, resultobject, ruby
Published: 2018-04-05 18:03:09

---
title: Handling Errors Gracefully
published: true
tags: Codes,error handling,result object,ruby
canonical_url: 
---

Sometimes it makes sense to treat errors as part of an application's "valid" flow of events. Meaning, expected errors should not necessarily make your code go crazy when random errors are raised.

With that in mind, I created a way to implement some kind of "Result Object" by rescuing [StandardError](https://ruby-doc.org/core-2.1.5/StandardError.html) instances and handling these errors gracefully.

 
```
class Gracefully
  class << self
    alias_method :handle, :new
  end

  attr_reader :error, :value

  def initialize
    @value = nil
    @error = nil
    begin
      @value = yield
    rescue => e
      @error = e
    end
  end

  def success?
    error.nil?
  end

  def on_success
    return self unless success?
    result = yield(@value)
    return result if result.is_a?(Gracefully)
    Gracefully.handle { result }
  end

  def on_failure
    return self if success?
    result = yield(@error)
    return result if result.is_a?(Gracefully)
    Gracefully.handle { result }
  end
end
```
 
 [gracefully.rb](https://gist.github.com/9aac974a760fc3f5f3a287bb75804de6 "See gracefully.rb") [view raw](https://gist.githubusercontent.com/katpadi/9aac974a760fc3f5f3a287bb75804de6/raw/f2286a1645a66f7867db9abbd9ebf95113e46da3/gracefully.rb "Back to gracefully.rb") 
 

In short, _ **Gracefully** _ is a wrapper for a result object– it’s either a success value or an error object.

 
```
result = Gracefully.handle { Order.find 999 }
```
 
 
 

In the example above, if order with id 999 does not exist, **_result.success?_** method will return false. Otherwise, true.

If **_result.success?_**is true, _**result.value**_ will contain the successful value. Otherwise, _**result.error**_ will hold the error object itself.

Whenever Gracefully.handle is called, it will return a Gracefully object. If you want to get the raw value, you can use _**result.value**_.

## More Usage

 
```
result = Gracefully.handle { ComplicatedService.new(foo, bar).process }
if result.success?
  # do success stuff
  use_value(result.value)
else
  # do failure stuff
  log_error(result.error)
end
```
 
 
 

## Chaining Usage

 
```
Gracefully.handle { SomeComplicatedService.new.call }.on_success do |val|
  val.update!(column_name: 'stuff')
end

Gracefully.handle { SomeComplicatedService.new.call }.on_failure do |e|
  do_whatever_you_wish_with_the_error(e)
end
```


By using this, I can be resilient in handling errors and be able to recover from failures in the process flow.

The post [Handling Errors Gracefully](http://blog.katpadi.ph/handling-error-gracefully/) appeared first on [KatPadi's Point](http://blog.katpadi.ph).

--
Visit my website @ [http://katpadi.ph](http://katpadi.ph).
What's Your Favourite Cheat Sheets?
Tags: discuss, cheatsheets
Published: 2018-04-05 13:27:58

---
title: What's Your Favourite Cheat Sheets?
published: true
canonical_url: https://www.iamdeveloper.com/posts/cheat-sheets-5cm/
cover_image: https://thepracticaldev.s3.amazonaws.com/i/b1fs54ljjhu08hzcj4tk.jpg
tags: discuss, cheatsheets
---

Photo care of Flick user [Luther Cunningham](https://www.flickr.com/photos/21155452@N08/2099818325/)

Have an awesome cheat sheet or cheat sheet repo you wanna share with the rest of us?

I'll get things started. Here's a nice cheat sheet from @dan_abramov for modern React lifecycle methods (React 16.3+)

{% twitter 981712092611989509 %}