Discourse is the Future of Web Forums

Discourse is the Future of Web Forums

Authors

Brandon Hopkins, Creator of Tech Hut

Suparna Ganguly

What are Web Forums?

Web forums allow its users to connect with one another via posting messages. Forum posts can be seen by any number of anonymous visitors, but to post messages, you need to have an account in that particular web forum. Within a web forum, you can either create a new post or post replies on other users’ posts, also called Threads. Many web forums go well beyond typical threads and messages with advanced features and tools. Some of these extras may include blogging, file management, photo galleries, and much more.

Why do you need one?

So, why do you need a web forum? You may need one for the following reasons.

  • Encourage Discussion: The main advantage of a web forum is that it encourages discussions. They are a powerful way for you to communicate over shared interests with your team members, clients, or other businesses. You could also create different communities of different groups. This would help people find topics and resources of their interests.
  • Mutual Interest Groups: Web forums are a great way to create a sense of community. People ask questions and share their own experiences about any subject. Thus web forums play a vital role in cultivating interest groups.
  • Seek Assistance and Support: Whenever you need help you ask a colleague or manager. But what if they aren’t available? Then you need to solve the problem by yourself. With a web forum, you don’t need to. Simply reach out to your community. Create a discussion thread asking for help. And you’ll get a solution without having to wait long.
  • Members Only: Discussion forums provide private access to only its members. None apart from its members can contribute to the discussions.

Web Forums Should be Free and Open Source

Web forums should be free so that they can be used by like-minded people to seek support, exchange ideas, and have discussions at the time of need. Discussion forums provide a space to discuss something which can’t easily be found on the Internet.

If you run a startup or a mid-sized enterprise, you may have to hire developers to build your own online discussion platform. This increases your cost. Fortunately, we have open-source web forums. Deploy open-source web forums directly on your server. And then customize to use them as per your requirements.

5 Distributions Of Linux To Consider For Your Server

5 Distributions Of Linux To Consider For Your Server

Linux servers are everywhere. There's a good chance a number of your favorite websites are running on infrastructure that's powered by Linux, not to mention streaming services, social media platforms, gaming networks, the list goes on. The only thing more staggering than the number of Linux servers there are in the wild, is how many distributions you have to choose from. The distros that are available for download are countless, and the purpose of each ranges from general purpose operating systems, to task-oriented tools such as Clonezilla. If you're just getting started with deploying Linux in your data center, choosing the right distribution can be confusing. If you utilize a cloud provider for your Linux infrastructure, the number of choices is at least somewhat curated, but you still have a choice to make. Which distribution is right for your environment? In this article, we'll discuss some important concepts to keep in mind - and we'll go over the finer points of some of the more popular options. There's no shortage of opinions online regarding desktop distros, but in this article - we're going to focus on server deployments.

Watch the video version of this article

First and foremost, there is no one general answer that's correct. If there was only one suitable choice, then you wouldn't see so many comments online arguing which distribution is best (and this article wouldn't be necessary). The correct answer as far as which distro is superior is the one that enables you or your organization to accomplish the goal you've purchased the server for. All distributions are worth checking out, but some will focus on certain areas more than others. Let's take a quick look at some of the more popular choices, along with the pros and cons of each.

Read the doc

Three Ways To Improve Your Programming Skills

Three Ways To Improve Your Programming Skills

The ability to write code is a huge differentiator for every job role in an enterprise Linux environment. As an Operations and DevOps manager, I was constantly challenged to improve my team’s programming skills, and the team genuinely wanted to be more proficient.

But how?

Structured training is a standard answer: take a course! Our company, like many, invested enormously in learning resources. I’d sit with an engineer one-on-one and we’d ponder the online portal together, puzzling out the most appropriate Python learning path.

There are two issues, however. Problem one: classroom material is almost immediately forgotten, if not directly applied. Problem two: I’d lose visibility of progress for days, weeks, or even months. I’d find out too late the material was inappropriate or too advanced.

I want to share three supplemental approaches I found effective in helping engineers get comfortable with programming while becoming immediately productive. Each is suited to a different baseline skill-set.

New hires: teach the framework, first

No, or very little, programming experience? Don’t ask the engineer to write code; instead, write documentation. This sounds contradictory, I realize. But this is the key: the engineer is to treat what he or she writes exactly like code. Your team’s development practices are to be followed scrupulously, regardless of content. And if your shop isn’t already handling technical documentation like code, please start!

Really -- it's not basic language constructs and procedures that are a struggle for the inexperienced -- it’s everything else. Immediately more important than writing code are the concepts of a repository and mechanics of Git; continuous integration, continuous delivery (CI/CD) pipelines, installing and configuring an integrated development environment (IDE), etc.

In my team, I challenged very new programmers to write “runbooks” – a set of written procedures used for incident response by Level I support and sysadmins. And I expected an iterative cycle; the runbooks would be properly merged in our repository, and be continually updated and revised, reinforcing this practical learning. You “get” Git by using it over and over.

Asking new programmers to write documentation helps in these three ways:

  1. The employee develops a hands-on understanding of version control and other tools fundamental to best practices.

  2. The output is immediately productive, and appreciated by peers.

  3. It’s an easy transition to the next logical step, which IS programming: replacing the manual actions with automation.

Design and Prototypical Implementation of an IRC Chat Server in Erlang OTP

Design and Prototypical Implementation of an IRC Chat Server in Erlang OTP

Authors: Annette Grueber, Tom Jaschinski and Tobias Winkler

Introduction

By the time of this article, digital services provide key functionality to businesses and everyday life. Due to the progress of digitization, the reliance on digital services has been growing rapidly. This process is not only shown by the growing number of inter connected devices that communicate with each other but also by the impact of unavailable services during an incident: On the 4th of October 2021, Meta (former Facebook) and all of its organizations (e.g. Instagram, WhatsApp, Facebook Messenger) were unavailable for up to seven hours. The outage resulted in a huge profit loss for the company and connected businesses. [1]

This outrage shows that modern solutions must be designed resiliently to enable service provisioning during incidents. There are multiple solutions to develop high-available and reliable services that can be applied to various levels in a system’s architecture and design. Some programming languages are specifically designed to meet these challenges. The functional programming language Erlang provides inherent functionality to develop these resilient services.

Therefore, this article presents the exemplary design and development of a communication service based on the Internet Relay Chat (IRC) protocol in Erlang to investigate its availability features.

Background

This chapter deals with the basics of the programming language Erlang. The subchapters give an overview of functional programming and features specific to Erlang.

Functional Programming

Functional programming is a programming paradigm. Various characteristics specify what constitutes functional programming:

  • Pure functions: Pure functions are deterministic functions which always produce the same output value for identical input values. Therefore, it can be concluded that a function cannot be influenced from the outside. Hence, there are no side effects. [2]

  • Immutability: Immutability refers to the fact that data cannot be changed. Once variables have been assigned a value, the variable can no longer be reinitialized. Therefore, reinitialization is only possible by introducing a new variable with the adjusted value. Since classical loops in imperative programming languages require updating variables by e.g. incrementing them, there are no loop statements in functional programming. Iterating over data requires recursive function calls. [2]