teleren/devto huggingface dataset:
Software is like poetry
Tags: software, poetry
Published: 2019-01-06 21:54:53

---
title: Software is like poetry
published: true
description: 
tags: #software, #poetry
---

When I was in school I used to write a lot of poetry and I remember trying to express a feeling or an emotion in the best possible way I could to project exactly what I wanted it to be. That feeling or emotion could be written in many different ways to express the same message, but as the creator of the content, one’s self looks for the correct words that connect with what your mind is trying to portray and exhibit in the poem. Coding is no different to this.

When you are writing code you are creating software that has the goal of accomplishing something. That something represents the expression or projection you, as the creator, want to achieve with writing the code for that software. And that something is going to be coded/written the way your mind is trying to portray the behavior of that software to accomplish that “something”, the same process when writing a poem.

Poetry can be written in many different languages.
`Software can be written in many different languages.`

Poetry is written to express a message or stimulate an emotion. It is written to achieve something.
`Software is written to complete a task or produce a result. It is written to achieve something.`

Poetry can be written in a infinite of different ways and express the same message or stimulate the same emotion.
`Software can be written in an infinite of different ways and complete the same task or produce the same result.`

Poetry can be poorly written and can also fail in expressing the message or stimulating the emotion.
`Software can be poorly written and can also fail in completing the task or producing the result.`

In the end, both practices, writing poems and coding software, require a creator with the ability to express whatever he or she wants to achieve exactly how it is manufactured in the mind. These arts that manifest themselves as opposites, emotion and logic, so I feel that if a person practices one, they should consider practicing the other to create a balance in perspective and/or thinking process, as well as embracing the duality of all that is executed in life.
FreeDNS: Subdomains for your side projects, demos, aliases...
Tags: showdev, dns, ddns, sideprojects
Published: 2019-01-06 19:47:51

---
title: FreeDNS: Subdomains for your side projects, demos, aliases...
published: true
description: Subdomains for your necessities
tags: showdev, dns, ddns, sideprojects
cover_image: https://thepracticaldev.s3.amazonaws.com/i/y2qdfkq6csmx3wo20r8m.png
canonical_url: https://piraces.dev/posts/freedns-subdomains-for-your-side-projects/
---

In my daily life, besides working as a Software developer, I'm always interested into launching new personal/side-projects. I launch simple webs, tools, try new technologies or make utilities for myself.

But how to make this projects available on the public internet?
![Dynamic IPs for public projects?](https://media.giphy.com/media/9J7tdYltWyXIY/giphy.gif)
<figcaption>Dynamic IPs for public projects?</figcaption>

In order to make that developments accesible anywhere I usually go and use [No-IP](https://www.noip.com/) services, which allows a single user to register three subdomains which can be dynamically updated if we don't have a static IP (DDNS). This has been specially useful for me when looking to expose an app deployed in my local network (home), normally on a Raspberry Pi.

This was until last week, that I discovered the [FreeDNS](https://freedns.afraid.org/) service when accessing a mooo.com subdomain. The project has been there since 2001 up to this day... it's advertisement free and based on open-source software. 

Currently they have a pool of **61,949 domains** some of them working for more than 10 years...

They offer a *premium* account which offers more than 50 subdomains and "extra configuration". But a standard account allows you to create 5 subdomains in [shared domains](https://freedns.afraid.org/domain/registry/) which I find more than useful for publishing my projects.

![Lots of subdomains...](https://thepracticaldev.s3.amazonaws.com/i/gj2sn44m7wga99upx3j9.png)
<figcaption>Lots of subdomains in their registry...</figcaption>


If you want, you can read the [FAQs](https://freedns.afraid.org/faq/) of the service in order to view all possibilities.

To contribute to this project I shared publicly the [**developer.li**](https://developer.li/) domain (which I was not using...), initially focused for developers, so anybody can create their own subdomain for their side projects, or its own place!


For the main page of my shared domain I made this simple Angular page, which allows you to check for available subdomains. All with the [NES.CSS](https://nostalgic-css.github.io/NES.css/) style which I fell in love.

Check it out!

{% github piraces/developer.li %}


Do you know any similar alternatives? What do you think about FreeDNS? 


Happy coding!
What I learned In 2018!
Tags: career, learning, programming, review
Published: 2019-01-06 18:34:58

---
title: What I learned In 2018!
published: true
description: Just a brief article about the things I learned in 2018
tags: #career, #learning, #programming, #review
---

We developers have a tendency of telling ourselves that we aren't good enough and have been too lazy because we didn't learn everything. For me I certainly felt like I learned almost nothing this year until I broke it down and analyzed my year logically. I took a look at all the things I learned in between my normal work, and life schedule and compiled a list.

Without further ado here are the things I learned:


## Webpack

I may have caught on late but I dedicated some time to learn webpack and got it implemented at my work and personal projects. I love the bundling and the ability to write js code as modules. Additionally being able to use typescript and vue together has been a great boon.


### What I Can Improve

One thing I have not been able to find is why webpack adds so much extra code as part of the bundling process. It is not terribly significant in most of the work I do because we have an internal app at LAN speed, but for a live website that can be significant.

## Typescript

Typescript is great. Slowly we have been transitioning older code to use typescript and it has been a boon. Refactoring code becomes much easier, and understanding the flow of larger programs becomes easier.

### What Can Get Better

Generics can be tricky sometimes and there are a few things that can take me some time to figure out (I'm looking at you bluebird promises + async/await).


## Golang

I took the opportunity at work to learn golang for a project that could be sped up considerably with threading. I found Go to be very intuitive and easy to learn. I can certainly see why some choose to move to Go for high performance needs.

### Things To Improve

I'm still not quite fluent so I need some more practice before I feel like I can tackle anything. The other thing is I really focused on go modules in 1.11 so my understanding of the classic Go dev methodology could use some work.


## Some Other Things That I Will List

Lets see what else I  can remember...

* Node.js for webdev (used before in a kafka event system)
* Adonis framework
* Improved JS/PHP fundamentals
* Some basics of C++

## What To Do In 2019?

I am not much of a new year's resolution person, but I do have a few ideas on what I want to learn in 2019.

* Golang api webdev
* Vue server side rendering
* Progressive Web Apps

All right folks, that's it for this post. Hopefully I have inspired you to take a look at your own work over the year and give yourself a pat on the back for all that you accomplished!
📣 Use Github for Comments - Forget Disqus
Tags: githunt, opensource, github, blogging
Published: 2019-01-06 16:48:23

---
title: 📣 Use Github for Comments - Forget Disqus 
published: true
description: ...
tags: githunt , opensource , github , blogging
---

If you're into blogging you must have heard the name Disqus but wait do you know you can use GitHub Issues for Comments in your blog?

You heard it right, 📢 Comments With GitHub! ❤

A Open Source Project Make This Possible : 

{% github utterance/utterances %}

You Can Know More about this here at <https://utteranc.es/> and here {% link https://dev.to/loizoskounios/blog-comments-powered-by-github-3dp2 %}

---
✏ Enjoy ❤
Simplifying my setup.
Tags: discuss
Published: 2018-11-16 02:10:54

---
title: Simplifying my setup. 
published: true
description: My dev environment slimmed down today.
tags: discuss
---
Yesterday I talked about resenting setting up my development environment, and a lot of you chimed in with some really good tips!

A lot of you have automated your setups and I think that is really cool!
I am not sure why I never took the time to do that, maybe I am just lazy, but for now it doesn't really apply anymore because the pieces of advice that really stood out, that I later ended up taking where the "slim down" approach. 

{% devcomment 6p5f %}

Comments like the one above really appeal to how I have been trying to live lately.   The pseudo zen approaches of "chilling the fuck out" and "getting rid of all my bullshit" have really improved my quality of life lately so I decided to apply it to my dev setup. 

I have officially dropped vim and with it all of its plugins in favor of VS Code.

So far I have only installed Prettier and a theme (Panda for the curious) on Code, I am trying to keep it pretty slim. Then I installed iTerm, Node, zsh, and Homebrew. Wish me luck! As my previous setup was _way more complicated/custom_ so this is a bit bare bones to me... but I like it.
Snippet Generator
Tags: githunt
Published: 2019-01-06 15:27:25

---
title: Snippet Generator
published: true
description: 
tags: #githunt
---

[snippet generator](https://snippet-generator.app/) is a small web app to
quickly generate code snippets for vs code, atom & sublime text.

It also allows you to share code snippets with the url

[github](https://github.com/pawelgrzybek/snippet-generator)
React Hook: usePermissions
Tags: react, hooks, permissions, showdev
Published: 2019-01-06 15:20:07

---
title: React Hook: usePermissions
published: true
description: React hook for Permissions API
tags: react, hooks, permissions, showdev
canonical_url: https://sergiodxa.com/articles/libs/react-use-permissions
---

_Originally published at https://sdx.im/articles/libs/react-use-permissions_

React hook for [Permissions API](https://developer.mozilla.org/en-US/docs/Web/API/Permissions).

> **Note**: This is using the new [React Hooks API Proposal](https://reactjs.org/docs/hooks-intro.html) which is subject to change until React its final release.
> You'll need to install `react`, `react-dom`, etc at `^16.7.0-alpha.0`


## Installation

Install it using yarn with the command.

```sh
yarn add react-use-permissions
```

Or using npm with the command.

```sh
npm install react-use-permissions
```

## Usage

Import it inside the application.

```js
import usePermissions from "react-use-permissions";
```

Then use it inside any functional React component passing any valid name.

> Valid names are `accelerometer`, `accessibility-events`, `ambient-light-sensor`, `background-sync`, `camera`​, `clipboard-read`, `clipboard-write`, `geolocation`, `gyroscope`, `magnetometer`, `microphone`, `midi`, `notifications`, `payment-handler`, `persistent-storage`, and `push`

```js
const format = function Component() {
  const hasPermissions = usePermissions("geolocation");
  const content = (() => {
    switch (hasPermissions) {
      // User has granted permissions
      case true: {
        return "Permissions granted";
      }
      // User has denied permissions
      case false: {
        return "Permissions denied";
      }
      // User will be prompted for permissions
      case null: {
        return "Asking for permissions";
      }
    }
  })();
  return <h1>{content}</h1>;
};
```

When the component is rendered the hook will return `null` initially and then check if the user has already granted or denied the permissions returning a boolean. In case the user hasn't already it will be prompted and then the hook will return the new state.

{% github sergiodxa/react-use-permissions %}
After learning thru tutorials for 9 months, I finally forced myself to "solve my own problem".
Tags: beginners, react, javascript, help
Published: 2019-01-06 13:08:24

---
title: After learning thru tutorials for 9 months, I finally forced myself to "solve my own problem".
published: true
description: Looking for feedback/comment. TIA.
tags: beginner,react,javascript,help
cover_image: https://unsplash.com/photos/1K9T5YiZ2WU
---

Looking for feedback/comment. TIA.


 [https://savers-app.netlify.com/](https://savers-app.netlify.com/)

{% github juniusfree/savers-app %}



_About the app:_
A very basic react app for any person who wants to monitor their savings goal. I don't have a backend yet so no data will be saved.

_Tech used:_
React, React Hooks, React Context, React Router, Moment.js, Numerals.js, UUID, Tachyons.io



_My background_

{% link https://dev.to/juniusfree/my-father-has-cancers-3le0 %}
Pushing Database Versioning to Its Limits by Means of a Novel Sliding Snapshot Algorithm and Efficient Time Travel Queries
Tags: versioning, copyonwrite, database, xml
Published: 2019-01-06 12:24:31

---
title: Pushing Database Versioning to Its Limits by Means of a Novel Sliding Snapshot Algorithm and Efficient Time Travel Queries
published: true
description: As most current database systems still simply store current state or past states within one big relational table, we investigated what the performance drivers are and how to improve on the current state-of-the-art. We implemented an Open Source storage system called Sirix(.io) from scratch, which stores small sized snapshots as well as supports sophisticated time-travel queries, while competing with the efficiency of non-temporal database systems.
tags: versioning, copy-on-write, database, xml
---

“Why And How We Built a Temporal Database System Called SirixDB (Open Source) From Scratch” by Jojo Lichtenberger https://link.medium.com/DI6qr33v7S
BxJS Weekly Episode 44 - javascript news podcast
Tags: javascript, node, podcast, news
Published: 2019-01-06 11:44:57

---
title: BxJS Weekly Episode 44 - javascript news podcast
published: true
description: Listen to the best javascript news of the week in a podcast form
tags: javascript, node, podcast, news
---

Hey dev.to community!

BxJS Weekly Episode 44 is now out! 🚀
Listen to the best javascript news of the week in a podcast form right here.
You can find all the mentioned links [here on github](https://github.com/BuildingXwithJS/bxjs-weekly/blob/master/links/19-01-Episode-44.md).


You can also watch or listen to this episode on:
- [YouTube](https://youtu.be/DHEt32jTdTc)
- [Castbox](https://castbox.fm/episode/BxJS-Weekly-Ep.-44-Jan-5%2C-2019-(javascript-news-podcast)-id1378315-id117230619)
- [iTunes](https://itunes.apple.com/de/podcast/bxjs-weekly/id1441956525)

Any feedback is appreciated 😁

Additional stuff:
- [Twitch channel](https://www.twitch.tv/yamalight)
- [Discord server](https://discord.gg/hnKCXqQ)
- [BxJS Weekly github repo](https://github.com/BuildingXwithJS/bxjs-weekly)

Social media links:
- [Twitter](http://twitter.com/yamalight)
- [Medium](https://medium.com/@yamalight)
- [Github](http://github.com/yamalight)

If you enjoy my content, please consider [supporting me](https://codezen.net/support.html) 😉
Markor : 📘 Write Quickly ✏
Tags: githunt, opensource, android, productivity
Published: 2019-01-06 06:23:29

---
title: Markor : 📘 Write Quickly ✏
published: true
description: introduction to a cool Android application called Markor
tags: githunt, opensource, android , productivity
cover_image: https://thepracticaldev.s3.amazonaws.com/i/hehu0zsqpna0a1aga6gi.jpg
---

Today Let's Talk About a Open Source Note Taking / Writing / ToDo App for Android Called 📘 **Markor**.

{% github gsantner/markor %}

Previously I Mentioned in [Tools I Use For Blogging](https://dev.to/bauripalash/tools-i-use-for-blogging-1h92) that I still mainly use Markor to write ✏ articles and take notes.

Actually There're many things I like about Markor (The Odd Way 😉) : 

* IT'S FAAAAAAAST.... (😉**I Even Use It To Roam Around My Town**😞

* Every Document is stored in general filesystem folder so we can edit with other apps (😉**Previously I Used Camera To Take Notes** 😞)

* It's totally offline , not a single _http-request_ (😉**No Fear , Keeping My Super Duper Huper Secret Nuclear Codes**😞)

* Highly Customizeable (😉**I Can Even Make It Unicorn**😞)

* Convert, Preview, and Share documents as HTML and PDF (😉**I Have Thrown Out MS/Libre Office**😞)

* It Even has a dark mode ❤ (😉**No Stinking**😞)

* And Obviously Its Free & Open Source ❤❤

Jokes Aside, I really think Markor is very good writing app, I use it everyday, and you should also try it sometimes.. 🙂
How we built a RESTful API with Vert.x, Kotlin Coroutines and Keycloak
Tags: kotlin, coroutines, vertx, keycloak
Published: 2019-01-06 09:55:38

---
title: How we built a RESTful API with Vert.x, Kotlin Coroutines and Keycloak
published: true
description: We show, how we built a RESTful, non-blocking API with Vert.x and Kotlin Coroutines
tags: kotlin, coroutines, vertx, keycloak
---

“How we built an asynchronous, temporal RESTful API based on Vert.x,” by Jojo Lichtenberger https://link.medium.com/DvSRawil8S
Day 5: Making a swift macOS password manager for people who hate the cloud
Tags: macos, swift, passwordmanager, cloud
Published: 2019-01-06 06:10:27

---
title: Day 5: Making a swift macOS password manager for people who hate the cloud
published: true
description: Watch as I make a password manager for macOS this month
tags: macos, swift, password manager, cloud
series: Making a swift MacOS password manager for people who hate the cloud
cover_image: https://thepracticaldev.s3.amazonaws.com/i/q6r73zbfbm3mpfs98bu5.jpg
canonical_url: https://streaking.app/posts/making-a-swift-macos-password-manager-for-people-who-hate-the-cloud-485b9d8bd3ba
---

[<- For Day 4 go here](https://dev.to/swlkr/day-4-making-a-swift-macos-password-manager-for-people-who-hate-the-cloud-43a1)

## Living life
I know it might seem like a daily streak thing is a bad idea, I mean, what happens when you actually live your life instead of code all day? What happens then? Today, I went snowboarding with some friends who flew into town and I had a great time! I only fell a few times and amazed myself! I'm not an expert snowboarder by any means, or even a good one, so that was cool.
![](https://thepracticaldev.s3.amazonaws.com/i/m8rpcng9ti251gx0ex45.JPG)

## The streak must continue
Look, I've been writing every day for 34 days, and coding this product for 4 days, I can't break the streak just because I lived my life today! The streak goes on. There's only 30 minutes until I pass out from exhaustion, so let's see what I can whip up. Turns out, not much. I did manage to slap labels and text fields on the view though, so that's something. I messed around with tucking the sqlite code away behind a struct, I might try something where inheritance or protocols is involved, so I wind up with something similar to active record, here's where I left off:

```swift
import SQLite

struct Login {
    let id = Expression<Int64>("id")
    let username = Expression<String?>("username")
    let email = Expression<String>("email")
    let key = Expression<String>("key")
    var db: Connection

    static func database() -> Connection {
        let path = NSSearchPathForDirectoriesInDomains(
            .applicationSupportDirectory, .userDomainMask, true
            ).first! + "/" + Bundle.main.bundleIdentifier!

        do {
            try FileManager.default.createDirectory(
                atPath: path, withIntermediateDirectories: true, attributes: nil
            )
        } catch {
            print("Unexpected error: \(error).")
        }

        var conn : Connection?
        do {
            conn = try Connection("\(path)/app.db")
        } catch {
            print("Unexpected error: \(error).")
        }

        return conn!
    }

    init() {
        db = Login.database()
    }
}

```


Tune in tomorrow for Day 6 🔥
React Library Generator
Tags: react
Published: 2019-01-06 06:00:59

---
title: React Library Generator
published: true
description: CLI for creating a React libraries
tags: react
---

React library generator is a CLI that helps you to build a scaffold for your library. It's fully customizable, and you can determine what you want. Also, this CLI create documentation for your library and provide various test utilities.

![](https://unpkg.com/react-library-generator@0.1.5/assets/demo.svg)

## Features
- Simple to use CLI and fully customizable
- ES6 and Flow syntax support
- Testing (Jest, Ava, Enzyme)
- Different supported style languages (Sass, Less, PostCSS, CSS)
- Documentation (Docz)
- Rollup for Bundling
- Bundles es and cjs module formats
- Babel for Transpiling
- Source map creation
- Automatic code linting via esLint
- Supports peer-dependencies
- Protect your git branches with Husky
- Check Library name availability on NPM before generating


> [react-library-generator](https://www.npmjs.com/package/react-library-generator)
Debugging gRPC service using swagger.
Tags: grpc, swagger, openapi
Published: 2019-01-06 03:09:32

---
title: Debugging gRPC service using swagger.
published: true
description: List and call gRPC methods using swagger-ui 
tags: grpc, swagger, openapi
---

## What is gRPC-swagger

gRPC-swagger is a [gRPC](https://github.com/grpc/) debuggling tool developed based on [gRPC reflection](https://github.com/grpc/grpc/blob/master/doc/server-reflection.md). It can be used to list and call gRPC methods using [swagger-ui](https://github.com/swagger-api/swagger-ui) conveniently. As gRPC-swagger is based on gRPC reflection, you only need to enable reflection feature when starting the service and no need modifying proto files and related code implementations. 

## Feature List

* Easy to use, just need enable reflection when starting the service, without modifying protos and related implementations.
* Integrated with swagger-ui, you can see the definitions of gRPC methods and parameters conveniently.
* Simple to call gRPC method.

## Screenshots

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

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

## Live Demo

[demo](http://ui.grpcs.top)

You can visit our [github project](https://github.com/grpc-swagger/grpc-swagger) for more details.