teleren/devto huggingface dataset:
Introducing The World’s Best Container Registry… Again
Tags: docker, kubernetes
Published: 2019-11-20 17:27:47

I joined JFrog recently, but have been a friend of JFrog for many years now… and I must confess that I had no idea that Artifactory was one of the first container registries and is heavily used in production (psssh… don’t tell my boss, the CEO). I am sure I am not alone, and this is a huge miss for those of us who know and love JFrog products, but have been dealing with second class offerings to manage our container images. Actually, now that I know, I would argue that Artifactory is the world’s best container registry. From watching how customers use Artifactory, it is obvious that there is no other registry in the world that offers the same deep metadata, high availability, advanced security scanning, and the breadth of integrations.

But all of this comes at a price… and when you are starting a new project it is hard to convince your boss to purchase licenses for (or ask your DevOps team for access to) Artifactory Pro. And it should be no surprise that as your friendly, neighborhood change agent, a few months after I joined we now have a container registry offering for developers that is entirely free to use!

So I am pleased to “re-announce” the World’s Best Container Registry technology with a new offering called the [JFrog Container Registry](http://jfrog.com/container-registry). The JFrog Container Registry uses the same proven binary image management capabilities of Artifactory including rich metadata, remote and virtual repositories, and can store [Docker images](https://www.jfrog.com/confluence/display/JCR/Docker+Registry) and [Helm charts](https://www.jfrog.com/confluence/display/JCR/Helm+Registry) for deployment to Docker or Kubernetes environments. You can download the on-premises version and use it on a local or cloud environment for free with no restrictions. There is also a SaaS version for AWS, Azure, and GCP with a free tier.

One of the areas that the JFrog Container Registry really shines is in a hybrid or multi-cloud environment. You can take control of your binary image storage by using the same repository on whatever cloud service or local infrastructure you are using for development, testing, and deployment. Given the size of container images, this lets you control where and how you are storing your images based on your deployment topology and corporate security constraints.

You now have in your hands the best container registry that is used to serve the production needs of the world’s largest organizations. Bank of America, Oracle, IBM Cloud, Box, Morgan Stanley, and Atlassian all already use JFrog’s container technology to store their Docker images at scale.

You can give the JFrog Container Registry a spin at: http://jfrog.com/container-registry.

Feel free to reach out and ask questions on Stack Overflow: https://stackoverflow.com/questions/tagged/jfrog-container-registry.
Wordpress Cron Job is not running
Published: 2019-11-20 17:21:28

---
title: Wordpress Cron Job is not running
published: true
---

Related to [this post](https://dev.to/nicolrx/how-to-automatically-share-your-wordpress-articles-on-social-media-with-buffer-and-cron-3d77) where I shared on DEV how to schedule articles using Buffer and the Wordpress Cron, it seems I misunderstood something about how Cron works...

{% stackoverflow 58960024 %}

Any help appreciated ;)
How do you attract open source developers to sign up on a platform? 
Published: 2019-11-20 17:19:45

I started working for a company about 6 months ago, whose goal is to help open source developers showcase their work, get recognized for their contribution and eventually find full-time jobs to work on open source. 

I'm fairly new to open source but fell in love with the community as I learned more about what it's all about. I've tried different marketing approaches, but nothing seems to be working as expected. 

I'll love to get some feedback on how to market to open source developers or just programmers in general. 

The company I work with is https://openteams.com
Twitter Bot posting Wikipedia Good Articles - Any feedback?
Tags: php, sideprojects, webdev
Published: 2019-11-20 17:00:42

Hey guys! I am new here and as a first post I would like to present my recent project: @wikigoodarticle 

It's a Twitter bot posting each day a random 'Good Article' from Wikipedia.

You can see here the official criteria for Good Articles: https://en.wikipedia.org/wiki/Wikipedia:Good_article_criteria

Even if I attended some programming classes at the university (some time ago...), I am a hobbyist/beginner mostly learning from StackOverflow.
So I would be happy to get some feedback from experienced progammers. Does this code looks ok to you according to standards? What could be improved ? Is there any huge mistake?!!

You can check out the code here: https://github.com/RockyStrongo/Wikipedia-Good-Articles-Bot

Is there a place in dev.to to submit your code to code reviews?

Some explanations:
High level, the program is using the wikipedia API to get articles listed as 'Good Articles'. Then it checks which articles were already posted by @wikigoodarticle to avoid duplicates.

If some images exist and have correct size and format, the program tweets an image along with the article title and URL.

The php code is scheduled to run once a day using IFTTT.

The program is using the php library twitteroauth (https://twitteroauth.com).

****
PS: don't forget to follow @wikigoodarticle and donate to wikipedia! https://donate.wikimedia.org/
Let's build Flawk.to - Week 6
Tags: showdev, react, javascript
Published: 2019-11-20 16:51:41

### Cover Photo by Dan Gold on Unsplash

Another week another set of hours to think. To think about how the project is going and the potential it has to make peoples lives better. This past week I looked back at what I accomplished so far with [Flawk.to](https://flawk.to), and let me tell you it is not much. It was a blow to my moral to look and see lots done all over the place, but nothing useable or cohesive. It did not feel great. So I decided to make a change.

I am starting from the beginning. I have tossed out the work I have done so far (I did keep it in a branch so I can still reference it). There are some great pieces of work and great functionality in there. In the future I will most definitely be using them. For now no one is able to see the hard work and nice animations because there is no app. So I have shifted my goal, or started to focus more, to get the app working. It will not be beautiful - but useable. Enough that I can start to talk with people, get feedback, and iterate to fix issues and release new features.

I am keeping my mind empty. A great friend of mine spent some time with me creating the simplest version of a useable app. Some super simple screens to accomplish the bare minimum. That is what I am going to work on. The screens. If I keep it simple, and stay focused I can have all the screens done in 2 weeks. If I am able to do one a day would take me 7 days. It feels right.

This week and the following weeks until I have the screens complete I am going to keep the stream ultra simple. I enjoy spending my time listening and talking with y'all and I will continue to do so. The code may not be amazing or exciting but it is progress.

This week I will be working on 2 screens. The landing page for organizers and the community creation screen. While I am doing this I will be building out a component library with my latest 3 favourite technologies:

1. React
2. Styled Components
3. Framer Motion

Come and join me, let's have a great chat and build some components!

Stream starts tonight at [9PM EST](https://in-my-tz.now.sh/t/32312c416d65726963612f546f726f6e746f) (click the link to see the time in  your timezone) on [twitch](https://twitch.tv/ericadamski). [Follow me](https://twitch.tv/ericadamski) to stay up to day with Flawks progress!

---

We have a [public roadmap](https://flawk.to/roadmap)! You can vote for features you want to see and submit your own feature requests!
The three states of data-driven UI
Tags: react, javascript, beginners
Published: 2019-11-20 16:39:13

How should our UI behave, when our logic doesn't really know, whether there will be any actual data?

I remember the times, when there was no such issue as "not knowing" about the data in the UI. We knew, and if it was there – we imported the template. If not – we didn't even display the section responsible. It was all server rendered and handled by a simple `if` condition.

```twig
{% if comments %}
  {% include "comments.html" with comments %}
{% endif %}
```

And that was it, really. 

We can have similar approach today. Why not? In our React app, it would be as easy as to write

```javascript
comments && <Comments />
```

This is a **binary state**. True or false, 1 or 0. Nothing more to it.

## The third state

As clarified before, two states are `true` – there is some data, or `false` – there is not. **But we can expand it, have an ambiguous in-the-middle** one:

```javascript
const STATE = {
  OK: "OK",
  FETCHING: "FETCHING",
  NO_DATA: "NO_DATA",
};
```

This will allow us to have more complex rendering and provide user with the actual information about what is happening.

Assuming the backend returns a JSON array, code can look like this:

```javascript
const Comments = (props) => {
  const [fetchState, setFetchState] = React.useState(STATE.FETCHING);
  const [comments, setComments] = React.useState([]);
  
  React.useEffect(() => {
    (async () => {
      const { data } = await props.fetchComments({ id: props.id });
      setFetchState(data.length > 0);
    })();
  }, []);
    
  if (fetchState === STATE.OK) {
    return comments.map(comment => <Comment key={comment.id} {...comment} />);
  }
    
  if (fetchState === STATE.NO_DATA) {
    return <NoData message="No comments for this post" />;
  }
    
  return <Loading />;
};
```

We are using very extensive render fragment – two `if`s and one default `return`. This is mostly for clarity, as this could be written in a shorter way. It now demonstrates purely, what will be displayed when. And, we could have more states, for example, when fetching will not be successful. 

This approach is far better than basing on state derived from data. We could check `comments` array for length, and even turn it into `null` when fetch returns no result. But this introduces a risky type change – we'd transform an array into a `null`. We'd have to check this type every time we would like to do an operation on this value. This is far too error prone.

## Conclusion

This is very basic and very simple example of how UI should be treated with async data. Displaying endless spinners when there's nothing fetched is very bad practice and should be avoided. With this approach, you can have cleaner and more intuitive UI and UX.
How to grasp language structures and computer science concepts that you don't understand intuitively?
Tags: productivity
Published: 2019-11-20 16:35:33

So I am mentioning a couple of problems that have been bothering me. I have been a software engineer for about 6 years or so.

1. Whenever I read code, for example in the Swift language, some programmers use the power of the language heavily, closures, protocols and they end up breaking down the modules very heavily and access things in what seems unnecessarily complex? I am unable to read that sort of code and understand what's going on. I end up having to go back to those language concepts and coming back to try and understand what's going on. Even then, I find it hard. 

2. Also, whenever I try and reproduce a data structure or algorithm, it goes beyond me how to apply that sort of concept in programming in general. I can't seem to intuitively grok it. It seems like I end up doing it the rote way. This doesn't help in the application of concepts elsewhere. I can't seem to reinvent that kind of stuff. 
These things make me feel like I've reached a roof in my programming skill and cannot go beyond. It feels like my programs are too simplistic, because I just grasp the idea/requirements and end up coding it quite awfully with long modules and unnecessary logic, although it works. I can't seem to give it quite the standard of awesomeness, if you know what I mean.

Can someone advise me what I can do to improve this? Or am I done programming?
Does your company periodically share the result of each quarter with the whole team?
Tags: transparency
Published: 2019-11-20 16:26:32

---
title: Does your company periodically share the result of each quarter with the whole team?
published: true
description: 
tags: transparency
---

This is the second time the CEO of the company I'm working for ([StreetLib](https://streetlib.com)) shares the 💵company results💵 of the last quarter **with the whole team**. 

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/gxeycrqvo3jlcq3lzog8.jpeg)

We're a small company, the "operative" team is composed of 11 people, yet I strongly appreciate these occasions because they actually make me feel as a part of the team.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/z163i5qseot3wer94lic.jpg)

The CEO also prompts the team to ask any kind of question about the data shared.

The willingness to provide this level of transparency helps to build the trust in the relationship with the company.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/ajv78n4uqpzt4txbc7cv.jpg)

Is this a common practice?
Does your company do the same? 🤔
Anybody keeping up with TruffleRuby?
Tags: discuss, ruby, rails, truffleruby
Published: 2019-11-20 16:10:01

{% github https://github.com/oracle/truffleruby %}

> TruffleRuby aims to:
Run idiomatic Ruby code faster
Run Ruby code in parallel
Boot Ruby applications in less time
Execute C extensions in a managed environment
Add fast and low-overhead interoperability with languages like Java, JavaScript, Python and R
Provide new tooling such as debuggers and monitoring
All while maintaining very high compatibility with the standard implementation of Ruby

It's such an interesting project in Ruby world. I'm curious if anybody is keeping up with it and might have some "latest opinions" on how close it is to being practical to use in production and what your general thoughts are on the project.
Welcome Thread - v49
Tags: welcome
Published: 2019-11-20 16:01:37

---
title: Welcome Thread - v49
published: true
description: Welcome to DEV! A thread of hellos and intros.
tags: welcome
---

![nice to meet you](https://media.giphy.com/media/xTOiYmW2YLVZt3FUmW/giphy.gif)

### Welcome to DEV!

1. Leave a comment below to introduce yourself! You can talk about what brought you here, what you're learning, or just a fun fact about yourself.

2. Reply to someone's comment, either with a question or just a hello. 👋 

**Great to have you in the community!**
Any Uninterruptible Power Supply (UPS) suggestions?
Tags: discuss, hardware, computer
Published: 2019-11-20 16:00:03

---
title: Any Uninterruptible Power Supply (UPS) suggestions?
published: true
description: Uninterruptible Power Supply (UPS)
tags: discuss, hardware, computer
---


I had a massive power surge at my home last night (all my equipment survived)🙂. So, now, I need to buy an Uninterruptible Power Supply (UPS) and would like some suggestions. 

**Requirement**
- Budget <= $100 
- Built-in surge protector.
- Battery runtime > 1 hour (with one computer plugged in).

**Nice to have but optional** 
- Monitoring via the app or webpage
- Ethernet port
- LCD Display

Thanks in advance for any suggestions.

Cheers!
Use Google Kubernetes Engine to create a simple react app
Tags: gke, kubernetes, cloud
Published: 2019-11-20 15:50:26

Checkout the link below and see how to create a simple react app using the managed Google Kubernetes Engine.We will be using a docker image


https://cooltechysnacks.wordpress.com/2019/10/18/simple-react-app-on-gcps-gke/
Responsive website for plants
Tags: codepen
Published: 2019-11-20 15:35:24

<p>I do not own the design and I'm just recreating them into CSS and HTML for fun and/or education purposes only, Selected designs were randomly picked from dribbble.com and credits goes to the original designer ✌.</p>

<p><strong>Credits:</strong></p>

<p>Original design - Givi Dautashvili - <a href="https://dribbble.com/shots/6981862-Greenhouse/attachments" target="_blank">https://dribbble.com/shots/6981862-Greenhouse/attachments</a></p>

{% codepen https://codepen.io/co0kie/pen/yLLwYmN %}
What are the best questions you can ask as an interviewee?
Tags: discuss, career, webdev
Published: 2019-11-20 15:28:38

---
title: What are the best questions you can ask as an interviewee?
published: true
description: A great way to communicate what you value as an employee and to figure out if the company you are interviewing with is a good fit for you.
tags: #discuss #career #webdev
---

When you are interviewing for a job, what are some of the best questions you can ask to determine that if the company is a good fit for <em>you</u>?

This is a great way to communicate what <em>you're</em> looking for in a company. It's one of the few times you have almost full control in the interview. Not to mention, it can show the company that you are taking this as seriously as they (hopefully) are.

Some of mine include:

<ul>
  <li>What is the turnover rate at your company?<p><em>Turn over is normal for any company, but I'm always wary of companies that have a high turnover rate or claim to have a very low or non-existent turn over. Some companies can be very upfront with having a high turn over rate, whether it's their industry or their culture.</em></p>
  </li>
  <li>Do you and your colleagues spend time together outside of work?<p><em>Or "Do you and your team eat lunch together often?" This (hopefully) conveys I'm looking for a good/healthy work relationship with my future coworkers.</em></p>
  </li>
  <li>Is there an opportunity for mentorship at your company?<p><em>Not a requirement, but it shows that a company has an interest in their employee's growth in their positions, skills, etc.</em></p>
  </li>
  <li>Is there an opportunity for continued education?<p><em>Working in tech, we are dealing with constant changes in languages, tools, and applications. Most companies I've interviewed with either provide a stipend or will subsidize classes, courses, and conferences. Again, not a deal breaker, but it shows the company is willing to invest in its employees.</em></p>
  </li>
</ul>

![GIF: one man asks "what are your qualifications?" the next man asks "what are YOUR qualifications?" with an emphasis on the your. The first man shakes his head.](https://media.giphy.com/media/egSqD74685gzK/giphy.gif)
Daily Challenge #121 - Who has the most money?
Tags: challenge
Published: 2019-11-20 15:06:20

---
title: Daily Challenge #121 - Who has the most money?
published: true
series: Daily Challenge
description: You're going on a trip with some students and it's up to you to keep track of how much money each Student has.
tags: challenge
---

You're going on a trip with some students and it's up to you to keep track of how much money each Student has. A student is defined like this:

`class Student`:
    `def __init__(self, name, fives, tens, twenties)`:
        `self.name = name`
        `self.fives = fives`
        `self.tens = tens`
        `self.twenties = twenties`

As you can tell, each Student has some fives, tens, and twenties. Your job is to return the name of the student with the most money. If every student has the same amount, then return `"all"`.

Notes:

- Each student will have a unique name
- There will always be a clear winner: either one person has the most, or everyone has the same amount
- If there is only one student, then that student has the most money

***
_This challenge comes from MrAppa on CodeWars. Thank you to [CodeWars](<https://codewars.com/>), who has licensed redistribution of this challenge under the [2-Clause BSD License](<https://opensource.org/licenses/BSD-2-Clause>)!_

_Want to propose a challenge idea for a future post?  Email **yo+challenge@dev.to** with your suggestions!_
Calling a component recursively in React.js
Tags: react
Published: 2019-11-20 14:55:36

This post was made after reading [this](https://dev.to/proticm/vue-and-recursive-components-15n7), which talks about the same thing (in Vue.js).
The call to a component recursively must be driven by recursive data, which will define the tree of nested calls that will be made.
Let's say we have this recursive (nested) data:
```javascript
  const recursive={
    arr:[
      {
        arr:[
          {
            arr:[],
            val:'a'
          },
          {
            arr:[],
            val:'b'
          },
        ],
        val:'c'
      },
      {
        arr:[],
        val:'d'
      }
    ],
    val:'e'
  }
```
We can use it to call a component recursively.
Let's define our recursive component:
```javascript
import React,{useReducer} from 'react'
import s from 'styled-components'

export const Test1=({recursive})=>{
  const Div=s.div`
  `
  return (
    <Div>
    {recursive.val}
    {recursive.arr.map((it,i)=><Test1 key={i} recursive={it}/>)}
    </Div>
  )
}
```
Now let's define our `App` component which will call this recursive component for the first time:
```javascript
import React from 'react'
import s from 'styled-components'
import {Test1} from '../test1/test1'

export const App=()=>{
  const Div=s.div`
  font-family:sans-serif;
  `
  const recursive={
    arr:[
      {
        arr:[
          {
            arr:[],
            val:'a'
          },
          {
            arr:[],
            val:'b'
          },
        ],
        val:'c'
      },
      {
        arr:[],
        val:'d'
      }
    ],
    val:'e'
  }

  return (
    <Div>
    <Test1 recursive={recursive}/>
    </Div>
  )
}
```
The output for this in the browser will be:
![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/2kgqazntren087bmonv0.png)
Boris Johnson, The UK General Election and Online Reputation Management
Tags: seo
Published: 2019-11-20 14:42:08

Boris Johnson saying he likes punk band The Clash in a recent Tory election interview video on social media is in my opinion just him trying to bury the following parody video (on 0.5M views in 2 months on Youtube alone ) in Google search results : https://youtu.be/W0pTpwqkB48 



He has got a long record of this - see parall.ax/blog/view/3301/boris-johnson-the-unlikely-seo-strategist .
SonarQube for FrontEnd projects
Tags: sonarqubesetup
Published: 2019-11-20 14:36:03

---
title: SonarQube for FrontEnd projects
published: true
description: SonarQube setup for frontend projects
tags: sonarqube setup
---

Step 1: Install SonarQube 

For installing SonarQube first download the Sonarqube from https://www.sonarqube.org/downloads/

The latest version of sonarqube requires JDK 11.0 & above. Download & install JDK 


Extract the zip 

Start the SonarQube Server:

# On Windows, execute:
C:\sonarqube\bin\windows-x86-xx\StartSonar.bat

# On other operating systems, as a non-root user execute:
/opt/sonarqube/bin/[OS]/sonar.sh console

eg: On My Mac I execute below command 
/usr/local/opt/sonarqube/bin/macosx-universal-64/sonar.sh console 


Step 2: Configuring SonarQube for your project

npm install sonar-scanner --save-dev

After successful install of the dependency, create a file named 
sonar-project.properties

Open the file & add following 

sonar.host.url=http://localhost:9000
sonar.login=admin
sonar.password=admin
sonar.projectKey=app-name
sonar.projectName=app-name
sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8
sonar.sources=src
sonar.exclusions=**/node_modules/**
sonar.tests=src
sonar.test.inclusions=**/*.spec.ts
sonar.typescript.lcov.reportPaths=coverage/lcov.info


Open package.json & add below line in the scripts property 

"sonar":"sonar-scanner"


Step 3 : SonarQube console

In the terminal type:  npm run sonar to execute sonar for the selected project.

Open browser & type url http://localhost:9000.

Use the default credentials i.e admin and admin as the Login name and password respectively.

Check the issues tab for Sonar Issues