teleren/devto huggingface dataset:
Why Your Company Lacks Good SEO Strategy
Published: 2019-12-30 18:11:03

According to a recent survey, just about 30% of companies have a formal search engine optimization strategy. At a digital age where everything is about the World Wide Web, this is totally unacceptable. In fact, it's safe to say that online marketing strategies are almost critical for succeeding in operation today. Let us look at reasons why many companies lack great SEO strategy and what we can do in order to solve this problem.

The Reason: Lack of Understanding

The world of SEO strategy remains brand new although it has existed for several years now. The problem is that most companies still do not understand what Search Engine Optimization (search engine optimization) is. Also, they still do not understand how search engine optimization works and how it can benefit their business. But you can still find a handful of skilled and reputable SEO providers today with a great understanding of SEO. In fact, you can also outsource search engine optimization specialists if building a team of in house search engine optimization isn't practical or if there's an inadequate search engine optimization companies in your area.

Combining Search Engine Optimization with Traditional Marketing

Having a search engine optimization strategy adds another layer to the multifaceted world of internet marketing, making it increasingly more complicated than it ever was. Traditional marketing, such as print and TV advertising is already an intricate part of firm even before search engine optimization came into the film. As a way to ensure success today, a fantastic SEO strategy should become integrated with traditional marketing.

Developing a Basic Search Engine Optimization Strategy

The very first step is to assess your situation. Where do you stand? Once you know exactly where you stand, you can move with creating a plan. Of course, you need to learn the basics of SEO that isn't really that difficult and can be done in a few hours. If you prefer to employ a search engine optimization expert whether outsourced or in-house, then that choice should be finalized during this process.

The next step is to work in your own on-page search engine optimization, which includes titles, URLs, interlinking, social media, etc.. Then you definitely need to work on your connection building which is probably one of the most important parts of SEO. In this way, people will naturally link to a content or site without any attempt on your own part. You simply have to find the ball rolling and after that it is going to take care of itself once people start linking to your page.

Conclusion

SEO is very important. Every company should have a good SEO strategy. Once you have done thus you can get the job done in your own SEO plan or hire someone else to get it done for you.

Related Source:

https://wahbalami.com/seo-benefits
https://wahbalami.com/seo-wordpress-plugins
Auto Scaling and Deployment of Node.js application using Docker, Kubernetes, Github Actions and Google Cloud
Tags: docker, kubernetes, node, github
Published: 2019-12-30 18:00:30

![Deployment by Jothibasu](https://github.com/Jothibasuofficial/deploy-to-gke-demo/raw/master/deployment_by_jothibasu.png)

Greetings!
Thank you for being here.

Full documentation [here](https://medium.com/@jothibasuofficial/auto-scaling-and-deployment-of-node-js-327b381a95d8)
Ruby Methods: Each, Map, Select, and Reject Explained
Published: 2019-12-30 17:52:18

Here are four Ruby methods you should know when working with arrays:

Each vs. Map  

The main difference between map and each is in the return value. Using each will return the original array while map will return a new array. 

Example:

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


Select

The select method will return a new array that contains the elements of the original array for which the given block returns a true value. 

Example:  

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

In this example, we selected all the elements in the original array unless the element equaled "a".

Here is another example:  

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


Reject 

Reject is the opposite of select. It will return a new array that contains the elements of the original array for which the given block returns a value that is not true. 

Example: 

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

In this example, we are returning all the odd numbers in the original array. 


There are many more methods that can be called on an array. For more array methods visit https://ruby-doc.org/core-2.4.1/Array.html

Thanks!
How do distributed teams do code reviews?
Tags: askdev, discuss
Published: 2019-12-30 17:47:31

Like the title says. My team is all in the same location. We occasionally work remotely, but for the most part we come into the office. When we need to do a peer review, it's done face-to-face. If a team member is remote, the review has to wait until they're back in the office. So I was wondering, how do you do code reviews if the team members don't share a physical location?
playing with raylib
Tags: gamedev
Published: 2019-12-30 17:46:37

---
title: playing with raylib
published: true
description: 
tags: gamedev
---

While randomly reading twitter I saw a reference to this history of raylib. https://gist.github.com/raysan5/04a2daf02aa2a6e79010331f77bf983f

I then felt like I had to make sure I could still use it. :)

So this is my quick and ugly example.

```c++
#include "raylib.h"

const int W = 640;
const int H = 480;

int main() {
    InitWindow(W,H, "testing");
    SetTargetFPS(60);
    while (!WindowShouldClose()) {
        BeginDrawing();
        ClearBackground(RAYWHITE);
        DrawText("made a window!",640/2-32,480/2,20,LIGHTGRAY);
        EndDrawing();
    }
    CloseWindow();

    return 0;
}
```

Other examples (lots of them) can be found here:
https://github.com/raysan5/raylib/tree/master/examples/core
Return of weekly links – 12/30
Tags: links, ai, architecture, azure
Published: 2020-01-06 01:49:54

---
title: Return of weekly links – 12/30
published: true
date: 2019-12-30 17:32:25 UTC
tags: Links,AI,architecture,azure
canonical_url: 
---

Hello all, so I know that I totally fell off the wagon when it comes to weekly links. December has been a crazy month, I had three business trips, getting ready for Christmas. Due to family coming to town we effectively had 3 Christmas’ and on top of that I got sick.

I’m not complaining just explaining what happened. The holidays are a rough time for a lot of people, and we’ve all had experiences we have to carry with us. So remember in all the craziness that some might be suffering in silence. If you find yourself in this position, please reach out. You are not alone and there are people to help you.

Down to the business…

- [Better bursting enhancement with Azure Disks](https://azure.microsoft.com/blog/better-performance-with-bursting-enhancement-on-azure-disks/): cool enhancements to Azure disks around bursting.
- [New Features in Azure monitor metrics based on feedback](https://azure.microsoft.com/blog/better-performance-with-bursting-enhancement-on-azure-disks/) : Always great to see feedback lead to enhancement of a product.
- [Building xbox gaming stream with site reliability practices](https://azure.microsoft.com/blog/new-features-in-azure-monitor-metrics-explorer-based-on-your-feedback/) : been doing a lot of writing and work around resiliency, and this is a great idea.
- [Advice to my 20 year old self](https://azure.microsoft.com/blog/building-xbox-game-streaming-with-site-reliability-best-practices/) : interesting blog by Scott Hanselman.
- [Democratizing AI with machine learning designer](https://channel9.msdn.com/Shows/AI-Show/Democratize-AI-with-Azure-Machine-Learning-designer) : Really cool to see AI be more of a regular thing. 

### Cool Stuff:

So as always I have a post here about something fun. And this week I wanted to post about how my wife blew me away with her gift this Christmas. We had our 11th anniversary at Dave and Busters, we decided to double down on stupid fun. When we walked in, they were having a silent auction for MakeAWish and when I was in the bathroom she bid on this item and won.

![](http://www.welldocumentednerd.com/wp-content/uploads/2019/12/20191225_0848007360973895937019648.jpg)

This is a picture from the Dark Knight, my favorite movie of all time, signed by Christian Bale and the late Heath Ledger.
Someone to review & critique code
Tags: html, css, scss, ui
Published: 2019-12-30 17:30:02

---
title: Someone to review & critique code 
published: true
description: Feedback on coding project(s)
tags: html, css, scss, ui
---

I created a webpage to practice my coding skills and UI design and for my portfolio. I’m hoping to find someone to review & critique my code and give feedback. 

My goal is to get a Jr Frontend Dev job or internship by Spring of 2020. Thank you!!
How to group an object by property
Tags: javascript, webdev
Published: 2019-12-30 17:18:35

Here is a quick tip on how you can use **Javascript reduce** to group an array of objects by a property.

```
const students = [
  { name: 'John', grade: 1 },
  { name: 'James', grade: 1 },
  { name: 'Ryan', grade: 2 },
  { name: 'Matt', grade: 2 },
  { name: 'Joe', grade: 1 }
];

const groupedStudents = students.reduce((prev, cur) => {
  if (!prev[cur['grade']]) {
    prev[cur['grade']] = [];
  }

  prev[cur['grade']].push(cur);

  return prev;
}, {});

console.log(groupedStudents);
```
Open your developer console and expand the object you see. As you can see, the object has two property 1 and 2. They are the grades from the original array, and since we ask to group the new object by grade, that is why our new object has property 1 and property 2.

![Group Object](https://thepracticaldev.s3.amazonaws.com/i/skk7w34lvicoypypr93h.PNG)

Now if you expand the property 1, you can see that we have an array of students and inside that array, you find all the students from grade 1, and if you do the same for property 2 you can see the students from grade 2

![Detailed View](https://thepracticaldev.s3.amazonaws.com/i/6rha4n3drnk2arz2bbio.PNG)

As you can see, this is a beneficial function, and we could reuse it in many places on our application. To be able to reuse it, we need to convert to a function, and that way we can pass the property we want to group by instead of hardcoding.

Here is our new function:

```
function groupedObj(objArray, property) {
  return objArray.reduce((prev, cur) => {
    if (!prev[cur[property]]) {
      prev[cur[property]] = [];
    }
    prev[cur[property]].push(cur);
  
    return prev;
  }, {});
}
```
Contact Us Form Using Angular Material
Tags: angular, angularmaterial, css, html
Published: 2019-12-30 17:13:25



Contact us is most important for a user to co-ordinate with a website owner to ask a question or for feedback. So here we designed Contact Us Form Using Angular Material UI base component library. Also, we some CSS3 and customized angular materials components and modify CSS.

We love to design something new using the latest and trending frameworks like Angular. So here we used an Angular material UI component framework and some cool CSS properties like flexbox. To make this component responsive we used media quires to some particular px side like after tablets. Here customized angular material button and also used mat-icons in the mat-input filed side.  Here we also modify placeholder and outline colors and also color on entering text type. 

Make it yours now by using it, downloading it and please share it. we will design more elements for you.

https://w3hubs.com/contact-us-form-using-angular-material/
Proxying free Heroku Dynos though Cloudflare to a Custom Domain
Tags: actionherojs, heroku, https
Published: 2019-12-30 17:04:44

The [Actionhero project](https://www.actionherojs.com/) runs a number of websites for the community - documentation, sample apps, etc. We often rely on Heroku’s free hosting to run these applications.  Heroku makes it very easy to deploy your apps in a [12-factor way](https://12factor.net/), attach databases, and deploy with a simple `git push`.   It’s a great, free option to deploy your applications.

The [Actionhero project](https://www.actionherojs.com/)  uses Cloudflare as our DNS provider, as they provide a simple interface to enforce HTTPS, add caching, and a whole other host of features… and it’s also free!

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

One of the Cloudflare features we have enabled is `full` HTTPS encryption across the whole domain, meaning that traffic remains HTTPS’d between you and the Cloudflare proxy (which provides caching), and remains HTTPS’d from Cloudflare to our servers at Heroku.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/7i2mc4iu9s61avz0hxt9.png)

Heroku doesn’t provide HTTPS certificates for free dynos/apps like the ones we are using, except on their own domain, `*.herokuapp.com`.  By default your app will be visible on a domain like `my-app.herokuapp.com`However, you can opt to add custom domain to your app, like `my-cool-app.com` but… you can’t add HTTPS on the free Heroku tier.  Your custom CNAME won’t support it.

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

If you point your CNAME to this new custom Heroku DNS target,  Cloudflare will keep directing the client to HTTPS, which Heroku won’t like… and you’ll end up with a `Too many redirects` error. 

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/hm27zc07zu4ii18ezan3.png)
  
The way to solve this is to use the original CNAME target Heroku gave you even though it’s no longer listed in the interface.  Point the CNAME in Cloudflare at `*.herokuapp.com` even though Heroku will tell you to use a new DNS target in the interface, and you will have encrypted traffic flowing in no time!

```bash
CNAME     chat.actionherojs.com     chat-actionhero.herokuapp.com
```

- - - -

As an interesting notes, older Heroku apps keep showing the original `*.herokuapp.com` CNAME target in the dashboard, and not a new custom one, even with a custom URL added.  This behavior confirms that the above is a good path to get things working!

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/ro003foob99gn85rceot.png)
Python Training In Bangalore
Published: 2019-12-10 11:39:38

In the present state of affairs world is transferring towards data analytics. Now we have guided 1000's of individuals as Data Analytics experts with more than 94% placement file in MNCs across India and overseas nations. IIBA®, the IIBA® logo, BABOK® and Business Evaluation Physique of Data® are registered emblems owned by Worldwide Institute of Enterprise Evaluation. The Institute for Superior Analytics gives a ten-month lengthy Grasp of Science in Analytics diploma.

ExcelR, as a number one institute of Information science courses in Bangalore , pay a lot of consideration to the needs and requirements of the job market by maintaining an eye out on the current trending technologies. ExcelR's curriculum, college and publish coaching support is considered to be the most effective in the trade tailored to the needs of the Data Science job market.

This system is a gateway for college students pursuing a MS in Enterprise Analytics with College of Dallas. As part of this coaching, you will be engaged on real-time tasks and assignments that have immense implications in the real-world trade scenarios, thus serving to you quick-observe your career effortlessly. ExcelR's Knowledge Science course agenda has been meticulously designed with R Programming , Python , Machine Studying , Forecasting and Tableau addressing the complete Data life cycle.

The Information Science with Python Online Coaching program is designed for the IT and software program professionals who want to begin a profession in analytics and analytics professionals who need to work with Python. The training arm of Microsoft, Microsoft Studying, offers programs which might be available each onsite and online. Students must earn 30 credits, 21 by taking the core programs, including machine studying, and 9 credits by working on an elective (Foundations of Knowledge Science, Cybersecurity, Monetary and Enterprise Analytics, Well being Analytics, New Media Sense, Collect and Transfer Information, Sensible Cities) from the Data Science Institute.

Individuals are supplied with simulated trade data to facilitate in-depth publicity to analytical and statistical tools and methods. The curriculum covers more of a business perspective of data science and fewer of in-depth information of information science. I can say that If you are searching for Data Science Training. It's a licensed Training institute and Have Tied-Up with Many IT Corporations in India to deliver JOBS and Transform your career.
For more Information regarding Python training course:
https://www.excelr.com/data-science-course-training-in-bangalore
My Computer Programming Goals For 2020
Tags: codinglife, goals
Published: 2019-12-30 17:28:25

---
title: My Computer Programming Goals For 2020
published: true
date: 2019-12-30 17:00:00 UTC
tags: Coding Life,goals
canonical_url: 
---

The long decade is finally coming to a close. A lot of things have happened in 2019, and I personally feel like I have accomplished...

The post [My Computer Programming Goals For 2020](https://jaeheonshim.com/my-computer-programming-goals-for-2020/) appeared first on [Coding with Jaeheon Shim](https://jaeheonshim.com).
MindTalk - Why we built on Blockstack platform
Tags: blockchain, blockstack, productivity, privacy
Published: 2019-12-30 16:51:52

One reason we don't see many consumer-friendly Blockchain projects is they either try to use Blockchain for the wrong problem or are too difficult to use. As for now, you are left off with using centralized service or jump through technical hoops of decentralized projects.

This is slowly changing and there are a handful of projects trying to strike balance between ease of use and decentralization. One of them is [Blockstack](https://blockstack.org/) which is trying to give you more control over your data and identity. It uses Blockchain only for ownership of rare digital assets like identity and cryptography to encrypt your data which can be stored where you pick instead of an application server.

All of this happens behind the scenes so the developer can use their favorite front-end stack and let [Blockstack library](https://blockstack.github.io/blockstack.js/index.html) do the wok. For example, if you want to load your application data and decrypt them for signed user:

```
const userSession = new UserSession();
// ... code for signing the user
// once user signed in
userSession.getFile('myAppStorage.json', {decrypt: true}).then((result) => {
// handle the data
});
```

Simplicity and good developer support is of the reasons we picked the platform for our completely private diary application. We don't handle user data at all, we just provide the UI. It's still relatively early stage, but I think Blockstack is worth a try.



You can see try the app [here](https://www.mindtalk.app/) or see screenshots below.


![Calendar View](https://thepracticaldev.s3.amazonaws.com/i/6zyljcz0fjiri54rkagc.png)
![Diary types](https://thepracticaldev.s3.amazonaws.com/i/xt4j9r1j3owna6mw7g4w.png)
Need advices and feedbacks about a mobile game
Tags: flutter, picross, gamedev, android
Published: 2019-12-30 16:36:40

Hello there !
After several months of hard-work I released a [mobile game](http://onelink.to/7fwv53) based on the Nonogram/Picross idea, on iOS and Android using the Flutter framework.

I need good feedbacks about it, so do not hesitate to be as honest as you can :)

Thanks for your precious support !
DRY or not DRY?
Tags: dry, design, cleancode
Published: 2019-12-30 16:22:57

##What is DRY?
DRY (Don't repeat yourself) is a principle of software development aimed at reducing repetition of code.
##How to Achieve DRY?
To avoid redundancy, DRY recommand replacing repetition with abstractions or using data normalization.
##What is DRY Benefits?
###Expectations 
Less lines of code is less amount of bugs. It also saves time and effort and is easy to maintain. 
###Reality
"Duplication is far cheaper than the wrong abstraction." - Sandi Metz.
DRY at any cost isn't the right solution. Be aware of wrong code reuse. It's lead to a system too hard to maintain.  

Thanks for reading
Software Due Dates Missed?
Tags: agile
Published: 2019-12-30 16:16:15

**Waterfall Development**

Back in the days of waterfall development, big huge up front planning meetings mapped a year long (or longer) development cycles.  But how is it possible to estimate effort when the ones doing the estimation are not the developers?  The answer was, "Waterfall doesn't work" let's move to Agile.

**Agile**

Agile prescribed the short two week iteration, along with planning poker by the developers (for more accurate effort estimates). Closer to reality, for sure; by revealing impediments early. But ultimately the quarterly planning by upper management precluded any impediments.  The needs of the business always trumped everything else.

**Continuous Delivery**

Continuous delivery was then prescribed, it said "We'll delivery continuously, as we know we'll never have the entire thing finished".  

Continuous delivery allowed the development teams to do the best they could within the constraints allowed. Constraints such as bad development environments, lack of product knowledge, poorly written code, and perhaps most of all, too much complexity. These constraints popped up all the time, at the worst time contributing to missed expectations. 

**A Solution**

So what's a solution to the "Quarterly Planning Expectations versus the "In-the-trenches" reality of deliverables?" Two key points come to mind:

1) Developers must work smarter by creating Small Reusable Parts all consolidated into their "parts toolkit".  These "parts" must be easy to use (plenty of comments or examples contained within the part itself).

2) Upper Management needs to to focus on reported Impediments. This means that all Impediments stop progress. The fallout being pervasive with continual context switches, trying this, trying that, lack of direction, discovery of poor intra-communication processes etc. Total chaos for sure. 

The worst thing Upper Management can do, is to not acknowledge the impact on deliverables based on Impediments. By doing this; the developer, always becomes the reason for missed due dates.

Try these two things and see if it helps!

JWP2019
What are parameters and arguments?
Tags: beginners, ruby
Published: 2019-12-30 16:02:46

You'll definitely hear the words parameter and argument during your coding journey. In some cases, you may hear them being used interchangeably, however, they are different but closely related. 

Let's use an example to get a better understanding of parameter and argument. 

When you are declaring a function, you will state the parameters required for it to work. 

```ruby
def multiply(x, y)
  x * y
end

# x and y are the parameters
```

In the above example, we created a function that has two parameters, x and y. A parameter is what is required to make the function work when it is <strong>declared</strong>

An argument is what is actually passed to the function when it is being called. 

```ruby
multiply(2,3)

# 2 and 3 are the arguments
# output 6 
``` 

When we use a function and pass in data, then it is called an argument. So we passed two arguments to the multiply function.

I hope this helps clarify the use of these two terms.
What would I use Rust for?
Tags: explainlikeimfive, help
Published: 2019-12-30 15:58:08

---
title: What would I use Rust for?
published: true
description: Tell me what Rust is for
tags: explainlikeimfive, help
---

What is [Rust](https://www.rust-lang.org/) good for? (Assume essentially no knowledge of “low level” languages like C)