teleren/devto huggingface dataset:
The Tipping Point - Part 1
Tags: neo4j, graphql, react, javascript
Published: 2018-11-09 02:54:30

---
title: The Tipping Point - Part 1
published: true
description: I finally decide to take the plunge and build something real
tags: Neo4J, GraphQL, React, Javascript
---

I began working toward my goal of becoming a software developer since 2016. I've blogged about it off and on when I find the time and inspiration. My most popular effort has been my first, [When Going it Alone Quit Working(Or How I Learned to Love Programming)](https://realworldcoding.io/when-going-it-alone-quit-working-or-how-i-learned-to-love-programming-d6e011d9b3bd) and a year and a half after writing that post I'm happy to be able to say a few things:

**One**, that I've been a working software developer for almost a year.

**Two**, in addition to my day job, where I write mostly Python web scraping code, I've been able to teach myself full stack web development using React, Node.js, and NoSQL databases like MongoDB and Neo4j.

**Three**, I'm ready to take all of this to the next level and build something that quite honestly, I'm not sure I'm ready to and it looks like this.

![Graph](https://thepracticaldev.s3.amazonaws.com/i/jtv2gw5qbjsdsc6h5gsm.JPG)

Now you may be looking at this, scratching your head, and wondering what exactly it all is. To make a long story short, it's a graph of relationships that exist between land and mineral owners and the oil companies that lease their land to drill oil and gas wells. Here's a subset picture of those relationships. The problems involved in tracking these relationships are myriad but I think I know how.

![Subset](https://thepracticaldev.s3.amazonaws.com/i/4drh8873evf8pmzkl0s2.JPG)

In case you haven't read anything I've written before, just know that I live in the middle of a massive oil boom in West Texas. While I've been successful in getting myself out of my muddy boots and into an office writing code, I've been unsuccessful in getting myself to a different geographical location (which is changing soon) and so many of the jobs that I find to do are still oil related. It's simply where the money is here. I do side work for a family-owned company automating some of the more arduous tasks and out of that work I've identified a problem that I think I can solve for them with the skills that I've learned.

The past year has been an amazing learning journey. I've entered into a mentorship program to learn JavaScript and it's best practices. I got a Udacity Nanodegree from their React/Redux program and whenever I get the chance I've been taking every tutorial I can get my hands on to learn GraphQL and how to build databases, my favorite being the NOSQL offering Neo4j. I've worked to round myself out and be a true full stack developer. I've reached the tipping point where I feel like I can take all of these skills and create something real. I hope to detail the problem I'm trying to solve, the technologies I've chosen and why in this series.
How did linguistics influence programming?
Tags: discuss, linguistics
Published: 2018-11-09 02:46:26

---
title: How did linguistics influence programming?
published: true
cover_image: https://thepracticaldev.s3.amazonaws.com/i/a2y8tn64cwwwj4ihno0t.jpg
tags: discuss, linguistics
---
Photo by [Ben White](https://unsplash.com/photos/qDY9ahp0Mto) on Unsplash

I know that mathematics influenced programming big time! And I'm sure the words big time are not enough to describe that.

But I was wondering how did linguistics influenced programming. Is it a too general question to ask?
How to autoscale on Heroku
Tags: rails, scaling, ruby, heroku
Published: 2018-11-09 01:11:24

---
title: How to autoscale on Heroku
published: true
description: Get autoscaling without paying $250+/month
tags: rails, scaling, ruby, heroku
---

Heroku makes it easy to add servers for your app (“dynos” in Heroku lingo). They give you a handy slider on your app dashboard and you simply dial in how many dynos you want.

![dyno slider](http://g.recordit.co/JjfGDgy782.gif)

This is helpful if you notice a spike in activity.

But what if you’re sleeping? (Or you don’t get a notification?)

Autoscaling essentially manages the slider for you. Using a metric such as response time or request queueing time, autoscaling will automatically increase or decrease the number of dynos running for your app.

Heroku offers this in their higher priced tiers ($250+).

If you’re on a lower tier, you’ll need to use an add-on like [Rails Autoscale](https://railsautoscale.com/).

![Rails Autoscale](https://thepracticaldev.s3.amazonaws.com/i/g86uabmf9c4i0ojtsirn.png)

### When should I add dynos for my Heroku app?

More dynos mean your app can serve more concurrent requests. If you’re seeing increased request queueing times (anything over 50ms), it means you don’t have enough dynos running to serve your current load, and you should add dynos.

This is tedious to do manually, though, and chances are you don’t need those additional dynos 100% of the time. This is why folks choose to autoscale their dynos. It reduces costs while providing peace-of-mind that your app can handle sudden increases in traffic.

For more information, read this article: [4 Ways to Scale on Heroku](https://masteringheroku.substack.com/p/4-ways-to-scale-on-heroku).

### Will adding dynos (scaling up) make my app faster?

Not necessarily. Adding dynos allows your app to serve more concurrent requests. If your app is at capacity (you’re seeing increased request queueing times), then adding dynos will certainly improve response times. If requests are not queueing, though, scaling up will not help your app’s performance.

To truly improve your app performance, you’ll want to use a tool like Scout or New Relic to identify the bottlenecks in your app code. Most often this is caused by excessive or slow database queries.
What's software development like as a non-native English speaker?
Published: 2018-11-08 22:50:59

I've thought about this before, but recently I got triggered to write this, thanks to this image:

![](https://blog.shalvah.me/store/media/3o3knp6z45jbsx675d9j.png)

\(From [this post](https://dev.to/gmartigny/awesome-projects-under-1000-stars-3---lyo-2k93)\)

You'll notice that the output of `npx` is in French \(I'm guessing that's @gmartigny's system language\). But the output of `lyo` is in English. My deduction is that NPM uses internationalised strings, while lyo uses hard\-coded English.

I'm not blaming Lyo. Internationalisation is non\-rivial work \(which languages to support, machine translations vs paying translators, ensuring UI components don't look weird on some languages,...\). Personally, I've never worked on an app that supported languages other than English.

So much of the software world uses English as a lingua franca \(programming language keywords, documentation, package commands, and the like\), to the point where developers who aren't fluent in English still release packages in English.

However, I'm curious. What's it like for developers whose primary language is not English \(or who are not fluent in English\)?

What's it like to come to a GitHub readme and have to use Google Translate to figure out how to use the package?🤔🤔

_The irony that this post is in English is not lost on me.😆_
It's good to identify what you don't need to bother learning
Tags: bestofdev
Published: 2018-11-08 22:16:57

This thread has a lot of great answers:

{% link https://dev.to/aspittel/what-are-you-not-interested-in-learning-57f0 %}

I tried to comment, but was not able to really put my finger on the stuff I'm not interested in learning. Instead I simply read, and I believe there is a lot of wisdom in some of these answers. Enjoy!

{% devcomment 6j3f %}

{% devcomment 6j4m %}

{% devcomment 6j5c %}

{% devcomment 6jcd %}

{% devcomment 6jec %}

{% devcomment 6jb1 %}

The thread has a lot of other great answers I didn't highlight. The point is that managing your own expectations and being okay with the fact that you'll never learn everything is important.

Nobody is telling you that you can't change your mind later, but it's okay to fall behind in certain areas of software development while going deeper on others. Managing this interplay is important for your career evolution.

Here is a somewhat related post, addressing the other end of the generalist-specialist concern:

{% link https://dev.to/hanmaslah/when-do-you-become-a-jack-of-all-trades-but-a-master-of-none %}

Happy coding ❤️
Add an Emoji Favicon to your site!
Tags: html, flask, python, beginners
Published: 2018-11-08 22:12:43

---
title: Add an Emoji Favicon to your site!
published: true
description: Want to add a fun favicon to your site without doing any image editing? I got you! 
tags: html, flask, python, beginner
canonical_url: https://andypickle.dev/posts/emojiFavicon/
---

Hey there, this is my first post on dev.to, so I thought I'd share a short little trick I learned that makes websites look better!  

For starters, if you don't know what a favicon is, don't fret! I didn't until recently. Its the small thumbnail on your tab. If you use Google Chrome, it looks like this: 

![Favicons!](https://raw.githubusercontent.com/pickleat/dev.to/master/Screen%20Shot%202018-11-08%20at%201.22.49%20PM.png)

I've been working on a project1 for CS50 for web-programming class. The assignment: build a book review website, using Flask and PostgreSQL. While I was working on it, I got bit miffed that my site wasn't looking very professional. I was using Bootstrap, for the ease of formatting, but that wasn't looking great, just a tad better than the default. I decided adding a favicon would help a bit, but I didn't want to mess with making a logo or finding a picture and scaling it, so I thought. Maybe an emoji would work? It did, fantastically! 

I decided it would be painless to find the emoji I wanted and then just add it to my <head> of my template.html. Here's how the code ended up looking: 

![Code Screenshot](https://raw.githubusercontent.com/pickleat/dev.to/master/Screen%20Shot%202018-11-08%20at%201.34.58%20PM.png)


This adds a great touch, and if a user is like me and has 15 tabs open at all times, the favicon, would help them find the correct page. 

Here's how I did it:
1. Head to https://emojipedia.org/
2. Find your emoji. 
3. Right-Click on the emoji style you prefer (I'm an Apple person)
4. Copy the link and insert into your ```<head>``` tag like so:```<link rel="icon" href="https://emojipedia-us.s3.dualstack.us-west-1.amazonaws.com/thumbs/240/apple/155/books_1f4da.png">```

And you're done! I was using flask for this project, so I put this in the layout page and it dynamically puts in on any template that has the ```{% extends "layout.html" %}``` at the top of the .html doc. 

Here's how it looks! 

![Look at the icon in the tab!](https://raw.githubusercontent.com/pickleat/dev.to/master/Screen%20Shot%202018-11-08%20at%201.36.46%20PM.png)

As you can see, I'm still testing on a localhost, haven't quite finished the project yet, but it'll be on my [profile site](https://pickleat.github.io/), and its own [repo](https://github.com/pickleat/BookReviewSite) as well. 

Thanks for reading! If you liked this, let me know. If there's a way it could be better, let me know! Feel free to follow me on [Twitter](https://www.twitter.com/pickleat) or [Github](https://github.com/pickleat)!
Node Package Manager Commands
Tags: node
Published: 2018-11-08 22:00:44

---
title: Node Package Manager Commands
published: true
description: Intro to NPM and how to use it
tags: Node
---

Node is a JavaScript run time environment that serves as a light yet robust server. Node was released May 27, 2009, and it does not seem to be going anywhere. It is used by some of the biggest names in tech, including; [Paypal, Netflix, and Uber.](https://brainhub.eu/blog/9-famous-apps-using-node-js/) Execution of JavaScript for Node is performed in your browser. For Chrome users that means that it is being ran by its engine, called V8. 

Node Package Manger was implemented shortly after its release, adding to the appeal of the software. At this time the most popular NPM package for core functionality is express. Express is a framework that allows developers to deploy applications fast and painlessly. It does so by implementing routing, standard performance fixes and content negotiation.

Installation of packages happens in the console. The basic commands for NPM are;

    //This command would install express.
    npm install express

    //The aforementioned command can shortened by typing i instead of install.
    npm i express.

After you install your package you will be asked to assign several values to this application, such as the name of the application. You can skip this step and accept all standard answers like so.

    npm i express -y

If you have any experience with your console these commands should feel fairly familiar. [Here](http://dreamerslab.com/blog/en/npm-basic-commands/) are some other beginner commands to get you started.
Global Day of Code Retreat soon!
Tags: coderetreat, codingdojo, learning, events
Published: 2018-11-08 21:41:23

---
title: Global Day of Code Retreat soon!
published: true
description: Announcement about the upcoming #gdcr18
tags: coderetreat, codingdojo, learning, events
---

Just a quick reminder that the [Global Day of Code Retreat 2018](https://www.coderetreat.org/) will be taking place (very) soon.

More precisely next November 17th.

![Code Retreat Banner](https://thepracticaldev.s3.amazonaws.com/i/4i4431n6s4b1zzzwmjxq.png)

What is a "code retreat"? An event where developers of all backgrounds and experience levels meet together to network, practice, exchange, learn and have fun. It is very energizing because you spend many hours pair-programming together with people that are motivated, as you, to improve and learn.

Not sure if there is an event near to you? You can check that here:

https://www.coderetreat.org/events/

Can only recommend it! Well worth the time.
Some feedback about the dev.to editor
Published: 2018-11-08 21:38:45

---
title: Some feedback about the dev.to editor
published: true
description: 
tags: 
---

I just typed a short blogpost and accidentally clicked on the "Write a post" button instead of "Save post", as they sit very close to each other and have very bright colours of primary actions. The sad part is that I got directed to a new blank page to start typing a new post. I lost my previous post :(

Did someone else experienced that and, because of that, moved to another editor and copied/paste here?

The blogpost was about being a pro, how I got this triggered by another [mention of being a pro by Seth Godin in Tim Ferris podcast](https://tim.blog/2018/11/01/seth-godin-this-is-marketing/), and how I did manage to fail on my third day of becoming a pro. I mentioned the book [The War of Art](https://shop.blackirishbooks.com/products/the-war-of-art), I recommend it.

Obs: I almost clicked on "Write a Post" again when I wrote the last paragraph, as it stays on the fixed header when you scroll down, not the "Save post" button.

Obs2: Just reminded that dev.to is open source and somebody will say that PR are acceptable :) Thanks in advance for the note.

Obs3: Missed a last "Write a post" click. Uff...
Game Off 2018 (3)
Tags: lua, gamedev, gameoff2018, pixelart
Published: 2018-11-08 21:12:59

---
title: Game Off 2018 (3)
published: true
description: Edition of the map and some animation for the flower!
tags: lua, gamedev, gameoff2018, pixelart
---

Hello!
Today I don't really have the time to work on the game so I've "just" made some pixel art, new tiles for a little pond. So now the flowers have growing animation! This is a very basic code for now but it's work! And Like I've say it, I've add a road, a little truck!

![Map](https://thepracticaldev.s3.amazonaws.com/i/g40gscr1eymg950jorhv.gif)

It's all for today!
Tomorrow I think I'm going to work to draw and move the player, and place some flowers.

Thanks and have a nice day!
Drifting Ruby: A Good Free Chanel for Ruby
Tags: ruby, rails
Published: 2018-11-08 20:49:50

---
title: Drifting Ruby: A Good Free Chanel for Ruby
published: true
description: 
tags: ruby, rails
---

Today I meet this in Ruby Weekly. Share with you.

Newest one is: Grab Bag of Ruby and Ruby on Rails Tricks

[home -->](https://www.driftingruby.com/episodes)
[youtube links-->](https://www.youtube.com/channel/UCxJaNyXCQw0mghY0hA1wA9w)
How to change tables structures with migration without losing your data in Laravel
Tags: laravel, php, tutorial
Published: 2018-11-08 19:41:32

---
title: "How to change tables structures with migration without losing your data in Laravel"
published: true
tags: laravel, php, tutorial
---

This is something that I had always asked myself. "How to add a new column to a table without having to go directly to the database or rollback the migrations?"

Laravel does not generate the migrations automatically through the models as Django or Entity Framework does, but we need to do it manually.

Imagine that you have an application in production and you need to add a new column to the user table. Instead of rollback your migrations (which would cause the data to be lost) you can create a new migration to update the existing table.

**Let's go**

We have the initial migration of the user table and we want to add a column called picture:
![Initial Migration](https://thepracticaldev.s3.amazonaws.com/i/6qnv814kos5xcq5t553p.png)

We execute the following command:

```
$ php artisan make:migration add_picture_column_to_user_table --table=users
```
This command would create a new migration file in which we would add our new column.
![New Migration](https://thepracticaldev.s3.amazonaws.com/i/zt85j1lvcmmjxuyp1x1t.png)

Then run the migrations using `php artisan migrate` and that's all. You'll have this new column in your users table without losing previously stored data.

![Database Screenshot](https://thepracticaldev.s3.amazonaws.com/i/zk73c16wh2s9i63uwvf0.png)
API == server?
Tags: javascript, api
Published: 2018-11-08 16:03:30

---
title: API == server?
published: true
description: 
tags: JavaScript, API 
---
Recently, I ran into a YouTube video explaining API. The video used 'API is like a server in a restaurant' as an analogy, so I wanted to share that analogy here on my blog.
  
Have you ever wondered exactly how we get all the information that we ask for on internet?  How we make a reservation or buy things with just a few clicks? The behind scene hero is API. It stands for Application Programming Interface.  

API is the messenger that takes requests from us and tells a system what we want, and then returns the responses back to us, just like a server in a restaurant.  We, the customers, order food from a menu to a server, and the server takes the order to the kitchen and then brings back what we ordered to the table. 

If we apply this to a code, it will be like this:

<pre>
    //api call - ordering food
     $.get('/api/order')
       .then(function (food) {
           `put on the table`;
     });


    //api - server taking order
    app.get('/api/order', function (req, res) {
        `make food`(kitchen)
        return food;
    });
</pre>


Have you ever booked your flight using an online travel service?  It's similar to ordering food in a sit down restaurant. We enter our desired criteria for our travel (like food order) on the travel service website, and then the travel service website calls available airlines' API (like a server) to search for the flight information that matches our criteria from their system (like kitchen). Once the matching flight information are found, API returns the information  (like delivering food) back to the online travel service via response. The travel service website displays the flight information for us to compare and choose the best option.

So the next time you think of an API, just think of it as your server running back and forth between applications, databases, and devices to deliver data and fulfill your request.

By the way, I was once an API... back in college days... and it helped me pay my tuition...:-)

Thanks for reading!
Developing Real-Time Apps with Firebase and Firestore
Tags: firebase, firestore, javascript, node
Published: 2018-11-08 19:23:51

---
title: Developing Real-Time Apps with Firebase and Firestore
published: true
description: Learn how to develop a real-time web chat with Firebase and Firestore
tags: #firebase #firestore #javascript #nodejs
canonical_url: https://auth0.com/blog/developing-real-time-apps-with-firebase-and-firestore/
---

In this article, you will learn how to develop real-time web apps with Firebase and Firestore.

To get your feet wet on these technologies and on the integration, you will build a simple real-time web chat that will securely store messages on Firestore (a real-time database provided by Firebase), and that will enable users to authenticate.

[Read on 🔥](https://auth0.com/blog/developing-real-time-apps-with-firebase-and-firestore/?utm_source=dev&utm_medium=sc&utm_campaign=rt_fire)

![Developing Real-Time Apps with Firebase and Firestore](https://thepracticaldev.s3.amazonaws.com/i/ami8l84yxmmq2vdjpwh5.png)
TetrisDAI – Tetris in Java (May 2008)
Tags: development, gamedev, games, java
Published: 2018-11-08 17:26:50

---
title: TetrisDAI – Tetris in Java (May 2008)
published: true
tags: development,gamedev,games,java
canonical_url: 
---

“TetrisDAI” is an open source Tetris clone (highly modular) written in Java 1.6 (aka Java SE 6) with NetBeans.

![Screenshot](http://www.dhtmlgames.com/tetrisdai/tetrisdai.jpg)

It is my first Java game and was made in mid 2008.

The code is extremely modular and is ready to be modified and configured pretty easily by anyone. For instance, you can change control keys, their delay, add new pieces with different shapes or change the current ones or even delete them, change the colour of the whole game (including the pieces), change game visual aspect and sizes (width and height of the cells and of the map, text aspect, margins), decide whether to use images or just simple computer-generated graphics for cells and background, decide language (game is already translated into Spanish, Catalan and English and just needs to change a variable to choose one among those languages) or add new languages easily, change menu items, change initial speed and speed increase when next level is reached, change needed lines to finish a level, modify score system (score for piece placed, score for each line and exponential score increase for multiple lines), enable or disable sound and so on.

Official language is English but the code also includes Spanish and Catalan translations (as stated before, just by changing a variable, all the game will use the desired language).

This game has been tested under Linux, NetBSD, OpenBSD, FreeBSD, Windows, Mac OS X, Haiku OS and others.

Official web site: [http://tetrisdai.tuxfamily.org/](http://tetrisdai.tuxfamily.org/) (mirror at [http://www.dhtmlgames.com/tetrisdai/](http://www.dhtmlgames.com/tetrisdai/)).

It can also be found on GitHub: [https://github.com/jalbam/tetrisdai](https://github.com/jalbam/tetrisdai)
You are not asking these Four Powerful Questions for higher quality software
Tags: testing
Published: 2018-11-08 16:58:52

---
title: You are not asking these Four Powerful Questions for higher quality software
published: true
description: The next time you work on a project ask these questions first.
tags: testing
---

One of the best blogs I have read about testing is one by Michael Bolton on [ Four (and More) Questions for Testers to Ask](http://www.developsense.com/blog/2018/03/four-and-more-questions/). In it he explores in detail the questions you should start asking before you start.

Start with these questions first:

- What are we building?
- For whom are we building it?
- What could go wrong?
- When something goes wrong, how would we know?