teleren/devto huggingface dataset:
Hello devs!
Tags: beginners, introduction
Published: 2017-12-09 21:06:22

---
title: Hello devs!
published: true
description: 
tags: beginners, introduction
---

Hello everyone!

My name is Olga. I am in a middle of a career change - coming from a humanities background, I went back to school to get a second degree in IT.

I've been a long time reader on this website and was inspired by Sam Jarman's article [How to Build an Online Presence as a Junior Developer](https://dev.to/samjarman/how-to-build-an-online-presence-as-a-junior-developer) to start blogging about my studies and findings. Hopefully, this will be useful not only for me but other people can learn from my process!
A Software Developer way to Propose
Tags: fun
Published: 2017-12-09 18:13:27

---
title: A Software Developer way to Propose
published: true
description: Just for fun. 
tags: #fun
---

A Software Engineer way to Propose:

I'm a singleton and you are my Single instance Object. My Love for you is always Immutable. Even though there may exists few mutable variables within me, I'll clone them away for anyone asking it, so that none can change anything about you. If we have differences in opinions, lets implement an adapter between us.

I'll be the Finally block for anything you try. You should catch the unchecked exception that you'll encounter. Log it or solve it is up to you, But No matter you succeed or fail, I'll be there behind you and even if you mess it up, I'll be there to return you back to execution.

Let us not extend one from other. Whats there to live when we simply extend everything apart from their private from others? Rather lets live the life by implementing the good things as Interfaces in our life. Let's write our own definitions on how we want to live. You write yours and I write mine. But we both can be instantiated by any of the interfaces this world may call us with.

The place I gave for you in my heart is a Strong Reference. I'll hold on to you so that the GarbageCollector (Time) can never free you up from me.

You can make me a Promise and it's up to you to keep it. 

But When I make you a promise you should wait to see if I honor it in the Future. 
<br>
Forever your static final Variable,
Ritchie Einstein.
So I forgot about a scraper
Tags: scraper, datascience, meta
Published: 2017-12-08 21:12:18

---
title: So I forgot about a scraper
published: true
tags: scraper, datascience, meta
---

Back in April I contacted dev.to whether there was an API available or not. I needed that API because back then (and now!) I thought that the content was worth saving as reference. I coded a simple python scraper and converted the plain text to an PDF because those are more readable to me. I started running this program on my raspberry pi.


My data store grew and grew, but I never read anything. It was pointless, and decided to pull the plug on it. At least, I thought I pulled the plug. I remember disabling the cronjob, but today I was messing some more with cronjobs and found out was running ever since. I think this scraper has been running for at least 7 months.


**Editors note:** The reason why the plug wasnt pulled is because my SD card was in read-only mode. This means that I could make changes, which would only live in thee RAM. When the RPI was rebooted, the data disappeared. This renders this data useless, because it is data what got scraped to some point in time + the days while the pi was running.


Note that the data is only the raw text of the articles, not the comments and such. Discuss topics weren't really a thing in April.

*Disclaimer: those numbers are probably not 100% accurate as it was just a quick script*

First of all I decided to get some basic statistics on the dataset:

| Category           | Statistic    |
| ------------------ | ------------ |
| Amount of articles | 1759         |
| Total size         | 196608 bytes |
| Amount of authors  | 793          |


Then I was wondering who were the top 10 posters:

| Who              | Amount of posts |
| ---------------- | --------------- |
| Ben Halpern      | 128             |
| Vaidehi Joshi    | 30              |
| Beekey Cheung    | 25              |
| Walker Harrison  | 24              |
| edA              | 22              |
| K. 👓            | 21              | 
| Ken W Alger      | 19              |
| Phil Nash        | 18              | 
| Ryan Palo        | 16              |
| dev.to staff     |16               |

And for fun I checked a few terms whether how much they existed in unique article titles. Note for words like 'go' it is taken into account that it could have other meanings and thus those were handpicked.

![A graph with random terms][graph]

[graph]: https://thepracticaldev.s3.amazonaws.com/i/uo0fd4gb88564ozzyeaa.png

For now I will turn my scraper off, but I will keep this corpus to practise some text mining on. If you have ideas on what to do with this data, please share!
Learning GraphQL with React and Relay - Video
Tags: react, relay, graphql
Published: 2017-12-08 17:40:29

---
title: "Learning GraphQL with React and Relay - Video"
published: true
description: "Learning GraphQL with React and Relay is a video course designed to help you learn to build a Relay compliant GraphQL backend by building a blog.
The course is packed with step-by-step instructions, working examples, and helpful advice about GraphQL."
tags: React, Relay, GraphQL
---

Hello! So, I have been cooking this course for the last two months and finally, it is ready! 

Tadaaa! - [Learning GraphQL with React and Relay [Video]](https://www.producthunt.com/posts/learning-graphql-with-react-and-relay-video)

I have put a ton of effort in this one, we will be covering the following:- 

- Understand the working of a GraphQL server in a language agnostic way
- Use React and Relay with GraphQL backend
- Create your own GraphQL API with a blog
- Test a client and GraphQL backend
- Implementing scaling/pagination for a GraphQL API coupled with Relay client
- Write test cases for backend and frontend (Bonus: React Storybooks)

I will also be posting a ton of content on a site I have been cooking - [GraphQL.in](https://graphql.in)
WDS3 - HTML Basic Body Tags
Tags: html, wds
Published: 2017-12-13 20:31:00

---
title: "WDS3 - HTML Basic Body Tags"
published: true
tags: HTML,WDS
canonical_url: http://thecodingexpress.blogspot.com/2017/12/wds3-html-basic-body-tags.html
---

In the last article we learnt:  

- What is HTML
- Basic HTML Structure
- Where we will write HTML
- Your first HTML Document&nbsp;
&nbsp;Now all of you know that our html document has two main sections:  

- head
- body
Our actual document that will be visible to us in the form of webpage will be written in body part of html while other important information about document including title will be written in head part of html. So in this part we are going to see some other important tag to enhance your content which will be used in body part of html.   

### HTML Headings

HTML headings are defined with the **\<h1\>** to **\<h6\>** tags. **\<h1\>** defines the most important heading while **\<h6\>** defines the least important heading. While trying all the examples from now on, you can use head part from previous article and change the body part to see your result as we did in last article(WDS2). So here is how you will use HTML headings:&nbsp;
<script async="" src="//jsfiddle.net/TheCodingExpress/mtv77eh9/3/embed/html,result/dark/"></script>&nbsp;   

### HTML Paragraphs

For paragraphs, we use \<p\> tag in HTML.
<script async="" src="//jsfiddle.net/TheCodingExpress/wdt1nv7y/embed/html,result/dark/"></script>   

### HTML Links&nbsp;&nbsp;

In many cases you have to include link to another webpage in your page. It is bad idea to just write down entire link because then user have to copy and paste that link to open it. Instead HTML provides you with Anchor tags **\<a\>**. You will use **\<a\>** and **\</a\>** tags to wrap test you have to use as link. Then inside starting \<a\> tag, you will include attribute. Attribute is a new concept here. Attributes are used to provide additional information about HTML elements. Here you will use href attribute and will enter link to webpage you want. Lets see the example:
<script async="" src="//jsfiddle.net/TheCodingExpress/yb7duof1/embed/html,result/dark/"></script>   

### HTML Images

&nbsp;HTML images are defined in \<img\> tag. As I mentioned before this tag does not have any closing tag. It has 4 main attributes:

- **src** : This provides link to the image.
- **alt** : In some cases, image does not load. At that time this will be used as alternative text.
- **width** : Width of image
- **height** : Height of image&nbsp;
Let's see on example: <script async src="//jsfiddle.net/TheCodingExpress/ry8o8y41/1/embed/html,result/dark/"></script>   
Try to practice all this tags and message me if you stuck any where.  
That's all for this article. In the next part, we will learn about few other tags and their uses.Comment on how you think this article is, what improvements should I do and for any doubts. Share with your friends and _ **keep coding** _.
Friday Blast #20
Tags: fridayblast, links, post
Published: 2019-01-20 15:21:55

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

This week - career advice.

[Don’t call yourself a programmer, and other career advice (2011)](http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/) - the first out of three from [patio11](https://www.kalzumeus.com/about/). The main idea is to view yourself as a contributor and bringer of value to the organization you’re a part of, rather than a _programmer_. There’s other good stuff in there like not being defined by a software stack, and general job finding advice.

[Salary negotiation: make more money, be more valued (2012)](http://www.kalzumeus.com/2012/01/23/salary-negotiation/) - the second out of tree from patio11. The main idea is to get good and proactive at salary negotiations, rather than be non-combat about it.

[Salary negotiation and job hunting for developers (2016)](https://www.twilio.com/blog/2016/02/patrick-mckenzie-on-salary-negotiation-job-hunting.html) - the final article from patio11. This is mostly a summary of the previous two, but this is important stuff and well worth repeating.

[Big company vs startup work and pay (2015)](https://danluu.com/startup-tradeoffs/) - this is [Dan Luu](https://danluu.com/) doing an interesting comparison between big companies and startups. First off you should follow his blog - it’s one of the best tech career blogs. Spoiler - big companies come out way ahead of startups in general, for both interesting work and for pay, especially if you play your cards right. It is a temporary thing though, and as far back as 7-8 years ago, things were much more balanced.

[Developer hiring and the market for lemons (2016)](https://danluu.com/hiring-lemons/) - again an article by Dan Luu. It analyzes why it is so hard to find good developers _and_ to be found by good companies as a developer. It’s certainly much more complex than an brief article like this, but the information asymmetry between candidates and companies distorts the hiring market much like in the classic “Market for lemons” economics paper.

[Google infrastructure security design overview (2017)](https://cloud.google.com/security/security-design/) - part of the docs for the Google Cloud Platform. Security in depth to say the least. Worth keeping in mind next time somebody argues about the “cloud” not being safe etc. How many homebrew datacenters can do half of this?
Install Python Modules from *.whl file
Tags: python, pip, packages
Published: 2017-12-08 09:22:27

---
title: Install Python Modules from *.whl file
published: true
description: installing python modules/packages from a *.whl file using pip 
tags: python, pip, packages
---

1- go to this [link](http://www.lfd.uci.edu/%7Egohlke/pythonlibs/)
2-download your module keep in mind you will choose the file you download according to your system 32x ,64x and the python version you have 3.4 or 2.7.
3-go to the path where you download the file with the extention *.whl 
4-open the command and run `pip install <file_name_u_just_dowload>`
#### Note
make sure your are adding pip and python to your sys environment variable to be apple to use the pip command

###### Reference [Stack](http://stackoverflow.com/questions/32446146/import-pyhook-failed)
Programmers that can't type shall be shunned and treated with disdain.
Tags: discuss
Published: 2017-12-08 08:33:56

---
title: Programmers that can't type shall be shunned and treated with disdain.
published: true
tags: discuss
---

![comic of title](https://i.imgur.com/tOomtOg.png)

Learning how to type well, you know, without constantly looking at the keys and using all of your fingers, is an essential skill for anybody spending their days a the keyboard. It pains me whenever I encounter programmers that can not type.

I think it's a frustration point for many colleagues. You want to help somebody, but it's no fun watching them peck away at the keys trying to get their thoughts down.

I've been doing a lot of interviews lately and it's a recurring problem. Some interviewees simply won't get done the question because they can't type correctly. Even if their problem solving is okay I get a bad impression since it takes too long to produce code.

What are your thoughts?

_Note:_ In case it wasn't clear, these little comics are exaggerated for comic effect. I have a whole series of them. I've decided to add these discussions as a little bit of background to the series. Obviously I'd never advocate actual disdain for somebody.
Cherry Picking in Version Control
Tags: git, versioncontrol, productivity
Published: 2017-12-08 04:07:39

---
title: Cherry Picking in Version Control
published: true
description: Tips for using git
tags: git, version control, productivity
---
Lately, I have been trying to improve my knowledge of git. I think it’s a tool that is often overlooked in our day-to-day as developers because we focus so much on writing code. When something goes wrong with version control, it’s easy to want to blow away a branch and manually copy code to a new one or even remove the local repository and clone again. Instead of taking the hard road, let’s try to correct conflicts or inconsistencies with the features already provided by git. Without further ado, say hello to *cherry-pick*.

To get started, let’s open a new terminal window and create a new project folder called `demo`.  I’ll be using Bash commands so if you’re using Windows you will just use the CMD alternatives.
```bash
$ mkdir demo
$ cd demo
```
Lately, I’ve been learning Swift to create an iPhone app so let’s create a new Swift file in the `demo` directory called `main.swift` and initialize a new git repository.
```bash
$ touch main.swift
$ git init
$ git add -A
$ git commit -m "First commit"
```
Now to illustrate how `cherry-pick` works, I’m going to create another branch called `feature`.
```bash
$ git checkout -b “feature”
```
Under this new branch, we’ll create a new file called `Foo.swift` and commit it.
```bash
$ touch Foo.swift
$ git add -A
$ git commit -m “Added Foo file”
```
Then, we will create another file called `Bar.swift` and commit it as well.
```bash
$ touch Bar.swift
$ git add -A
$ git commit -m “Added Bar file”
```
So now, we should have three commits in our `feature` branch. Let’s view them by using git log.
```bash
$ git --no-pager log —-oneline
4f070d4 (HEAD -> feature) Added Bar file
7f96854 Added Foo file
865cc49 (master) First commit
```
Now, let’s switch back to our `master` branch.
```bash
$ git checkout master
```
For illustration purposes, let’s say now that the requirements of our project have changed and in our `master` code, we just need the `Foo` file and not the `Bar` file. If we run `git merge` with our `feature` branch, we’ll get both files though. So what’s the solution? We will cherry pick the commit we want so we can add only the `Foo` file to `master`. Grab the commit hash for the `Foo` file from the previous `git log`  and we’ll use it in the next command and run `git log` to see the results.
```bash
$ git cherry-pick 7f96854
$ git --no-pager log --oneline
4e8af63 (HEAD -> master) Added Foo file
865cc49 First commit
```
Now we have the `Foo` file in `master` without the `Bar` file!

This example is a very simple view of `cherry-pick`. Cherry picking is not something you would want to use with large or complicated merges, but is a great way to work with small changes and conflicts. If you want to go even more in depth, then check out `git rebase` for more advanced branch changes.

Happy committing!
The Enormous Diversity Problem at AWS re:Invent 2017
Tags: diversity, aws, life, culture
Published: 2017-12-08 02:26:34

---
title: The Enormous Diversity Problem at AWS re:Invent 2017
published: true
description: 
tags: #diversity #aws #life #culture
canonical_url: https://blog.kylegalbraith.com/2017/12/08/the-enormous-diversity-problem-at-aws-reinvent-2017/
---

I will be the first to admit I don't have all the answers. I will also say that I speak as a white male programmer in a position of power. There is no one person to blame or entity that has failed. But as a member of this community I have a responsibility to report what I observed.

The technology community has a massive diversity problem. Nothing made that more obvious then attending the AWS re:Invent conference this year with 43,000 other attendees.

It is easy to forget if you work for a diverse company. It seemed a bit second nature to me to have colleagues from underrepresented groups. Having others in the room with different perspectives on solving problems is incredibly valuable. Yet, you walk into an exhibit hall in Las Vegas for re:Invent and it becomes clear not everyone in the tech community has caught up.

Walking from session to session you could actually count the number of people from minority groups on one hand. Hundreds of people you are walking past, and those that were not white males could fit on one to two hands. That is at best 10% if we are lucky and probably more like 2-3%.

Do the math. 43,000 attendees with only 2-3% being non white male means there was at best 800-1,1300 attendees from underrepresented groups. We have to do better than that.

Amazon Web Services tried to promote diversity. There was a diversity track of breakout sessions, cocktail hours for Women In Tech, and awesome presenters for keynotes. It's not enough though. The lack of diversity with re:Invent attendees shows that companies still don't get it.

The same types of people in the same room all the time leads to the same thoughts, processes, and failures. It promotes the same ludicrous behaviors and actions that we are seeing on our news channels. As an industry that is going gang busters, we must do better. Amazon must exert its presence and tell attendees to do better.

There isn't change without action and those that wield the biggest stick are those that must act. But we must also act as well and push those around us to understand the value in diversity. It is a massive failure in the tech community if we do not solve the problem I observed at re:Invent.

As I said at the start of this post, I don't have all the answers. But I am happy to help in anyway I can. I will continue to promote diversity in my workplace, on Twitter, and with those I network with. I believe a failure to do so is a failure to recognize that we have the power to change the world.
A small piece of code which is going to inspire you to try out Kotlin
Tags: kotlin, java
Published: 2017-12-07 22:12:24

---
title: A small piece of code which is going to inspire you to try out Kotlin
published: true
description: 
tags: kotlin,java
---

A few months ago I’ve started to discover Jetbrains’ Kotlin language which gave a good impression to me. I can't express my thoughts better than this comment

> Kotlin isn’t revolutionary but that’s what is nice about it. If you want revolution then there is Scala and all its headaches. If you want a language that basically codifies Effective Java then that’s Kotlin. — [meddlepal@reddit](https://www.reddit.com/r/java/comments/6pgz0e/what_are_your_thoughts_as_a_java_developer_on/dkpj7mi/)

There is a [bunch](http://kotlinlang.org/docs/tutorials/) of excellent [tutorial](https://code.tutsplus.com/tutorials/an-introduction-to-kotlin--cms-24051) on the web, and I don’t want to bore you with the basics, I just simply want to show you through an example that besides the highlighted sentence Kotlin is less verbose than Java.

**So given a string as key, and a list of integers as value. Add a value to the key's list if its exits, otherwise create the list first, then add the value for it.**
Java version {% gist https://gist.github.com/Pozo/13e782aab6c0e99d3e677cd4d4da36d4 %} Kotlin version {% gist https://gist.github.com/Pozo/bdffe8987e0fac5a19ea13c2d3ed86f2 %}

So don't hesitate it absolutely worth a try :)
First Impressions on Using the Amazon Echo Show to Aid Distributed Work
Tags: tips
Published: 2017-12-07 18:37:43

---
title: First Impressions on Using the Amazon Echo Show to Aid Distributed Work
published: true
description: We picked up a few Amazon Echo Shows on Black Friday to start playing around with, and I'm really happy with the promise so far.
tags: tips
cover_image: https://thepracticaldev.s3.amazonaws.com/i/0qpbdq8r7djj822ucipq.jpg
---

We are a small-but-growing team based in New York City. We are primarily based on location at the moment but have had a keen interest from day one in supporting a great distributed workflow. That means making it a priority and continually testing and evolving our practices.

Working distributed means constantly working on communication and embracing asynchronous communication while also being aware of its pitfalls. Part of this is the tools we use. Ideally they get out of the way and we do not have to worry about them.

We picked up a few Amazon Echo Shows on Black Friday to start playing around with, and I'm really happy with the promise so far. They're a dedicated device which is never going to have the wrong mic turned on, not configured for video chat, or any of the things that _always happen_ during video chats. The mic is great and they are really built to serve our exact user experience expectations. I could see us really rallying around this technology—or better tech that it inspires.

It's missing some of the features we get from our other video chat features, but I now couldn't see wanting to take part in a certain kind of distributed meeting without it. There is a risk in having _too many ways to do a video call_ and forcing some kind of pre-negotiation each time. If Slack's video chat worked a bit better, we might rally around that 100% but that just is not the current state of things.

Setting up the Echos could have been easier, but overall I'm excited to make better use of these and I already feel more confident in my ability to work from home and have much better meetings. If you and your team find yourselves asking "can you hear me? are you there?" a bit too often, I'd definitely suggest experimenting with the Show.
5 Gotchas of Defer in Go — Part I
Tags: go, programming, tutorial
Published: 2017-12-07 18:33:55

---
title: "5 Gotchas of Defer in Go — Part I"
published: true
description: Protect yourself from basic defer gotchas.
tags: go, golang, programming, tutorial
---

[![](https://thepracticaldev.s3.amazonaws.com/i/v1jj8a9icie3jmxi8kcm.png)](https://blog.learngoprogramming.com/gotchas-of-defer-in-go-1-8d070894cb01)


## What is inside?

* Deferred nil func
* Defer inside a loop
* Defer as a wrapper
* Defer in a block
* Deferred method gotchas

**👉 [Press here to read the new article](https://blog.learngoprogramming.com/gotchas-of-defer-in-go-1-8d070894cb01)**.

*See you in two weeks!*

---

[Learn Go Programming](https://blog.learngoprogramming.com)

👉 I’m tweeting tips and tricks about Go almost daily, [follow me on twitter](https://twitter.com/inancgumus) and get them.