teleren/devto huggingface dataset:
Get to Know the People You Pay
Tags: teams, leadership
Published: 2019-06-06 03:24:32

---
title: Get to Know the People You Pay
published: true
description: Know who you're sending your money to, especially when you send them a lot.
tags: teams, leadership
cover_image: https://thepracticaldev.s3.amazonaws.com/i/xit8xs31acb6cccklfcu.jpg
---

I made some shouty tweets on Sunday. Here's the first one, and the one I want to focus on for this conversation.

{% twitter 1135403356506198017%}

You can go read the other tweets and think whatever you want about them as a whole, but I'm here to elaborate a bit on what I was (and still am) feeling.

Side note: if you have any inclination to make excuses for the boss in the tweet or anything of the like, please hop out now. This is not a debate. How I feel about being minimized as a disabled person is not up for discussion.

Another side note: this topic goes beyond people who sign the paychecks. Everyone should know about the identities of their co-workers, but those people way up in the hierarchy should *especially* know the people they expect to do a good job.

So, why should we get to know the people we pay?

# You can lead them better

Knowing how people tick makes it easier for you to lead them. You'll know what they can and can't handle, when they can handle it, and how to get them where they need to be to actually handle it. Leadership isn't just about telling people what to do.

# You'll have a chance to understand their perspective

It's not really possible to know *exactly what someone else is going through unless you've actually been through it yourself. Even still, every single person is different and copes with life in their own ways. Your best chance at knowing what someone else is going through; however, is by listening and remembering what people tell you.

# You won't make them feel isolated

Going back to my above-mentioned situation specifically, it's hard to describe how it felt to learn that my boss didn't know for 10 months that I have hearing aids. I am a disabled woman. It's the biggest piece of my identity because it affects my quality of life in every possible way. It's not a difficult fact to learn. I talk about it daily.

I keep trying to write the next sentence and they keep coming out wrong. It's a really strange feeling to know I was sitting for months on end putting in so much effort, and the simplest effort wasn't being put back into me. It feels lonely and isolating.

Bottom line, just do the right thing. Don't let your employees feel like that. All it takes is a few conversations and a little bit of effort towards remembering facts about people. Make the people you pay feel important.

---

Did you know I have a newsletter? 📬

If you want to get notified when I publish new blog posts or make major project announcements, head over to [https://ashleemboyer.com/newsletter](https://ashleemboyer.com/newsletter).

---

*[Image](https://unsplash.com/photos/dZxQn4VEv2M) by [Shridhar Gupta](https://unsplash.com/@shridhar) on [Unsplash](https://unsplash.com).*
Developing For ThemeForest?
Tags: beginners, theming, themeforest, discuss
Published: 2019-06-06 03:21:26

---
title: Developing For ThemeForest?
published: true
description: 
tags: #beginners #theming #themeforest #discuss
---

Hey everyone!

Looking for some advice! A couple years ago I started selling stock audio on AudioJungle as a hobby. I enjoy sound design, so I thought, why not turn a hobby into passive income? Every so often I get a couple sales, so that worked out well enough for me. I had initially thought about doing this with HTML templates, as I am a web developer after all, but never got around to actually spending the time to get it done. Recently though I've been thinking a lot about fixing that.

I want to start with a simple HTML/CSS one page template for now. That said, being new to the theming, I don’t want to put out out garbage and be rejected after putting in a lot of work (learned that the hard way on AudioJungle). Also, is plain HTML/CSS the way to go in 2019? I'm OK at React but thought I would start with the most basic thing I could do so that I develop a workflow. So I ask the question. What are some good resources you all use when developing a new template? This could be related to design, coding standards, file organisation or anything else relevant. Does anyone has a good roadmap for getting started?
30 Days Of AWS (Day 7)
Tags: aws, challenge, 30daysofaws
Published: 2019-06-06 02:35:42

---
title: 30 Days Of AWS (Day 7)
published: true
description: 
tags: AWS, challenge, 30DaysOfAWS
cover_image: https://thepracticaldev.s3.amazonaws.com/i/xk3wcpnc2h8nk8oy9xh6.png
series: 30 Days of AWS
---

Today I studied about Databases on AWS, this topic was awesome for me although you should know about VCP, Networking and security and If you read the older post It's not my strength.

## Databases

AWS has 2 types of databases available, SQL or relational DB (RDS), and NoSql Non-relational DB (DynamoDB).

## RDS

RDS is a SQL Database that provides huge options for different engines. Here you will see Amazon Aurora, Mysql, Postgres, Oracle and Microsoft SQL server.

## DynamoDB

DynamoDB is a NoSQL Database service.  Nowadays AWS doesn't have another NoSql option in its catalogue. One way that you can accomplish that is that you create an EC2 instance and install it MongoDB or Oracle NoSql.

## Comparation

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

## Practice

Today I was practising a lot creating DB basically to understand much better VPC and Security. [Here](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Tutorials.WebServerDB.CreateDBInstance.html) you can check the official tutorial about How to create an RDS.

That's all for today, I'm sorry for this short post but that was planned for today.
At work, do you have planned roundups with coworkers to discuss new and/or unfamiliar coding concepts?
Tags: discuss, career, beginners, webdev
Published: 2019-06-06 02:18:45

---
title: At work, do you have planned roundups with coworkers to discuss new and/or unfamiliar coding concepts?
published: true
description: 
tags: #discuss #career #beginner #webdev
---

Im newer at my place of work and the skill gap is fairly large between myself and my coworkers. I was thinking of having a weekly 'roundup' of sorts where either I or someone else has a concept on the agenda to discuss. For instance, I just discovered what 'currying' is in Javascript and would love to discuss it with the others and see if there are ways we can implement it into our projects. 

Does anyone else have these sorts of meetups with their coworkers to get on the same page knowledge-wise? If so, how are they typically structured?
The Slow Birth of a Developer
Tags: philosophy, stoic, career
Published: 2019-06-06 00:05:39


"Nothing is slower than the true birth of a man." - said Hadrian to his selected successor, the young Marcus Aurelius. At least in the novel called [Memoirs of Hadrian](https://amzn.to/2W1Fgua) by [Marguerite Yourcenar](https://en.wikipedia.org/wiki/Marguerite_Yourcenar).

What the author meant by this idea is that none of us is born with wisdom, neither we get it in one specific moment. As [Ben Hardy](https://medium.com/@benjaminhardy) said in one of his articles, big changes will always be gradual. We get some ideas from here and there, we think about them consciously, we digest them even after unconsciously, and those ideas get organized even during while we sleep. And little by little, through our thoughts we change.

We, developers, are humans even if certain people question that sometimes.

None of us is born with the knowledge of a __rock star__ developer. Not even with the knowledge of how to assemble a simple hello world application. It is really an important point to remember especially when we are doing code reviews for developers with less experience. You were there, I was there, maybe we are still right there. We are never invited to a [code review](https://dev.to/sandordargo/sane-office-environment-with-code-review-guidelines-3k0h) to judge, but to help.

Can you remember the day when you became a developer?

If your answer is yes, are you sure?

In my opinion, there was no such day. Maybe when you came out of school, you felt like you became a developer. Maybe you already were, maybe you became one later on. It's sure that you didn't become one just because the dean handed a nice paper over to you with his hands in fancy white gloves. Neither you became a real dev when you deployed your first application.

It was more gradual, it was a long process.

Reading your first programming book, following through the first tutorial. Figuring out the first compiler issues. Solving production bugs. Crashing prod. Falling it back. Getting a big bunch of negative comments in a code review. Having rejected pull requests. Having merged pull requests. These might be all part of becoming a developer.

Along the way, you became a developer. But it's not a specific point where you can ever arrive. It's an everlasting journey. Maybe there will be periods when you will not feel whether you're moving back or forward. There will be other moments when you'll feel like moving backwards.

Remember one thing. If you care about it, you never move backwards. If you care about it, you'll look for ways to get forward.

You just have to keep delivering and learning.

It takes time to become a developer. It takes much more time to become a good one.

_This article has been originally published on [my blog.](http://sandordargo.com/blog/2019/06/06/the-slow-birth-of-a-developer)_
MiniKFでオンプレ機械学習基盤
Tags: machinelearning, kubeflow
Published: 2019-06-05 23:44:14

---
title: MiniKFでオンプレ機械学習基盤
published: true
description: 
tags: MachineLearning, KubeFlow
cover_image: https://thepracticaldev.s3.amazonaws.com/i/dwga21d0oxgf2qp7nus0.png
---

[Kubeflow](https://www.kubeflow.org/) とは [Kubernetes](https://kubernetes.io/) ベースの本格的な機械学習基盤です。Google に強力に推進されており、GCPには[ワンプッシュ](https://deploy.kubeflow.cloud/#/)でデプロイできます。AWSやAzureにも当然設置可能です。

今回は [MiniKF](https://www.kubeflow.org/docs/started/getting-started-minikf/)の新登場で、普段の開発マシンやオンプレサーバに簡単に本格的な機械学習基盤 Kubeflow をインストールできるようになりました。

# 準備

必要なもの

- Vagrant
- VirtualBox

## Macの場合

Brewを使うと楽勝です。

    brew cask install vagrant virtualbox

Virtualboxのインストールが `The Installation Failed` のエラーで失敗した場合は、Macの「セキュリティとプライバシ」の設定で、 "Oracle America, Inc." のソフトウェアを[許可](https://medium.com/@DMeechan/fixing-the-installation-failed-virtualbox-error-on-mac-high-sierra-7c421362b5b5)してください。

## Ubuntuの場合

VirtualBoxは apt で入ります。

    sudo apt install virtualbox

しかし、vagrant は apt で入るバージョンが古くて virtualbox に対応していないので、[ダウンロード](https://www.vagrantup.com/downloads.html)してインストールしましょう。

    https://releases.hashicorp.com/vagrant/2.2.4/vagrant_2.2.4_x86_64.deb

# MiniKF 起動・アクセス

    mkdir -p ~/w/minikf
    cd ~/w/minikf
    vagrant init arrikto/minikf
    vagrant up

最初の up では、VMイメージのダウンロードに20分くらいかかりますが、VMの起動が終わったら次に MiniKFを起動

    vagrant ssh
    minikf # vagrant 内

minikfコマンドが成功したら、
Kubeflow 画面 http://10.10.10.10:8080 
へアクセスできるようになります。

## Macの場合
    
2019/06/06現在、VM内で `minikf` コマンドが失敗に終わりました。

```
An unexpected exception has occured
Line: build/bdist.linux-x86_64/egg/rok_common/cmdutils.py:936
Type: CommandExecutionError
Reason: Command `<ExtCommand `systemctl start data.mount', status=FINISHED (ret: 1), PID=12176, shell=False>' failed: 'Job for data.mount failed. See "systemctl status data.mount" and "journalctl -xe" for details.\n'

The logfile `/home/vagrant/provision.log' may contain more information on this error, including a backtrace.

*** MiniKF provisioning tool terminated. Press Enter to restart, Ctrl-C to exit...
```

## Ubuntuなどオンプレサーバに入れた場合

MacなどからSSHトンネルを接続していきましょう。
サーバ `ai.local` でMiniKFを動かしていたら、

   ssh -NL 8080:10.10.10.10:8080 ai.local &
   open http://localhost:8080

によって Kubeflow 画面にいけます。

## URL、パスワード

設定情報は本系ドキュメントで[確認しましょう](https://www.kubeflow.org/docs/started/getting-started-minikf/)。 

# GPU

> MiniKF does not currently support GPU pass-through, but it is definitely in our immediate plans

![](https://cdn-images-1.medium.com/max/800/1*S82eDLKDWSAFdCpjXanuWw.png)

GPUはまだサポートされていないのですが、直近の開発プランに[含まれている](https://kubeflow.slack.com/archives/CGRKM3N0G/p1559146765015500)とのこと。

# おわりに

以上、本番で Kubeflow の運用を考えていたら、開発時に MiniKF を使って、本番と開発の差分を小さくしておきましょう。

本記事は[Medium](https://medium.com/@vochicong/minikf%E3%81%A7%E3%82%AA%E3%83%B3%E3%83%97%E3%83%AC%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E5%9F%BA%E7%9B%A4-2604a992fd6)と[Qiita](https://qiita.com/vochicong/items/0e0180a129f8c15d6a9c)からのクロスポストです。
[ 🇬🇧 ] What Kubernetes is and what it is not
Tags: kubernetes, discuss, docker
Published: 2019-06-05 23:28:12

Two questions were very important to me when my interest was on Kubernetes : 

- What is Kubernetes ?
- What Kubernetes is not  ?

By answering to these two questions, i was sure to start from the right point and also know the responsibility of Kubernetes . 

So let's make a pragmatic responses about that . 

### 💡What is Kubernetes ?

Kubernetes is a platform that wrap a huge number of services and capabilities ; these latter is growing day after day . 
From a top level we can say , the core functionalities of Kubernetes  is it's ability to manage containers across linux based infrastructure . 
But Kubernetes brings also a lot of feature such as : 

- Managing Secrets
- Checking applications Health
- Scaling application : Scale app and down
- Auto Scaling
- Instance replication
- Discovering resource
- Naming Resource
- Monitoring resource
- Managing and mounting Storage system
- Providing security component : Authorization , Authentication

In one sentence the responsibility of K8S is 

> Platform for managing containerized workloads and services, that facilitates both declarative configuration and automation.

### ⛔️ What Kubenetes is not ?

The Common mistake is to say  *Kubernetes is a Paas* ! 

**Kubernetes is not a platform as a service** (Paas) , in my opinion  Rancher is a Paas for Kubernetes  , It provide a high level configuration for kubernetes and provide some default configuration for Kubernetes to . 

In fact  Kubernetes doesn't dictate many aspects of our system and leaves them up to us to manage them . 

In facts Kubernetes does  : 

- not require a specific application type or a dependency framework
- not require a specific programming language
- not provide any database
- not provide any message queues
- allow us to choose our logging system
- allow us to choose our monitoring  & alerting system
- ..etc

### That's all Folks

---

In the next post we will discuss the relation between K8S and containers . We will find response for questions such as : 

- What's benefits of containers
- How we need to manage our containers
- ...etc
Test Driving FizzBuzz
Tags: tdd, testing, swift, beginners
Published: 2019-06-05 23:05:05

### What is TDD?
Test Driven Development is a development approach that involves writing your test first and then writing the simplest code that allows you to pass that test, allowing tests to guide your application code. This process is repeated as many times as it is required.

### Unit testing
Unit tests should test a single unit of code - generally a method/ function and should only be concerned with the output of that unit. We can use tools such as mocks, stubs and testing frameworks to make unit testing easier.

Generally unit testing consists of four parts:
* setup -  the system under test (usually a class, object, or method) is set up e.g ``account = Account.new``
* exercise - the system under test is executed ``account.deposit(1000)``
* verify - check the result against the expectation``expect(account.show_balance).to eq 1000``
* teardown - reset the system under test (usually handled by the language framework)

### TDD process
A common approach to TDD is the Red-Green-Refactor lifecycle:
* Red - write a failing test
* Green - write the simplest code to pass the test
* Refactor - clean up the code that was written

### TDD in swift
As I'm beginning my journey with swift I am interested in gaining exposure to the XCTest framework. In order to do this I will attempt to TDD a basic FizzBuzz app. This involves starting a project in XCode. 

Fizzbuzz is a programming Kata that can be used to learn TDD and is a great way to explore TDD in a new language.

### Process
* Create a file for the tests
* Write the first test e.g
```swift
    func testIsDivisibleByThree() {
        let brain = Brain()
        let result = brain.isDivisibleByThree(number: 3)
        XCTAssertEqual(result, true)
    }
```
XCode will throw some errors that you will want to resolve step-by-step.
* Import the app into your test file by placing``@testable import FizzBuzz``at the top of file under``import XCTest``
* Write the simplest code to pass the tests
```swift
class Brain {
    func isDivisibleByThree(number: Int) -> Bool {
        return true
    }
}
```
* Run the tests using ⌘ + U

This process is repeated for each piece of functionality with refactors when code starts becoming repetitive.

Here is a great article on Medium [Getting Started with TDD in Swift](https://medium.com/@ynzc/getting-started-with-tdd-in-swift-2fab3e07204b) that I followed in order to build FizzBuzz in Swift.
Up Your VS Code Game with Workspaces
Tags: vscode, workspaces, showdev, discuss
Published: 2019-06-05 23:01:01

> Photo by [Annie Spratt](https://unsplash.com/@anniespratt)

### What are Workspaces

VS Code's Workspaces allow users to customise both the UI and functionality of the IDE at a project level. Workspaces settings override `User Settings` and are useful for sharing project settings with other devs and allow for project specific functionality and customisation.

To open Workspace Settings use the shortcut `Ctrl+,`. You can either edit the settings using the UI on this view or click the `{ }` in the top right corner to edit the `JSON` file.

### What I use Workspaces for (atm)

- Adjusting `titleBar` colors to differentiate between multiple projects.
- `search.exclude` to hide `dist` / `plugins` / `vendor` folders from search results.
- Exportable config allows sharing with co-workers on a per project basis.
- Multiple folder paths on one project

```json
  "folders": [
    {
      "path": "C:\\laragon\\www\\backend_server"
    },
    {
      "path": "C:\\Github\\front_end_ui"
    }
  ],
```

### My Workspace Starter Settings

This is what I copy in to when I spool up a new project as a base - <a href="https://gist.github.com/lukethacoder/eecfc34c9c2bc63e87947d55d5b8b786" target="_blank">Gist</a>

```json
{
  "folders": [
    {
      "path": "C:\\Github\\PROJECT_NAME"
    }
  ],
  "settings": {
    "workbench.colorCustomizations": {
      "titleBar.activeBackground": "#141414",
      "titleBar.activeForeground": "#FFC87F",
      "titleBar.inactiveBackground": "#696969",
      "titleBar.inactiveForeground": "#FFC87F"
    },
    "search.exclude": {
      ".cache": true,
      ".vscode": true,
      "node_modules": true
    },
    "window.title": "${rootName}",
    "editor.cursorSmoothCaretAnimation": true
  }
}
```

### So what do you use?

What other handy settings should other developers be using with their workspaces?

### References

[User and Workspace Settings](!https://code.visualstudio.com/docs/getstarted/settings)
Live Coding a refactoring of a Node.js (JavaScript) Bitcoin Twitter Bot on Twitch
Tags: showdev, livecoding, node, javascript
Published: 2019-06-05 22:47:11

---
title: Live Coding a refactoring of a Node.js (JavaScript) Bitcoin Twitter Bot on Twitch
published: true
description: 
tags: showdev, livecoding, node, javascript
---

Just in case you missed it, here's the recording from my Live Coding session on Twitch!

I refactored a large file down from 75 lines of code to about 25. I created a plugin system to dynamically load events and I complain about keyboards!

[![Screenshot of my Twitch Live Code session](https://thepracticaldev.s3.amazonaws.com/i/hs31abqhcd9nr8lrfaxn.png)](https://www.twitch.tv/videos/434707544)

watch: https://www.twitch.tv/videos/434707544

Before: https://github.com/joelnet/bitcoin-all-time-high/blob/342398b80996610072d998754f8df672007b6eaf/src/recipes/all-time-high/index.js

After: https://github.com/joelnet/bitcoin-all-time-high/blob/33e71f421eb679bfa99f8f28c2860e5be028cd01/src/recipes/all-time-high/index.js

Cheers!

# 🍻
What HTML5 specific features have you used?
Tags: html
Published: 2019-06-05 22:02:56

---
title: What HTML5 specific features have you used?
published: true
description: 
tags: html5
---

I would like to know from people in the dev community, what HTML5 specific features have you used?

I personally don't see many HTML5 specific features used on the web so that is why I'm asking.
Logging Python Execution Time with a Decorator
Tags: python, tips
Published: 2019-06-05 20:16:32

---
title: Logging Python Execution Time with a Decorator
published: true
description: A quick way to monitor execution time.
tags: python, tips 
canonical_url: https://thomaseckert.dev/posts/logging-execution-time-in-python
---

Here is a decorator for logging execution time for a Python function:

``` python
from time import time


def print_execution_time(function):
    def timed(*args, **kw):
        time_start = time()
        return_value = function(*args, **kw)
        time_end = time()

        execution_time = time_end - time_start

        arguments = ", ".join(
            [str(arg) for arg in args] + ["{}={}".format(k, kw[k]) for k in kw]
        )

        print(
            "{} ms {}({})".format(
                str(execution_time * 1000), function.__name__, arguments
            )
        )
        return return_value

    return timed


@print_execution_time
def repeat(number, n_repeats=30000):
    return [number for number in range(30000)]


repeat(9)
repeat(20, 40000)
repeat(1, n_repeats=4000)
```

This will print the execution time in milliseconds and the name of the function run with its arguments:

``` bash
1.001596450805664 ms repeat(9)
1.0008811950683594 ms repeat(20, 40000)
1.0001659393310547 ms repeat(1, n_repeats=4000)
```
Are there any websites like dev.to for electronics ?
Tags: electronics, discuss, learning, help
Published: 2019-06-05 20:02:10

---
title: Are there any websites like dev.to for electronics ?
published: true
description: Suggestion for websites like dev.to for electronics
tags: electronics, discussion, learning, help
---

I don't know if this is a place for asking this, but is there one like dev.to . I really hope that there is one, really like this community.

Please comment if you know any. 
Thank you
Developer Rites of Passage
Tags: beginners, discuss
Published: 2019-06-05 20:00:42

Recently, I've been meeting a lot of newer engineers who don't really feel like they're "real" developers yet.

This got me thinking a bit about what constitutes a real developer and why [impostor syndrome](https://en.wikipedia.org/wiki/Impostor_syndrome) is so endemic in tech.

While I'm generally of the opinion that _anyone who codes is a "real" developer_, I also think it's worth celebrating the rites of passage that junior devs tend to go through.

Here are a few that stood out to me on my journey:

1. Writing my first [recursive function](https://javascript.info/recursion)

2. Debugging somebody else's poorly documented code

3. Setting up my first [cheap web host](https://www.timnoetzel.com/bluehost-vs-godaddy/)

4. Releasing my first app

5. Migrating from a cheap hosting to AWS

6. Releasing my [first public repo](https://github.com/tnoetzel?utf8=✓&tab=repositories)

7. Being generally useful on Stack Overflow

8. Mentoring other developers

Obviously, none of these alone make you a "real" developer, but they're fun milestones nonetheless.

How about you? When did you finally start feeling like a real engineer?