teleren/devto huggingface dataset:
Big Change Of Plans with fitPlant
Tags: webdev, app, opensource, github
Published: 2019-02-24 19:06:59

---
title: Big Change Of Plans with fitPlant
published: true
description: The open source app fitPlant will get a web, Android and iOS app. 
tags: web development, app, open source, github
---

# The web app version of fitPlant will get built first

![workout overview](https://thepracticaldev.s3.amazonaws.com/i/cujadknd1tdqetvpbnf0.jpg)

Initially I wanted fitPlant to be an iOS app only but after some feedback I got from someone who likes the idea of fitPlant I decided to make the web app first and after that the iOS and Android version will follow.

As of now I'm working on the design of the web app.
In the picture above you can see the Workout Overview.
In the middle your plant that you're currently growing will be displayed. Below that you can see your available points (if you have a idea what we should call these points then please suggest it). The boxes at the bottom display all the workout days you logged, the workout time and how many points you earned. At the "This week"-part you can see all the days you worked out on this week.

Since you're growing a plant and because it can die if you don't work out you will have a great incentive to work out regularly without skipping your workouts and improving your health.

If you're interested in contributing to this app please check out my GitHub repository for fitPlant [here](https://github.com/KrisKodira/fitPlant) 

Leave a star or a watch if you like my idea to stay updated on the progress!
SignalR core python client: A simple Chat Hub Client
Tags: signalr, core, python, client
Published: 2019-02-24 16:30:43

---
title: SignalR core python client: A simple Chat Hub Client
published: true
description: A SignalR core python client
tags: SignalR, core, python, client
series: SignalR core python client
cover_image: https://www.campusmvp.es/recursos/image.axd?picture=banner-asp-net-core-750x300.png
---

# Intro

To end this Sunday I decided to publish a library where I have been working both at work and at home. As soon as i can. I will include additional features to it, such as login (which is already done but not included in the [PyPi package](PyPi package)).

I have tried to maintain similarities with the other signalR clients. Making implementation easier. Examples will be complatible with the [aspnet core](https://codeload.github.com/aspnet/Docs/zip/master) chat examples.

Library is based on [websocket_client](https://pypi.org/project/websocket_client/) removing this dependency is a decision that i havent chose yet.

# Examples

A tiny how to of using the library could be:

```python
hub_connection = HubConnection(server_url)
hub_connection.build()
hub_connection.on("ReceiveMessage", print)
hub_connection.start()
hub_connection.send("SendMessage", [username, message])
hub_connection.stop()
```

A fully console example, firslty runing a signalR core chat example, host and port must be replaced by yours:


```python
from signalrcore.hub_connection import HubConnection


def input_with_default(input_text, default_value):
    value = input(input_text.format(default_value))
    return default_value if value is None or value.strip() == "" else value


server_url = input_with_default('Enter your server url(default: {0}): ', "ws://localhost:62342/chathub")

username = input_with_default('Enter your username (default: {0}): ', "mandrewcito")

hub_connection = HubConnection(server_url)
hub_connection.build()
hub_connection.on("ReceiveMessage", print)
hub_connection.start()
message = None
# Do login

while message != "exit()":
    message = input(">> ")
    if message is not None and message is not "" and message is not "exit()":
        hub_connection.send("SendMessage", [username, message])
hub_connection.stop()
```
# Future

* Authentication (implementation is done but it needs a little refactor)
* Message pack


# Links
[Github](https://github.com/mandrewcito/signalrcore)
[Pypi](https://pypi.org/project/signalrcore/)

Any feedback about this is welcomed, leave a comment below :).
Listening to music while working - Yay or nay and what to listen to
Tags: discuss, music, focus, happiness
Published: 2019-02-24 15:04:28

---
title: Listening to music while working - Yay or nay and what to listen to
published: true
description: Does listening to music make you work better or distract you? Furthermore, what sort of music gets you in the mood to code?
tags: discuss, music, focus, happiness
cover_image: https://thepracticaldev.s3.amazonaws.com/i/nqktixfkzk5km4lxamgy.jpg
---

Recently, I have really been in the mood to code and work on my blog. I contribute a good part of that to the music I am listening to at the moment. I feel pumped up and just able to enjoy both my work and the music.

That being said, when I am working on my day job where I really need to think, I tend to turn it off so I can concentrate. But when I feel like I know what I am doing, I will turn it back up and move through the motions that I have already planned out.

I term of what I actually listen to myself. At the moment, pop-punk is what does it for me. I think the fast beat gets me pumped, but in a few weeks, I bet I'll feel different. I guess I'll have to wait and see :smile:

__So, that brings me to my questions.__

Do you like to listen to music while you work? Whether or not that is on your own stuff or at your "real" job.

If you do listen to music. What sort? Do you have a preference or does anything float your boat?
API Guard - JWT authentication solution for Rails APIs
Tags: rails, jwt, api, gems
Published: 2019-02-24 14:57:55

---
title: API Guard - JWT authentication solution for Rails APIs
published: true
description: New gem for Rails API authentication using JWT
tags: rails, jwt, api, gems
---

Excited to announce new gem for Rails API authentication using JWT which also comes with token refreshing and blacklisting.

https://github.com/Gokul595/api_guard



Feedbacks and contributions are welcome :)
Most Memorable Moment in Your Job
Tags: discuss, random
Published: 2019-02-23 15:07:12

---
title: Most Memorable Moment in Your Job
published: true
description: Let's talk about our most memorable moments at work.
tags: #discuss #random 
---

Let's walk down through memory lane and remember our most memorable moment in our jobs. Good or bad, we have learned and grown, we  laughed and cried. 

#My Most Memorable Moment

My most memorable moment would be that time when I wrote a code for a function that I knew I would need in the future. I left that project after a while and was assigned to another one.

The code was like a function that did some cleaning on the data queried from a database. It was pretty complex *(not the best well-written code)*. 

A few months later, I was brought back into the project to continue my unfinished tasks. I later encountered a problem that was quite complex. Reading my code from a few months back *(with no proper documentation!! how dare me to myself?? 😭)* I was already lost. 

Luckily, that function that I knew I would need was documented. I had forgotten I had written a code for myself in the future, and when I read the short doc about the function, I then recalled that it was the very solution I needed for my problem. I laughed so hard *(internally ofc 😅)* because past self predicted how well my future self would forget and need the very same solution. 

So the lesson is, always right proper documentation and write clean and readable code. 🤔

What's yours? Can't wait to hear them!
How does your company value documentation? 
Tags: discuss, documentation
Published: 2019-02-24 14:52:04

---
title: How does your company value documentation? 
published: true
description: Discussion on valuation of documentation
tags: discuss, documentation
cover_image: https://thepracticaldev.s3.amazonaws.com/i/eq1jwjopaz2t3emo8wkp.jpg
---

Although many of us benefit from the usage of documentation of both internal and external products, compared to other portions of the codebase including testing or the actual code, documentation can sometimes be lacking.

I want to ask the community how does your company value documentation? If it doesn't as much as you wish, how do you sell to a manager or your team that it would be beneficial to have a stronger focus on documentation?
Simple way to diff server/browser rendering results
Tags: javascript, frontend, ssr
Published: 2019-02-24 11:00:52

---
title: Simple way to diff server/browser rendering results
published: true
description: 
tags: js,frontend,SSR
---

> I found this [answer](https://stackoverflow.com/questions/53571192/react-nextjs-how-to-debug-different-nodes-of-ssr-react-application) at StackOverflow. I think it is useful, so I share with you here.

## Browser side

First of all, you should ensure the site is served. Then you can:

- Open your site in any browser
- Open the browser console, and type:

```javascript
console.log(document.documentElement.innerHTML)
```

- Copy the output, and save it as `client.html`

## Server side

Supposing your site is running on `localhost:3000`.

- Open a shell, and type:

```sh
curl localhost:3000 > server.html
```

## Compare the differences

You can simply run:

```sh
diff client.html server.html
```

> Note that you may need to format both files before diff.
Introducing serverless-cloudfront-distribution-certificate
Tags: serverless, certificate, aws, cloudfront
Published: 2019-02-25 05:39:46

---
title: Introducing serverless-cloudfront-distribution-certificate
published: true
tags: serverless,certificate,aws,cloudfront
canonical_url: 
---

![](https://cdn-images-1.medium.com/max/1024/1*KzqeWt5kJ10llTUTy7dNJA.png)<figcaption><strong>source: undraw.co</strong></figcaption>

I was in a need for a serverless plugin to create a certificate for my CloudFront distribution. While there are some plugins that can request a certificate they usually can assign it only to APIGateway or they’ll create CloudFront distribution for you.

#### Existing plugins

[https://github.com/schwamster/serverless-certificate-creator](https://github.com/schwamster/serverless-certificate-creator) [https://github.com/amplify-education/serverless-domain-manager](https://github.com/amplify-education/serverless-domain-manager)

#### My plugin

What I needed is something that can simply assign a certificate to a domain associated with CloudFront distribution. This is already possible using CloudFormation ACM entry, but you’re required to validate the certificate all by yourself. If you don’t do that your stack creation progress will get stuck.

So this plugin easily creates the certificate if needed, creates a route53 entry to validate it and in the end assigns the certificate ARN to your CloudFront distribution.

If you feel like this is something you need, go check it out.

[pfulop/serverless-cloudfront-distribution-certificate](https://github.com/pfulop/serverless-cloudfront-distribution-certificate)
One of the Top HTML5 Game Development Company in India
Tags: html5gamedeveloper, html5gamedevelopment, unitygamedeveloper
Published: 2019-02-24 08:20:12

---
title: One of the Top HTML5 Game Development Company in India
published: true
description: Being the top game development company in India, Genieee provides best HTML5 game development services. With our creative and fun oriented game development experience we are able build more than 1000+ html5 games for multiple clients from all over the world. 
tags: html5 game developer, html5 game development, Unity game developer
---
2019 Self Improvement Plan
Tags: career, goals, health
Published: 2019-02-25 16:18:58

---
title: 2019 Self Improvement Plan
published: true
tags: career,goals,health
canonical_url: https://davefollett.io/2019/02/24/2019-self-improvement-plan/
cover_image: https://davefollett.io/2019/02/24/2019-self-improvement-plan/cover-2019-self-improvement-plan.jpg
---

Before last year, I had not put together an improvement plan for myself for at least 10 years. Putting down my thoughts on how to get better as a developer really did help. While I didn’t do all the things I set out to do, I did make progress towards last year’s general theme of putting myself out there more:

✔️️ Started a blog to work on my technical writing
✔️ Attended several local meetups
✔️ Was interviewed by [The Cynical Developer Podcast about Code Reviews](https://cynicaldeveloper.com/podcast/104/)
✔️ Contributed to a couple open source projects
✔️ Completed [Wes Bos’s #JavaScript30 course](https://javascript30.com/)

However, I did miss the mark in some other areas by not doing the following:

😢 Didn’t take [Wes Bos’s CSS Grid course](https://cssgrid.io/)
😢 Fell short meeting my [Codewars](https://www.codewars.com) goal
😢 Didn’t create a bot for slack or twitter

Overall, I’m still quite 😀 and this year I’m planning to do more and expand my goals to also cover some non-developer areas of my life. Also, last year I kept my plan to myself. This year I’m going to make it public in an effort to help keep me on track.

## Personal Health

- Lose 25 lbs
- Stop drinking pop but mainly stop drinking diet coke
- Reduce coffee consumption to 2 to 3 cups a day and only drink it before 12pm
- Go to the doctor for a physical
- Train and run 2 5k races

## Professional

- Average writing 2 blog posts a month to continue improving my writing
- Continue to contribute to the [QIT](https://qit.cloud) open source project
- Attend at least 6 local meetups
- Present at a local meetup
- Increase my [Codewars](https://www.codewars.com/users/davefollett) points to 700
- Complete [Wes Bos’s CSS Grid course](https://cssgrid.io/)
- Research Areas:
  - Web frontends with [Vue](https://vuejs.org/) and [Nuxt](https://nuxtjs.org/)
  - Containers with [Docker](https://www.docker.com/)
  - Backends and APIs with [GraphQL](https://graphql.org/), [Hasura](https://hasura.io/), and [Graphcool](https://www.graph.cool/)
  - Vue based mobile apps with [Ionic](https://ionicframework.com/) and [NativeScript Vue](https://nativescript-vue.org/)
  - Testing with [Cypress](https://www.cypress.io/) and [Jest](https://jestjs.io/)
String Internalization
Tags: string, internalization
Published: 2019-02-24 03:31:53

Many modern interpreted programming languages like Python and Lua have a builtin feature that allows for O(1) comparisons of strings. Ordinarily, comparing two strings is a O(min(x, y)) operation that for huge strings can cause slow downs in performance. Compilers and interpreters can utilize this to their advantage to improve performance when checking against keywords and such. This will hopefully allow the programmer to focus on the more important tasks on hand like lexing, parsing, and generation of assembly instructions or byte code.

How does string internalization work? Like all other problems when related to the computer and the world, everything has a trade off. The two main ones are efficiency and memory usage and consumption. Some solution to a problem may have a small footprint when it comes to memory but might be slow comparatively to something that uses more memory but is more efficient. There are a few ways we can go about to internalize a string but we will do it how I have been doing it.

First, we need a data structure to store the strings themselves and to solve that we will use a stretchy buffer. If you don't know, they were invented by Sean Barrett and is similar to C++'s std::vector. Because this article is dealing with string internalization, we will not focus on the implementation details of a stretchy buffer.

```cpp
// If buffer is NULL, create it and push the item.
// If buffer is full, reallocate and push the item.
#define buffer_push(buffer, item) ...

// Gets the length of a stretchy buffer.
#define buffer_length(buffer) ...
```

When it comes time to compare two internalized strings, what is actually being compared? Well, in our version, it is the memory address of the strings. If both are the same, then the strings are the same, if not, then the strings are not the same.

When we internalize a string, we will have to search the list and compare each entry against the one we are trying to internalize. This is the price we pay, but in the long is worth it as you can hold onto the memory address long as you want to.

```cpp
/* Where all internalized strings will be stored. */
static char *inter_strings;

char const *string_internalize(char const *string)
{
    /* Search if the string already exists in the list. */
    int i = 0;
    while(i < buffer_length(inter_strings))
    {
        /* If found, return the internalized string. */
        if(string_compare(string, inter_strings))
            return inter_strings;
        ++i;
    }

    /* If not found, create internalized copy and return it. */
    char* new_string;
    int string_len = string_length(string);

    new_string = calloc(string_len + 1, sizeof(char));

    memory_copy(new_string, string, string_len);

    buffer_push(inter_strings, new_string);

    return new_string;
}
```

This is definitely a short one, but thought it was something that might be helpful.
The importance of understanding english as a latino developer
Tags: english, coder, language
Published: 2019-02-24 03:00:29

---
title: The importance of understanding english as a latino developer
published: true
description: Why it is so important to latino developers to learn and practice English to improve our developer careers
tags: english, coder, language
---

Hi to all! This is my first post in Dev.to :)

This is a litle post to talk about the importance of understanding english language for latino developers. I live in Lima-Peru, and work for an american based software business.

When a new job position is open and they want to hire a new developer, the first filter is the language(English). In Latin america our native language is Spanish, and the english level that our national schools teachs is not enough sometimes; so it is hard to find someone who has a good english level and technical skills.

That's why I write this post, to let latino devs know we have to improve our multilanguage capacities, learn new languages and understand that English is the base for programming, communicating and growing in our career.

When I was a kid I used to go to a Languages Center to learn english and sometimes you take it as a game, to meet new people and hangout. So specially young devs you maybe are in the school yet, you are starting your developer career, or you have an extra time free, take english classes! You will thank yourself in the future!

Hope this post is useful for other devs! Thanks for reading!
5 Specific Actions to Achieve Success
Tags: success, productivity, career, discuss
Published: 2019-02-23 22:44:08

---
title: 5 Specific Actions to Achieve Success
canonical_url: https://foundsiders.com/blog/5-specific-actions-to-achieve-success/
published: true
cover_image: https://thepracticaldev.s3.amazonaws.com/i/hkf8rqb9w4ziycx8opti.jpg
description: Success is an entity that all human beings want and wish to achieve. It could be attaining success in the workplace, in business, in a relationship, in family matters, etc.
tags: success, productivity, career, discuss
---

Success is an entity that all human beings want and wish to achieve. It could be attaining success in the workplace, in business, in a relationship, in family matters, etc.

While reading many successful people biographies, observing them and speaking with them. I have noticed specific actions and behaviors which inherit to them. Let me list them below:

##The first step towards success is a failure

Accepting failures is a significant challenge to overcome. For most people, sometimes me too, self-pity gets in the way, and we decide to change the direction - the goal.

Well, it definitely shouldn't be the case with us. I have learned that, so you can do that too and keep your chin up and persevere on your goals.

##Learning from previous mistakes

It's essential to do and also not to repeat them. Of course, it is natural to make mistakes. We make them every day regarding many things in life. However, we should take a step back to analyze them or the situation.
 
Just understand what went wrong, why the mistake occurred and what can be done the next time to make sure that it does not happen again.

##Successful people don’t give up

I think that is the main difference between them and people who haven't achieved anything in their lifetime. Motivation is a crucial factor, without which, attaining the level of success that you wish to will not be possible.

##Getting out of your comfort zone

As we know, nothing is handed to us on a silver platter; you have to push yourself hard to be the better version of yourself. And this is accomplished only if you get out of your comfort zone. I am sure, it is going to feel uncomfortable at first (yeah, I am experiencing that almost every single day by trying to do things that I have never done before), but if you want that level of success within your reach, it is the only way to attain it.

##Successful people are always on the move

Being stuck in one place mentally (sometimes even physically), no matter how comfortable you feel, is not helping you to achieve your goals.

Being on the path to achieving your goals means always having the time, energy and space for growth and success. Success might not come quickly and easily, but it is the challenge of motivation which keeps driving all successful people.

**What techniques do usually use for achieving your goals?**

---

_Photo by freestocks.org on Unsplash_
If blockchain is the big new thing, why does it smell like snake oil?
Tags: blockchain, discuss
Published: 2019-02-23 22:01:47

---
title: If blockchain is the big new thing, why does it smell like snake oil?
published: true
description: 
tags: blockchain, discuss
---
![snake oil](https://thepracticaldev.s3.amazonaws.com/i/toz464u7r6z5743r3yck.png)
(Photo: [Public Domain](https://archive.org/details/Boone_County_Recorder_Vol_34_1908), via [Atlas Obscura](https://www.atlasobscura.com/articles/the-serpentine-story-of-snake-oil-or-how-i-came-to-buy-snake-oil-from-amazoncom))</small>

I _think_ I get the basic concepts of what blockchain is and the technology behind it:

A _ledger_ (database of transactions) that is _distributed_ (a bunch of us in different locations have it), _immutable_ (once some data is added it can't be removed), and _encrypted_ (secure).

- Given that it's a *ledger*, you can look back at what has happened before. 
- Given that it's *distributed*, no one person/company controls it.
- Given that it's *immutable*, you can't go back and change past records.
- Given that it's *encrypted*, no one can steal the stuff stored unless they have the keys to that specific data.

Despite all those things, it still seems like it's just a database with some simple problems: 
- People stink at data entry: Do techies really think that everyone is going to constantly track everything they do, and make sure that someone can go back and see exactly when something happened?
- Theoretical security isn't the same as actual security: the transactions are supposedly private, but the entering of that data and reading it back certainly wouldn't be for many users. People will [still use bad passwords](https://haveibeenpwned.com).
- It's expensive: a full public ledger would be _huge_, even if it's distributed, it has to be stored somewhere and hard drives ain't free. Not to mention, the [energy usage is massive](https://www.theguardian.com/technology/2018/jan/17/bitcoin-electricity-usage-huge-climate-cryptocurrency).
- Technology changes, and what works now won't always work: What happens if the system used to enter the data is incompatible with the system used to read it back? 

Why are so many people talking about it as a cure-all? What am I missing? Please help me out in the comments below.