Programming Languages

Locating special folders in cross-platform .NET applications

Locating special folders in cross-platform .NET applications

.NET has APIs for locating special folders that can be used for application and user configuration and data storage. They provide a convenient, portable way to make cross-platform applications find the appropriate folders on different operating systems. We’ll look at how Environment.GetFolderPath, Path.GetTempPath, and Path.GetTempFileName behave on Linux.

Continue reading “Locating special folders in cross-platform .NET applications”

Share
GCC 8 and tools now in beta for Red Hat Enterprise Linux 6 and 7

GCC 8 and tools now in beta for Red Hat Enterprise Linux 6 and 7

We are pleased to announce the immediate availability of Red Hat Developer Toolset 8 beta for Red Hat Enterprise Linux 6 and 7.  The key new components for this release are:

  • GCC 8.2.1
  • GDB 8.2
  • Updated components such as SystemTap, Valgrind, OProfile, and many more

Like other tools, these are installable via yum from the Red Hat Enterprise Linux 6 or 7 Devtools or RHSCL channel.  For more details, see the “New Features” section below.

Continue reading “GCC 8 and tools now in beta for Red Hat Enterprise Linux 6 and 7”

Share
Clang/LLVM 6.0, Go 1.10, and Rust 1.29 now in beta for Red Hat Enterprise Linux

Clang/LLVM 6.0, Go 1.10, and Rust 1.29 now in beta for Red Hat Enterprise Linux

We are pleased to announce the immediate availability of these three compiler toolsets now in beta for Red Hat Enterprise Linux 7.  Upon the GA release, these versions will become officially supported Red Hat offerings:

  • Clang/LLVM 6.0
  • Go 1.10
  • Rust 1.29

These toolsets can be installed from the Red Hat Enterprise Linux 7 Devtools channel.  See the “New compiler details” below to learn about the new features.

Continue reading “Clang/LLVM 6.0, Go 1.10, and Rust 1.29 now in beta for Red Hat Enterprise Linux”

Share
Newest PHP, Varnish Cache, MySQL, NGINX, Node.js, and Git now in beta

Newest PHP, Varnish Cache, MySQL, NGINX, Node.js, and Git now in beta

We are pleased to announce the immediate availability Red Hat Software Collections 3.2 beta, which adds these components to Red Hat Enterprise Linux 7:

  • PHP 7.2
  • Varnish Cache 6.0
  • MySQL 8.0
  • NGINX 1.14
  • Node.js 10
  • Git 2.18
  • Update of Apache HTTP server 2.4

These beta versions are available on Red Hat Enterprise Linux 7 (Devtools or RHSCL channel) for x86_64, s390x, aarch64, and ppc64le.  Read more details about each component in the “New Components details” section.

Continue reading “Newest PHP, Varnish Cache, MySQL, NGINX, Node.js, and Git now in beta”

Share
Modern web applications on OpenShift: Part 2 — Using chained builds

Modern web applications on OpenShift: Part 2 — Using chained builds

In the previous post, we took a quick look at a new source-to-image (S2I) builder image designed for building and deploying modern web applications on OpenShift. While the last post was focused on getting your app deployed quickly, this post will look at how to use the S2I image as a “pure” builder image and combine it with an OpenShift chained build.

Continue reading “Modern web applications on OpenShift: Part 2 — Using chained builds”

Share
Securing .NET Core on OpenShift using HTTPS

Securing .NET Core on OpenShift using HTTPS

In an effort to improve security, browsers have become stricter in warning users about sites that aren’t properly secured with SSL/TLS. ASP.NET Core 2.1 has improved support for HTTPS. You can read more about these enhancements in Improvements to using HTTPS. In this blog post, we’ll look at how you can add HTTPS to your ASP.NET Core applications deployed on Red Hat OpenShift.

Before we get down to business, let’s recap some OpenShift vocabulary and HTTPS fundamentals. If you are familiar, you can skip over these sections.

OpenShift, pods, services, routes, and S2I

OpenShift is a Kubernetes-based open-source container application platform. A Kubernetes pod is a set of containers that must be deployed on the same host. In most cases, a pod consists of a single container. When we run the same application in several pods, a service does the load balancing across those pods. A route makes a service accessible externally via a hostname.

Continue reading “Securing .NET Core on OpenShift using HTTPS”

Share
Modern Web Applications on OpenShift: Part 1 – Web apps in two commands

Modern Web Applications on OpenShift: Part 1 – Web apps in two commands

In this multi-part series, we will take a look at how to deploy modern web applications, like React and Angular apps, to Red Hat OpenShift using a new source-to-image (S2I) builder image.  Series overview:

  • Part 1 – how to deploy modern web apps using the fewest steps.
  • Part 2 – how to combine this new S2I image with a current HTTP server image, like NGINX, using an OpenShift chained build for a more production-ready deployment.
  • Part 3 – The last post will show how to run your app’s development server on OpenShift while syncing with your local file system.

Continue reading “Modern Web Applications on OpenShift: Part 1 – Web apps in two commands”

Share
Running Microsoft SQL Server on Red Hat OpenShift

Running Microsoft SQL Server on Red Hat OpenShift

In this blog post, we’ll set up Microsoft SQL Server on Red Hat OpenShift. We’ll use SQL Server to store data for a simple ASP.NET Core application running in a container deployed on OpenShift that manages a list of contacts. When we have that set up, we’ll use SQL Operation Studio to connect to the server running on OpenShift from our developer machine.

Continue reading “Running Microsoft SQL Server on Red Hat OpenShift”

Share
How to install Python 3 on Red Hat Enterprise Linux

How to install Python 3 on Red Hat Enterprise Linux

This article shows how to install Python 3, pip, venv, virtualenv, and pipenv on Red Hat Enterprise Linux 7. After following the steps in this article, you should be in a good position to follow many Python guides and tutorials using RHEL.

Using Python virtual environments is a best practice to isolate project-specific dependencies and create reproducible environments. Other tips and FAQs for working with Python and software collections on RHEL 7 are also covered.

There are a number of different ways to get Python 3 installed on RHEL. This article uses Red Hat Software Collections because these give you a current Python installation that is built and supported by Red Hat. During development, support might not seem that important to you. However, support is important to those who have to deploy and operate the applications you write. To understand why this is important, consider what happens when your application is in production and a critical security vulnerability in a core library (for example SSL/TLS) is discovered. This type of scenario is why many enterprises use Red Hat.

Python 3.6 is used in this article. It was the most recent, stable release when this was written. However, you should be able to use these instructions for any of the versions of Python in Red Hat Software Collections including 2.7, 3.4, 3.5, and future collections such as 3.7.

Continue reading “How to install Python 3 on Red Hat Enterprise Linux”

Share
Improving .NET Core Kestrel performance using a Linux-specific transport

Improving .NET Core Kestrel performance using a Linux-specific transport

ASP.NET Core is the web framework for .NET Core. Performance is a key feature. The stack is heavily optimized and continuously benchmarked. Kestrel is the name of the HTTP server. In this blog post, we’ll replace Kestrel’s networking layer with a Linux-specific implementation and benchmark it against the default out-of-the-box implementations. The TechEmpower web framework benchmarks are used to compare the network layer performance.

Continue reading “Improving .NET Core Kestrel performance using a Linux-specific transport”

Share