teleren/devto huggingface dataset:
Using kubernetes for personal projects?
Tags: kubernetes, docker, askdev, discuss
Published: 2018-08-17 20:57:48

---
title: Using kubernetes for personal projects?
published: true
description: Is this your cup of tea?
tags: kubernetes,docker,askdev,discuss
---

I'm curious to know - who here uses kubernetes for personal projects? I've been using docker files for a while to deploy virtually everything, now that a lot of my work is moving into kubernetes based deployments, I'm considering migrating my own personal work over to kubernetes (it generates enough traffic to warrant features like downtime-less deployments, replicas, etc that kubernetes supplies).

*Do you use kubernetes for personal projects? If so, what are the advantages / disadvantages?*
Analysis of dev.to comment frequency over the lifetime of a post
Tags: meta
Published: 2018-08-17 20:40:23

---
title: Analysis of dev.to comment frequency over the lifetime of a post 
published: true
description: Taking a look at DEV comments' age relative to the article they're posted on.
cover_image: https://cl.ly/3y1I1A1Z3U23/Image%202018-08-17%20at%2010.40.09%20AM.png
tags: meta
---

## What / Why
I wanted to take a high-level look at when DEV comments are created relative to the thread they're posted on.

DEV members encounter articles from a variety of sources — their home feed, on-site notifications, social media, search engine queries, etc.  I was curious about what percentage of comments were on "fresh" threads, vs. the growing long-tail of articles here on the site.

## How

I don't have much experience with data analysis or even SQL, but it was pretty quick/easy to prepare this high-level report.  To simplify matters, I focused only on comments created in August.

**Step 1**:  Grab the `created_at` date and article ID for all **comments** (5400 in total)

**Step 2**: Grab the `published_at` date for all **articles** grabbed in Step 1

**Step 3**: Calculate the difference (in days) for `Article Date` - `Comment Date`.

## Results

As you might expect, it's heavily front-loaded with a rapid decrease as the article gets older.

![30 day result graph](https://cl.ly/1K3n0N1R3s1r/Image%202018-08-17%20at%2010.35.55%20AM.png)

I decided to clean up the data, and create a "bucket" for 5-30, and 30+:

![results graph](https://cl.ly/45253g3b0S3b/Image%202018-08-17%20at%2010.32.21%20AM.png)

**Highlights**:

- 33% of comments are on articles/threads published _that day_
- 29% on an article that’s 1 day old
- 9% on an article that’s 2 days old
- 4% for 3 days old
- 3% for 4 days old
- 15% for 5-30 days old
- 7% for 30+ days old

## Closing Thoughts

I think it's fairly interesting that 7% of comments are posted on articles that were published at least 30 days prior.  The "long tail" of evergreen content serves as a great resource for the broader developer community, and it's great to know that the wonderful content contributed here continues to be enjoyed and discussed even beyond the initial burst of exposure.

Hope you found this interesting!
Kubernetes clusters for the hobbyist
Tags: kubernetes, guide, setup, devops
Published: 2018-08-17 19:37:54

---
title: Kubernetes clusters for the hobbyist
published: true
description: How to setup and operate a fully functional, secure Kubernetes cluster on virtually any cloud provider
tags: kubernetes, guide, setup, devops
cover_image: https://thepracticaldev.s3.amazonaws.com/i/0qrng61km2151vw5ka0g.png
---

It's been a while since the **Hobby Kube** project was released on GitHub. This project answers the question of how to setup and operate a secure, fully functional, small-scale Kubernetes cluster on virtually any cloud provider; batteries included.

[hobby-kube/guide](https://github.com/hobby-kube/guide) - The guide
[hobby-kube/provisioning](https://github.com/hobby-kube/provisioning) - Fully automated provisioning using Terraform
[hobby-kube/manifests](https://github.com/hobby-kube/manifests) - Sample manifests

> The tinkerers of today are the leaders of tomorrow.
1 year long schedule for exam
Tags: toptal, toptalpreparation, codinginterview, discuss
Published: 2018-08-17 19:08:53

---
title: 1 year long schedule for exam
published: true
description: 
tags: toptal, toptalpreparation, codinginterview, discuss
---

As I promised to myself and you, I have a concrete schedule, describing my preparation plan at high level. I've created separate google calendar, you can all look at it: https://calendar.google.com/calendar?cid=YjBkcW1oMnA1OWVzNHBiNzdhZnEycDM0NGdAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ

Before I came up with this high level schedule, I have read several articles and answers on forums by people either passed the toptal interview, or working there.

Looking at advices, 100% of them tell to use at least half of your time on coding challenges, data structures and algorithms. So, I took 50% of my time for this – I have 1 year long schedule, so first 6 months I have only for it. Probably, I will use Codility. Most of the people recommend particularly this website, because as they say, Toptal interviewers use it during interviews - you are asked to solve problems on this platform.

After 6 months, I start exercising on system design challenges and parallely I am planing to have at least one free interview to practice in live coding. I am going to use InterviewBit.

I think I will change lot things on a way but promise will update you on every news.

Regarding the technology and programming language, I still don't have an answer. I am thinking between Typescript and Java. After I choose, I will give you the reasons, why I think to choose between these languages and also will give you all my arguments. Meanwhile, I would love to see your comments and suggestions on a language <3

First 2 weeks of September, I have already scheduled, long waited vacation. I will have a break and I am planning to start approximately after Sept. 18.

I'll be back with more detailed (weekly) plan of first 2-3 months.

💪
Looking For a Simpler Way To Develop WordPress Themes Locally.
Tags: wordpress, discuss, help
Published: 2018-08-17 16:26:40

---
title: Looking For a Simpler Way To Develop WordPress Themes Locally.
published: true
description: I'm looking for kind of specific way to optimize my WordPress Development and Maintenance strategy. 
tags: wordpress, discuss, help
cover_image: https://images.unsplash.com/photo-1517694712202-14dd9538aa97?ixlib=rb-0.3.5&ixid=eyJhcHBfaWQiOjEyMDd9&s=a20bc6324f6ef2969d9a7cae56b8d4d1&dpr=1&auto=format&fit=crop&w=1000&q=80&cs=tinysrgb
---

This might be a strange or impossible request, but I'm looking for a kind of specific way to develop WordPress themes locally. 

At work I primarily work on a BigCommerce web store on their Stencil framework. It has it's issues, but what I like most about is the fact that when working on the local version it essentially pulls the data for products, urls, and everything directly from the live site. I work on the changes locally with live content, then use the stencil CLI to bundle and push the theme to the live site.

## Is something like that possible with WordPress? 

My current workflow involves a new local WordPress install for each site I'm working on and then I have to manually re-create the test content (especially with custom post types), set up all the databases, etc.

> I know you can export posts, etc, from the live site, but it seems to have issues when importing and doesn't compare anything, just adds whatever you exported to the local install.

## Is it possible to have a local version of WordPress just use the remote's database for posts and all that?

As far as pushing updates to the sites I currently use Git, a bare git repo on the remote server, and a post-receive hook to move the updated files to the correct spot on the server. 

## Can any of y'all share some insight into your WordPress theme development and maintenance strategies. 

I mostly work with One off themes for specific sites. I haven't yet ventured into the whole "Themes for the masses" path, but I'd love some insight there as well if you have it.

_cover photo by [Clément H](https://unsplash.com/photos/95YRwf6CNw8)_
My first PR merged!
Tags: github, opensource, contribution
Published: 2018-08-17 16:17:08

---
title: My first PR merged!
published: true
description: My first contribution to open source
tags: #github,#opensource,#contribution
---

I have wanted to start contributing to open source projects for a long time. So recently I pushed myself to do my first pull request. 

To start with, I decided to start with something small. My contribution is about translating project documentation to Russian language. Not so much work, not difficult, but I am so proud of myself. I know that it is just a beginning )

![My commit](https://thepracticaldev.s3.amazonaws.com/i/cw0pd3tvdasy1tpfz55q.png)
Open Source: Many of the benefits of socialism without the baggage
Tags: opensource, technology, rant
Published: 2018-08-17 16:10:14

---
title: Open Source: Many of the benefits of socialism without the baggage
published: true
description:     
tags: Opensource, technology, rant 
---

I wonder how much Open Source has contributed to the [massive decline in global poverty.] (https://www.bbc.com/news/world-34440567)

I suspect it's role is not at all trivial. The ethic of "let solve problems because they are worth solving, with or without profit" and "let's share those powerful tools to the masses" Changed the game in exponential ways.   

How many business decisions are made in the world today without the use of Linux, apache, mysql, php, or another free variant of such? Nearly none. We have cheap smartphones in the pockets of the poor and developing world powered by linux or a variant.

When I was a kid, It cost dollars to call a state away. I recently watched my kids play 'Magic the Gathering' with over video chat with their friends in Australia for several hours.  If technology can be used this trivially,  How big of an impact is it having where it generates goods and services?  If you can afford to negotiate for hours over a game, you can afford to negotiate for seed, tools, medical missionaries,  well drilling missionaries, and all kinds of things that will make life better, freeing people from doing subsistence tasks and being able to move to more exponential endeavors of building tools and infrastructure.   

There is a libertarian socialism that has emerged without the need for government revolution or force. It is handing the means of production to the masses. Those tools being distributed allow communities much better ability to solve problems locally and to communicate and coordinate with others to obtain resources that are needed.

You get many benefits of socialism without the the need for government involvement at all. We still have a ways to go.   As Open Source ethos spreads outside of the software realm, and into hardware, we can expect it to further accelerate it's compounding interest of making things cheaper and better. Gradually we will let go of the old way of doing things, and migrate to the new.  It only makes sense --  Even the big oligopoly software companies are joining the movement. The old expensive systems will be circumvented by the path of least resistance.   

This thought was inspired by [Mike Overby's post](https://dev.to/lethargilistic/open-source-has-not-failed-dont-cover-up-corporate-abuse-of-open-source-3ffe)
Hassle-Free Oracle Documentation with Brand New dbForge Documenter
Tags: oracle, database, documentation
Published: 2018-08-17 15:02:44

---
title: Hassle-Free Oracle Documentation with Brand New dbForge Documenter
published: true
description: Devart has released a brand new dbForge Documenter for Oracle 1.0, a tool for smart and easy documenting of Oracle databases, that automatically generates documentation for multiple Oracle databases in the HTML, PDF, and MARKDOWN file formats.
tags: oracle, database, documentation
---

Devart, a Czech software vendor of database tools and data connectivity solutions, has rolled out a brand new tool for seamless documenting of Oracle databases, - dbForge Documenter for Oracle v1.0. Documenter automatically generates documentation for multiple Oracle databases in the HTML, PDF, and MARKDOWN file formats. What’s more, the tool offers robust customization for the generated documentation. Here’s the scoop on the most significant features implemented in dbForge Documenter for Oracle:

1) Detailed and streamlined database structure 
Documenter for Oracle allows extracting a comprehensive database information about all Oracle objects, their details, properties, SQL script, inter-object dependencies and present them as an accurate navigation tree. 
2) Versatile customization to fulfill unique demands
Using dbForge Documenter for Oracle, users can select which database objects and properties to include in the documentation. Moreover, the tool allows choosing between different style templates or apply their own themes to get a striking layout.
3) Multiple file formats
Documenter for Oracle can generate documentation in searchable HTML, PDF, and MARKDOWN file formats. 
4) Seamless navigation to find everything in no time
Users can easily navigate throughout the documentation with the built-in breadcrumbs or use handy text search to locate needed objects quickly.
5) Automatic database documenting to save users’ time 
With the support for the command line interface, dbForge Documenter for Oracle enables users to set up automatic database documenting. The tool also allows generating a command line execution file (.bat) and perform the routine database documenting tasks in a click.

Take a closer look at all capabilities of dbForge Documenter for Oracle and try it for free during a 30-day trial at https://www.devart.com/dbforge/oracle/documenter/ .

About Devart

Devart is one of the leading developers of database tools and administration software, ALM solutions, data providers for various database servers, data integration and backup solutions. The company also implements Web and Mobile development projects.
Learn more about Devart at https://www.devart.com .
Follow Friday! (v6)
Tags: discuss, followfriday
Published: 2018-08-17 16:05:18

---
title: Follow Friday! (v6)
published: true
description: 
tags: discuss, followfriday
---

Who have you been keeping up with on [dev.to](/) that others should know about?

Let us know who and why by mentioning them in a comment!

Name as many folks as you want, including yourself!
Explain Grunt Task Runner Like I'm Five
Tags: explainlikeimfive, javascript, discuss
Published: 2018-08-17 15:32:53

---
title: Explain Grunt Task Runner Like I'm Five
published: true
description: How does grunt task runner works? What are some use cases for it?
tags: #explainlikeimfive #javascript #discuss
---

How does grunt task runner works? 

What are some use cases for it?

If you want to teach someone on using the task runner, how'd you ask them to use it?
JSON to Swift C# PHP JAVA any language, template driven [Code Generator]
Tags: swift, java, php
Published: 2018-08-17 15:10:40

---
title: JSON to Swift C# PHP JAVA any language, template driven [Code Generator]
published: true
description: jsoncafe free tool that generates models from json to C#, Swift, PHP, JAVA, .Net and variety of languages. includes predefined templates.
tags: swift, java, php, c#
---
jsoncafe is the template driven source code generator to automates the creation of boilerplate models source code for any language (Swift, C#, Java, VB, PHP etc).

[Jsoncafe.com Online Code Generator Tool](http://www.jsoncafe.com/)
Using the double-splat operator in Ruby
Tags: ruby
Published: 2018-08-19 00:37:47

---
title: Using the double-splat operator in Ruby
published: true
tags: ruby
canonical_url: https://michaeljherold.com/2018/08/17/using-double-splat-operator-ruby/
---

The double-splat operator is one of my favorite additions in Ruby 2.0. For some reason, the two little asterisks together make me happier than an optional `Hash` parameter in a method. Even so, outside of method definitions, I didn’t realize there was a use for the double-splat operator until I dug into a [bug in Hashie](https://github.com/intridea/hashie/issues/353). I liked the result enough that I wanted to take a quick minute and share what I found.

## Related behavior in JavaScript

If you write any modern JavaScript, you might have seen the following pattern:

```javascript
function todoApp(state = initialState, action) {
  switch (action.type) {
    case SET_VISIBILITY_FILTER:
      return {
        ...state,
        visibilityFilter: action.filter
      };
    default:
      return state;
  }
}

```

That `...` spread operator is really nice for creating new objects from others without modifying the originals. I really liked this when I built my first Redux-based JavaScript application because it removes a lot of the ceremony around `Object.assign`.

Sometimes you don’t yet have enough information to create an object. When that happens Hash is a great proxy for an object until you understand your domain a little better. I wanted the same behavior in Ruby for building up Hashes in these cases. For a while, I relied on `Hash#merge`, but then I saw this bug on Hashie.

## Double-splat operator

To solve this problem, you can use the double-splat operator in a different way. Check out the following code:

```ruby
def todo_app(state = initial_state, action)
  case action.type
  when SET_VISIBILITY_FILTER then { **state, visibility_filter: action.filter }
  else state
  end
end

```

This snippet works exactly the same way as the JavaScript version! I think that’s a really elegant answer to my original question.

Interestingly, if you compile down the instruction sequence for this code, you will see that it uses the C version of `Hash#merge` under the covers. I like that I’m getting the semantics of `state.merge(visibility_filter: action.filter)`, but can express it in a way that my JavaScript-writing friends can easily understand.

If there’s one way to do something in Ruby, there’s probably at least one more. I think this is one of the reasons many people like Ruby: they can express their thoughts in the manner that is easiest for them.

That’s all I have for you today. Did you know about the double-splat operator in this case?

The post [Using the double-splat operator in Ruby](https://michaeljherold.com/2018/08/17/using-double-splat-operator-ruby/) appeared first on [Michael Herold](https://michaeljherold.com).
How many computers do you use?
Tags: discuss
Published: 2018-08-17 13:57:32

---
title: How many computers do you use?
published: true
description: 
tags: discuss
---

Do you do everything on one laptop you carry around with you? Or do you have a laptop and a desktop? Can you describe your various setups? Do you have flex devices like tablets? How do you divide your time between your phone and bigger screens?

Just want to chat on this subject.
Playing with Discrete Fourier Transform Algorithm in JavaScript
Tags: javascript, algorithms, computerscience, programming
Published: 2018-08-17 13:49:08

---
title: Playing with Discrete Fourier Transform Algorithm in JavaScript
published: true
description: Complex but yet magical topic! 
tags: #javascript, #algorithms, #computerscience, #programming 
---

## TL;DR

You may find the Discrete Fourier Transform algorithm in [JavaScript Algorithms repository](https://github.com/trekhleb/javascript-algorithms/tree/master/src/algorithms/math/fourier-transform). 

## Discrete Fourier Transform

Even though [Discrete Fourier Transform](https://en.wikipedia.org/wiki/Discrete_Fourier_transform) or **DFT** is probably not the thing you work with daily it might still be a very interesting algorithm to play with. Not because it is quite complex but because of its interesting meaning.

*This algorithm allows you to split the input signal that is spread in time into the number of frequencies of certain length, amplitudes, and phases so that all those frequencies together will form the original signal*. So it actually converts the domain of *time* into the domain of *frequencies* and backward.

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


It may sound complicated so let's think about it from another angle.


### Smoothie Example

Imagine you have a smoothie. DFT then will allow you to split the smoothie into its ingredients! Imagine that you provide the bottle of smoothie as input for DFT function and it splits it out to three smaller bottles of pure carrot, apple, and orange juices! This is what DFT does - it splits the whole input into its ingredients.


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


### Paints Example

Or imagine that you want to paint the fence and you've mixed several paints up so that it started to be of homogenous color. DFT function then will be able to split your mixed paint into several pure colors that will together form that initial color! Isn't it sound like magic, is it?

 
![](https://thepracticaldev.s3.amazonaws.com/i/o953c923pngcxtqga433.jpg)


### The Algorithm


All algorithm beauty and complexity is hidden in the following formula:

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

You may find the direct and simple implementation of this formula in [JavaScript Algorithms repository](https://github.com/trekhleb/javascript-algorithms/tree/master/src/algorithms/math/fourier-transform). This is just a simple and not really efficient (*O(n^2)*) implementation of the transform. But the purpose of those functions is just to scratch the surface of such a complex, deep, and magic topic as Fourier Transform.

There is a [really good article](https://betterexplained.com/articles/an-interactive-guide-to-the-fourier-transform/) about this topic. I suggest you read it if you're interested in learning more since there are many visual and *interactive* Fourier Transform examples and explanations.

*I hope you found this Fourier thing interesting. Have fun with algorithms!*
What's new in Python 3.7
Tags: python
Published: 2018-08-17 13:41:30

---
title: What's new in Python 3.7
published: true
description: An interesting read on what's new in Python 3.7
tags: Python
---

This is an interesting summary of what's new in Python 3.7. I'm particularly excited about types and dataclasses, and `breakpoint()` should prove very handy too.

https://hackaday.com/2018/07/23/hands-on-with-python-3-7-whats-new-in-the-latest-release/
The guilt of not constantly coding
Tags: learning, beginners, discuss
Published: 2018-08-17 11:45:05

---
title: The guilt of not constantly coding
published: true
description: 
tags: #learning #beginner #discuss
---

Hi all, first blog post here!

Something I’ve been dealing with at the minute is the guilt of not programming at home. The culture of software development often dictates that if you’re not constantly programming, learning, developing on the latest software, building a business on the back of your programming skills then you’re doing something wrong, programming isn’t for you, and you should leave the field. (Also known as gatekeeping)

The thing is, I’m not sure how much I like programming outside of work. I’ve managed to get myself a role as a software developer, but I constantly studied outside of in order to do that, made personal sacrifices, and let some other skills suffer because of it. Now that I’ve achieved that goal, I don’t feel like constant programming is necessary.

I like to pursue creative endeavours outside of work: music, writing, drawing. All that feels quite relaxing, and productive to me, especially after a busy day. The thought of coming home and coding more gives me a sense of dread. Don’t get me wrong, if there’s something I can automate at home via code, then I absolutely will do that, and probably love it.

If there were no financial gain to be made from coding, would you still do it? Is it wrong to only want to code at work? Let me know your thoughts on the matter!